【模板】線性求逆元(洛谷P3367)
Description
給定\(n\),\(p\)求\(1~n\)中所有整數在模\(p\)意義下的乘法逆元。
Input
一行\(n\),\(p\)
Output
\(n\)行,第\(i\)行表示\(i\)在模\(p\)意義下的逆元。
Solution
#include<cstdio> #include<algorithm> #include<cstring> using namespace std; int n,p,inv[30000000]; int main() { scanf("%d%d",&n,&p); inv[1]=1; for (int i=2;i<=n;i++) inv[i]=1LL*(p-p/i)*inv[p%i]%p; for (int i=1;i<=n;i++) printf("%d\n",inv[i]); return 0; }
相關推薦
【模板】線性求逆元(洛谷P3367)
Description 給定\(n\),\(p\)求\(1~n\)中所有整數在模\(p\)意義下的乘法逆元。 Input 一行\(n\),\(p\) Output \(n\)行,第\(i\)行表示\(i\)在模\(p\)意義下的逆元。 Solution #include<c
【learning】 多項式求逆元詳解+模板
n) 意義 詳解 需要 一個 求逆 ont time 前置 概述 多項式求逆元是一個非常重要的知識點,許多多項式操作都需要用到該算法,包括多項式取模,除法,開跟,求ln,求exp,快速冪。用快速傅裏葉變換和倍增法可以在$O(n log n)$的時間復雜度下求出一個$n$次
洛谷P4238 【模板】多項式求逆(NTT)
tdi stdout style show include main -a 沒有 如果 傳送門 學習了一下大佬的->這裏 已知多項式$A(x)$,若存在$A(x)B(x)\equiv 1\pmod{x^n}$ 則稱$B(x)$為$A(x)$在模$x^n$下
LUOGU P4783 【模板】矩陣求逆(高斯消元)
line org git == clu fas 解題思路 reg 操作 傳送門 解題思路 用高斯消元對矩陣求逆,設\(A*B=C\),\(C\)為單位矩陣,則\(B\)為\(A\)的逆矩陣。做法是把\(B\)先設成單位矩陣,然後對\(A\)做高斯消元的過程,對\(B\)
P4783 【模板】矩陣求逆
傳送門 線性代數真的好珂怕……以下如果有漏洞歡迎指出 定義矩陣的三種初等行變換: 1.交換某兩行 2.將某一行的所有元素乘上\(k\)(\(k\neq 0\)) 3.將某一行的所有元素乘上\(k\)加到另一行去 每一個初等變換都對應一個初等矩陣,即矩陣\(A\)做某一線性變換等價於用一個對應的初等
洛谷 4238 【模板】多項式求逆
題目:https://www.luogu.org/problemnew/show/P4238 方法:https://www.cnblogs.com/TimelyRain/p/10010233.html https://www.cnblogs.com/xiefengze1/p/9107752.html
洛谷 P4783 【模板】矩陣求逆
題目分析 模板題。 #include <bits/stdc++.h> using namespace std; typedef long long ll; const int mod=1e9+7; int n,a[405][405],b[405][405]; int Pow(int x,int
2018.12.30 洛谷P4238 【模板】多項式求逆
傳送門 多項式求逆模板題。 簡單講講? 多項式求逆 定義: 對於一個多項式 A (
洛谷 P3380 【模板】二逼平衡樹(樹套樹)
span r+ namespace chan 優先級 efi 當前 name cst 洛谷 P3380 【模板】二逼平衡樹(樹套樹) 線段樹套treap: 就是線段樹每個節點放一個treap。建樹復雜度應該是$n log n$,操作1,3,4,5的復雜度是$(log n
luogu3380 【模板】二逼平衡樹(樹套樹)
scanf main pan gtd node body pre turn rotate #include <iostream> #include <cstdlib> #include <cstdio> #include <ctim
洛谷 P3810 【模板】三維偏序(陌上花開) (cdq分治模板)
三維 答案 就是 mes esp while lowbit -- cst 在solve(L,R)中,需要先分治solve兩個子區間,再計算左邊區間修改對右邊區間詢問的貢獻。 註意,計算額外的貢獻時,兩子區間各自內部的順序變得不再重要(不管怎麽樣左邊區間的都發生在右邊之前)
洛谷 P3380 bzoj3196 Tyvj1730 【模板】二逼平衡樹(樹套樹)
結果 數值 namespace del sca first || add int 【模板】二逼平衡樹(樹套樹) 題目描述 您需要寫一種數據結構(可參考題目標題),來維護一個有序數列,其中需要提供以下操作: 查詢k在區間內的排名 查詢區間內排名為k的值 修改某一位值上的數值
P3810 【模板】三維偏序(陌上花開)
模板題 eset ans turn res vid ios 一道 模板 題目背景 這是一道模板題 可以使用bitset,CDQ分治,K-DTree等方式解決。 題目描述 有 nn 個元素,第 ii 個元素有 a_iai?、b_ibi?、c_ici? 三個屬性,設 f(i)f
【模板】並查集(洛谷P3367)
Description 如題,現在有一個並查集,你需要完成合並和查詢操作。 Input 第一行包含兩個整數\(N\)、\(M\),表示共有\(N\)個元素和\(M\)個操作。 接下來M行,每行包含三個整數\(opt\)、\(a\)、\(b\) 當\(opt=1\)時,將\(a\)與\(b
luogu【模板】三維偏序(陌上花開)
嘟嘟嘟 很顯然我開始學\(CDQ\)分治了。 我剛開始學的時候看了一篇部落格,上面全是一些抽象的概念,看完後真是一頭霧水,最後還不得不抄了這題的程式碼。 但這樣可不行呀…… 於是我就不打算再扣那篇部落格,而是自己想,最後真的自己想明白了。 (個人感覺這道題跟\(CDQ\)分治關係不大) 首先想一下二維偏序
P3380 【模板】二逼平衡樹(樹套樹)
思路 若opt=1 則為操作1,之後有三個數l,r,k 表示查詢k在區間[l,r]的排名 若opt=2 則為操作2,之後有三個數l,r,k 表示查詢區間[l,r]內排名為k的數 若opt=3 則為操作3,之後有兩個數pos,k 表示將pos位置的數修改為k 若opt=4 則為操作4,之後有三個數l,r,k
P3810 【模板】三維偏序(陌上花開)(cdq分治)
思路 看到這種偏序類的題目,而且不要求強制線上,可以立刻想到cdq分治 注意這題有一個問題,就是詢問的是小於等於而不是小於,如果相等的話兩個元素會相互貢獻,而cdq的特點是右區間不能對左邊有影響,所以要先去重,再然後就是板子 程式碼 #include <cstdio> #include &
【模板】二逼平衡樹(樹套樹)
upd 平衡樹 string erase tro -s rom cst mit 題面 題解 過年的假期裏肯定要用硬核數據結構打發時間啊 所以我大膽嘗試,用了一種速度不能算最快但是碼量絕對是很大的一種方法 居然控制在了6KB以內 線段樹套紅黑樹(逃 這是一次前所未有的嘗試 因
P3810 【模板】三維偏序(陌上花開)cdq分治
debug syn ffffff struct ++ 技術分享 歸並 set string 傳送門:https://www.luogu.org/problemnew/show/P3810 cdq分治的模板題,第一層外部排序,第二層cdq歸並排序,這個時候不用考慮第一次的
【模板】線性基(洛谷P3812)
size for 最大 個數 cstring 異或 namespace 元素 線性 Description 給定\(n\)個整數(數字可能重復),求在這些數中選取任意個,使得他們的異或和最大。 Input 第一行一個數\(n\),表示元素個數 接下來一行\(n\