輸入檔案的第一行輸入兩個正整數 。
如題5 6
240n,m<=10^15
題解:step 1:
這步還是很容易的吧~畢竟原來的式子不太舒服。但是注意,最後乙個式子的取值只能為0或1,所以就變成了。
step 2:
這步倒是難理解一些,但是考慮:我們將這三個等式都算出來,如果滿足了左邊那個條件,那麼這三個等式加起來為1,對答案的貢獻正好為$\varphi(k)$。否則,因為左邊的式子不是0就是1,那麼只能是0,這三個等式加起來對答案的貢獻也就是0。
step 3:這三個式子長得差不多,我們只考慮乙個
這步就顯得比較套路了。我們強行給那個底式賦予實際意義,然後就轉化成了簡單的尤拉函式性質應用。三個式子都算完後,你發現結果正好是nm。那麼最終的答案就是$\varphi(n)\varphi(m)nm$
#include #include #include using namespace std;typedef long long ll;
const ll mod=998244353;
typedef long long ll;
ll n,m;
ll phi(ll x)
} if(x!=1) ret=ret/x*(x-1);
return ret%mod;
}int main()
bzoj4173數學(尤拉函式)
倒數第二行的拓展 借用某群提問的乙個問題 對於d phi d 當d為k時,在左式,他出現在 i 為k,2k,3k.n k k 共出現n k次,在右式,他出現在 n i 為n 1,n 2.n n k 共出現n k次,畫個 每行就是每個 i 對應1,2,3.floor n i i 從1 n畫出後就是乙個...
bzoj4173(尤拉函式)
資料大 10 15次方 公式複雜 不知道怎麼化簡 然後,感覺滿足打表找規律,發現sigema phi k k屬於s n,m n m。再求兩個phi就好,注意在括號裡面mod之後,需要在括號外面再mod一次,否則會wa。標準證明 總結1 很多的問題,通過小範圍資料打表,是非常便於幫助分析題目的性質的,...
4173 數學 尤拉函式 思路題
由於我太弱。所以看題解的時候有很多地方想了一會兒才明白。其實重點就是限定條件n k m k k化簡到這個式子 n m k n k m k 1的理解。首先化到 n m k n k m k 1是容易的,只要將取模換成整除然後同時除以k,如果沒有下取整,即n m k n k m k是顯然為0的,而如果帶上...