【簡單數論題】【BZOJ2219】數論之神
Description
- 求 xN≡A(modP) 在模 P 意義下的解的數量,P 是奇數。
- N,A,P≤109。
Solution
- 神仙數論題。
- 我們知道,直接對這個方程求解有一定的困難。
- 我們設 P=∏i=1cpiki,pi 是質數。
- 根據中國剩餘定理,原方程解的數量即所有方程 xN≡A
- 現在的問題即求形如 xN≡a(modpk) 的方程在模 pk 意義下的解的數量。
- 我們分類討論一下。
1. 當 (a,pk)=a 時
- 可以知道原方程等價於 pk∣xN。
- 即 xN 至少含有 k 個質因子 p。
- 所以 p⌈Nk⌉∣x。
- 所以在 [0,pk) 中,x 共有 p⌈Nk⌉pk=pk−⌈Nk⌉ 個。
- 該方程解即有 pk−⌈Nk⌉ 個。
2. 當 (a,pk)=1 時
- 可以知道 x⊥p 且 x∈[0,pk)。
- 我們找到 pk 的一個原根 g。
- 所以存在 y=indgx,q=indga。
- 原方程等價於 yN≡q(modφ(pk))。
- 這是一個線性同餘方程。
- 當 (N,φ(pk))∤q 時,原方程無解。
- 否則根據線性同餘方程的性質,這個方程在 y∈[0,φ(pk)) 的條件下,就有 (N,φ(pk)) 個解。
- 我們簡單證明一下這個很常用的性質:
- 即證 ax≡b(modp) 若存在解,則有 (a,p) 個模 p 意義下的解。
- 證明:
- 我們假設得到一個特解 x0,通解表示為 x0+k⋅(a,p)p(k∈Z)。
- 我們定義函式 f(k)=x0+(a,p)p⋅k(k∈Z)。
- 即證 f(k)∈[0,p) 恰有 (a,p) 個整數解。
- 顯然 f(k) 單調遞增。
- 我們找到一個 k0 使得 f(k0)∈[0,(a,p)p)。
- 那麼有 f(k0+(a,p))∈[p,p+(a,p)p),且 f(k0+(a,p)−1)∈[p−(a,p)p,p)。
- 所以當 k∈[k0,k0+(a,p)) 時,滿足 f(k)∈[0,p),即不等式有 (a,p) 個整數解。
- 證畢。
3. 當 1<(a,pk)<a 時
- 原方程可以寫成 xN≡a′pt(modpk),(a′,p)=1。
- 當且僅當 N∣t,原方程有解。
- 寫成不定方程的形式,即 xN+pkz=a′pt。
- 兩邊同除 pt,得 (pNt
相關推薦
【簡單數論題】【BZOJ2219】數論之神
Description 求 xN≡A(modP)x^N\equiv A(mod~P)xN≡A(modP) 在模 PPP 意義下的解的數量,PPP 是奇數。 N,A,P≤109N,A,P\le 10^9N,A,P≤109。 Solution 神仙數論題。
Brief introduction to Java String Split 【簡單介紹下Java String Split】
a-z include cte eve class some sim string arr Split is a common function in Java. It split a full string to an array based on delimeter.
shell函數【參數傳遞及輸入輸出】&內置函數
無效 -s 常見 net 功能 出現 系統環境 osc 環境 Linux——shell腳本基礎3:shell函數【參數傳遞及輸入輸出】&內置函數 函數定義 1 退出狀態 1 參數傳遞 2 標準IO 2 腳本調試 2 AND&OR 3 內置命令補充 3
【Excle數據透透視表】如何刪除數據透視表
操作 ont 選中 技術分享 idt 技術 .cn let img 選中區域A4:C17,在鍵盤上按DELETE鍵刪除,結果提示:那麽如何刪除呢?解決方案選中整個數透視表,再刪除具體操作:選中整個數據透視表→DELETE註意:刪除之後,源數據不會受到影響【Excle數據透透
angularJS入門小Demo【簡單測試js程式碼的方法】
1、首先建立一個資料夾 demo, 2、在其中建立一個文字文件,改名為 demo-1.html, 3、把html中要引入的 js 檔案拷貝到 demo目錄下, 4、然後用 Notepadd++ 編輯剛才建立的檔案 demo-1.html <html> <head>
【BZOJ2301】problem b,數論之莫比烏斯反演
Time:2016.05.27 Author:xiaoyimi 轉載註明出處謝謝 傳送門 思路: ∑di=c∑bj=a[gcd(i,j)=k] =∑di=1∑bj=1[gcd(i,j)
CERC2017 F: Faulty Factorial 簡單數論題
分析:分為n==p, n>=2*p, 2*p>n>p , n<p 四種情況討論其中n==p使用到了威爾遜定理,且注意, n=p=2,無解情況不難想,看程式碼吧#include &
CERC2017 F: Faulty Factorial 簡單數論題
() clas 技術分享 pow amp lag mage img \n 1 #include <iostream> 2 using namespace std; 3 #define ll long long 4 co
Bzoj2219 數論之神
優化 rdquo open ace txt earch color 質因數 範圍 Time Limit: 3 Sec Memory Limit: 259 MBSubmit: 954 Solved: 268 Description 在ACM_DIY群中,有一位叫做
【簡單的留言本】用HTML新增的數據庫實現
【簡單的留言本】用html新增的數據庫實現 【簡單的留言本】用HTML新增的數據庫實現使用數據庫實現的WEB留言本 var datatable = null; var db = openDatabase(‘Mydata‘,‘‘,‘My Database‘,1024
【BZOJ3209】花神的數論題 數位DP
for led sof 又一 拆分 nbsp return 範圍 題目 【BZOJ3209】花神的數論題 Description 背景眾所周知,花神多年來憑借無邊的神力狂虐各大 OJ、OI、CF、TC …… 當然也包括 CH 啦。描述話說
BZOJ3209 花神的數論題 【組合數 + 按位計數】
spa using code 需要 cnblogs 來講 fin tdi pac 題目 背景 眾所周知,花神多年來憑借無邊的神力狂虐各大 OJ、OI、CF、TC …… 當然也包括 CH 啦。 描述 話說花神這天又來講課了。課後照例有超級難的神題啦…… 我等蒟蒻又遭殃了。 花
【簡單算法】19.數數並說
整數 else 其中 統計 一個數 輸出 AR 題目 新的 題目: 數序列是指一個整數序列,按照其中的整數的順序進行報數,得到下一個數。其前五項如下: 1. 1 2. 11 3. 21 4. 1211 5. 111221 1 被讀
mysqlbinlog來恢復mysql數據庫數據【簡單體驗】
img -- 數據庫 ont 接下來 mysq png nlog size 前言 僅限於菜鳥的一次簡單體驗。 前提:mysql已經開啟了binlog日誌功能。可以自行百度,推薦地址--------->windows下如何開啟mysql日誌功能 體驗目標:在數據庫表裏面
bzoj 3209: 花神的數論題【數位dp】
clas tail code 花神的數論題 turn a* names blog nsh 參考:https://blog.csdn.net/sunshinezff/article/details/51049132 非典型數位dp 首先預處理,設f[i][j]為以0開頭的i位
【2018ICPC南京網絡賽 A】An Olympian Math Problem(數論題)
for student number 數論 main num title mar ive Alice, a student of grade 6, is thinking about an Olympian Math problem, but she feels so de
BZOJ3209 || P4317 花神的數論題【數位DP】
Time Limit: 10 Sec Memory Limit: 128 MB Description 眾所周知,花神多年來憑藉無邊的神力狂虐各大 OJ、OI、CF、TC …… 當然也包括 CH 啦。
HDU2084 數塔【簡單DP】
數塔 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 60657 Accepted Submission(
【花神的數論題】
定義\(sum(i)\)表示\(i\)在二進位制下\(1\)的個數 求\(\prod_{i=1}^{n}sum(i)\) 暴力非常\(sb\)顯然可以隨便寫,但是顯然也是會\(T\) 於是我們換個思路 我們設\(tot\)表示\(sum(i)=x\)的\(i\)有多少個,於是答案就是\(x^{tot}
【LG4317】花神的數論題
【LG4317】花神的數論題 題面 洛谷 題解 設\(f_{i,up,tmp,d}\)表示當前在第\(i\)位,是否卡上界,有\(tmp\)個一,目標是幾個一的方案數 最後將所有\(d\)固定,套數位\(dp\)的板子 然後快速冪乘起來就好了 程式碼 #include <iostream>