HDU 4335 What is N 簡單數論

2021-12-29 16:39:26 字數 568 閱讀 3751

此題就是考察了乙個簡單的公式

a^x % c = a^(x % phi(c) + phi(c))  %c  其中x>= phi(c)

phi(c)為尤拉函式

注意  尤拉函式的定義為 不超過n且與n互素的正整數的個數 而不是小於n

並且phi(1) =1

然後對於本題  分成三部分

第一部分  n! < phi(c)  這時就需要直接計算n! ,好在phi(c)不會很大。

第二部分 n! >= phi(c) 但是 n! % phi(c) != 0   這一部分同樣需要暴力計算,不過可以進行取模運算了,不會出現非常大的數

第三部分n! >= phi(c) 並且n! % phi(c) == 0  這一部分就轉化為了  n^phi(c) % c    然後就變成了(n % c) ^ phi(c) % c   那麼就成了乙個長度為c的迴圈節了

最後 需要特別注意的是,題目給的範圍很大,需要用ull, 並且答案有可能會超過ull,因為當 c=1,b=0時,0到2^64-1都是符合條件的,所以需要特判

**不再給出,也不是很難寫

作者:sdj222555

hdu4335 降冪公式 模迴圈節

大意找出多少個n滿足下式 範圍如此之大啊。結果做法是暴力,囧。要用到乙個降冪公式 注意括號裡的條件,那麼當n比較小的時候,就不能用這個了,n比較小,肯定是暴力嘛。那麼第乙個階段便是當n比較小,n 小於phi p 直接暴力求解。當n 大於phi p 的時候,便 可以用上面的降冪公式。還得繼續暴力,發現...

HDU4335 尤拉函式及降冪

求滿足 n equiv b mod p 的n的數量。思路 n!太大了,這一題要用到降冪公式 所以可以把n的取值分為三部分。1 n phi c 這部分直接暴力 2 當n phi c 0時,n 1 phi c 0,這時公式可化為求a phi c 所以第二部分是n phi c 0時,也是暴力。3 最後一部...

HDU4585 Shaolin Map容器簡單應用

題目大意 說少林寺乙個乙個來 每次來乙個要找乙個實力最相近的人和他打一場,輸出每次比賽的人,先輸出新來的,後輸出功力最相近的,如果有兩個人一樣相近,就取功力比較低的那位 so sweeeeeet 思路 其實就是乙個排序查詢 插入維護的問題,但是資料比較大,一看就知道要用log的時間去查詢和維護,於是...