ACM ICPC 2018南京賽區網路預賽 Sum

2021-09-26 18:38:29 字數 905 閱讀 4859

題目鏈結

根據算術基本定理,猜想:f(a*b)=f(a)*f(b) ,a,b 互質

不妨假設

if  n 為質數 ,那麼f(n)=2

else if 存在 x>=3,那麼f(n)=0, 因為n分成兩份,有三個相同pi,必有兩個pi分到同一組

else  if 存在 x<=2 && x !=1,那麼f(n)=f(n/ a*a), 這兩個相同的pi 必須分到兩個組,那麼同時捨去這兩個對結果並無影響

else  if x=1, f(n)=2*f( n / a)

,因為當x=1 時,f(n/a) 的所有情況都可以加入a,且對於每一種情況,a都可以加入到左邊或右邊,

所以有2*f(n/a)種情況

所以只需找到n的最小素因子a,然後看a有幾次冪就可以

線性篩就可以

#include#includeusing namespace std;

const int maxn=2e7+4;

int pri[maxn];

int u[maxn];

long long f[maxn]=;

void is_prime()

else if(i%pri[j]==0)

else

f[num]=2*f[i];

} }}int main()

int a;

for(int i=1;i<=n;i++)

return 0;

}

ACM ICPC 2018 南京賽區網路預賽

e.ac challenge 題意 你有n個題要去做,你其實都會做但是要求是先做完某些題你才能做這道,每道題做後得分是第n次做題 a i b i 問你最後最大能得多少分 思路 第一開始去向網路流,但仔細想想他和時間還有關係,由於資料量只有20,果斷去想dp,我們用二進位制去存某些題做過沒有,dp i...

ACM ICPC 2018 南京賽區網路預賽

a 直接輸出n 1.include using namespace std typedef long long ll const ll maxn 1e5 5 ll n int main return 0 c 模擬,不過要重新定義數的大小關係,或者是吧1,2變成14,15,我就是選擇的後者,最後計算的...

ACM ICPC 2018 焦作賽區網路預賽

有t tt組樣例,接下來給出n nn艘船和m mm次詢問。接下來n行,每行給出 v i v i v i 和 c i c i c i 分別代表船的載重 和 船的數量有2c i 1 2 1 2c i 1只。然後給出m次詢問,問恰好裝q重量的貨物的 方案數 有多少 每艘船都要裝滿 多重揹包來解決,同時船的...