jzoj P1845 汕頭市選2014 約數

2021-08-02 03:48:50 字數 878 閱讀 2712

題解:

我們發現,這題有一點點規律我們可以用塞素數的方法做。

按順序,每次把沒被塞掉的i的倍數全部塞出來(包括i),並且有多少個就加上多少個i,因為這時i是除了1以外他們的最小約數。最後如果全部數都被塞完了,就不用做下去了。注意若i的某個倍數,之前已經被塞出去了,就不用累加i。

var

a:array [0..10000001] of boolean;

n,p,i,j:longint;

sum:int64;

begin

assign(input,'divisor.in'); reset(input);

assign(output,'divisor.out'); rewrite(output);

readln(n);

p:=n-1; sum:=0;

fillchar(a,sizeof(a),true);

i:=1;

while p>0

dobegin

inc(i);

if a[i] then

begin

for j:=1

to n div i do

if a[i*j] then

begin

a[i*j]:=false;

dec(p);

sum:=sum+i;

end;

end;

end;

writeln(sum);

close(input); close(output);

end.

汕頭市選 2014 舞伴

n 個男孩,n 個女孩,男孩和女孩可能是朋友,也可能不是朋友。現在要組成n 對舞伴,要求每對 伴都是一男一女,且他們是朋友。統計不同配對方案的數量,因為結果很大,所以只要求除以m 的餘數。對於50 的資料,n 9 對於100 的資料,1 n 20,1 m 10 9 0 aij 1。這題觀察資料不難發...

汕頭市選2014 舞伴 perm

n 個男孩,n 個女孩,男孩和女孩可能是朋友,也可能不是朋友。現在要組成n 對舞伴,要求每對舞 伴都是一男一女,且他們是朋友。統計不同配對方案的數量,因為結果很大,所以只要求除以m 的餘數。第1 行,2 個整數n,m。接下來n 行,每行n 個整數aij,表示第i 個男孩和第j 個女孩的關係。如果他們...

JZOJ 3632 汕頭市選2014 舞伴

n 個男孩,n 個女孩,男孩和女孩可能是朋友,也可能不是朋友。現在要組成n 對舞伴,要求每對舞 伴都是一男一女,且他們是朋友。統計不同配對方案的數量,因為結果很大,所以只要求除以m 的餘數。第1 行,2 個整數n,m。接下來n 行,每行n 個整數aij,表示第i 個男孩和第j 個女孩的關係。如果他們...