bzoj
考慮答案是啥
先假設n=m
現在求的就是φ(
m!)
但是現在n!
是m! 的若干倍
我們知道 gc
d(x,
y)=g
cd(x
+ky,
y)所以,相當於 每隔m
! ,答案增長的值都是φ(
m!)
所以 我們可以得出 an
s=n!
m!φ(
m!)
後面的φ
可以直接拆開,列舉質因數 an
s=n!
m!⋅m
!∏pi
∏(pi
−1)
ans=
n!∏p
i∏(p
i−1)
其中,pi
<=m
所以,預處理n!
,質數的字首乘,還有質數−1
的字首乘
至於逆元就不要預處理了(慢的死)
要用的時候直接快速冪算一下
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace
std;
#define max 10000000
inline
int read()
int r;
int n,m;
bool zs[max+1];
int pri[max/10],tot,jc[max+1];
int inv[max+1],pinv[max/10],ppri[max/10];
int pos[max+1];
int fpow(int a,int b)
return s;
}void pre()
}pinv[0]=ppri[0]=1;
for(int i=1;i<=tot;++i)pinv[i]=1ll*pinv[i-1]*pri[i]%r;
for(int i=1;i<=tot;++i)ppri[i]=1ll*ppri[i-1]*(pri[i]-1)%r;
for(int i=1;i<=tot;++i)
for(int j=pri[i];j1];++j)
pos[j]=i;
}int query(int n,int m)
int main()
return
0;}
莎拉公主的困惑(bzoj 2186)
大富翁國因為通貨膨脹,以及假鈔氾濫,決定推出一項新的政策 現有鈔票編號範圍為1到n的階乘,但是,只發行編號與m 互質的鈔票。房地產第一大戶沙拉公主決定 一下大富翁國現在所有真鈔票的數量。現在,請你幫助沙拉公主解決這個問題,由於可能張數非常大,你只需計算出對r取模後的答案即可。r是乙個質數。第一行為兩...
尤拉函式 Bzoj P2186 沙拉公主的困惑
大富翁國因為通貨膨脹,以及假鈔氾濫,決定推出一項新的政策 現有鈔票編號範圍為1到n的階乘,但是,只發行編號與m 互質的鈔票。房地產第一大戶沙拉公主決定 一下大富翁國現在所有真鈔票的數量。現在,請你幫助沙拉公主解決這個問題,由於可能張數非常大,你只需計算出對r取模後的答案即可。r是乙個質數。1 inc...
Windows沙拉 找回消失的「休眠」
如下圖,在 開始 選單的 關機 子選單裡找不到休眠。我記著xp時代的時候好像是在 電源管理 那裡。不過沒有發現相關的設定項。查詢了下資料,很快就找到了解決辦法 在執行中輸入 或者在命令列下輸入 注意 執行這個命令需要管理員許可權。如果執行上面的命令後還沒有,這時候開啟 控制面板 硬體和聲音 電源選項...