洛谷P2158 儀仗隊

2021-07-26 12:39:15 字數 964 閱讀 5631

作為體育委員,c君負責這次運動會儀仗隊的訓練。儀仗隊是由學生組成的n * n的方陣,為了保證隊伍在行進中整齊劃一,c君會跟在儀仗隊的左後方,根據其視線所及的學生人數來判斷隊伍是否整齊(如下圖)。 現在,c君希望你告訴他隊伍整齊時能看到的學生人數。

輸入格式:

共乙個數n

輸出格式:

共乙個數,即c君應看到的學生人數。

輸入樣例#1:

4
輸出樣例#1:

9
【資料規模和約定】

對於 100% 的資料,1 ≤ n ≤ 40000

分析:看圖我們可以發現,每個能看見的點都是橫縱座標互質,所以我們只要列舉橫座標的值x,然後用尤拉函式算出小於等於x且與x互質的數y的個數即可,最後由於x一定大於等於y所以還要把ans*2,然後加上三個特殊點(0,1),(1,0),(1,1)。

時間複雜度:o(n logn)

**

varn,i,j,k,ans:longint;

p:real;

begin

readln(n);

for i:=2 to n-1 do

begin

p:=i;k:=i;

for j:=2 to trunc(sqrt(i)) do

begin

if k mod j=0 then p:=p*(1-1/j);

while k mod j=0 do

k:=k div j;

end;

if k<>1 then p:=p*(1-1/k);

ans:=ans+trunc(p);

end;

writeln(ans*2+3);

end.

尤拉篩,線性篩,洛谷P2158儀仗隊

題目 首先我們先把題目分析一下。emmmm,這應該是乙個找規律,應該可以打表,然後我們再分析一下,發現如果這個點可以被看到,那它的橫座標和縱座標應該互質,而互質的條件就是它的橫座標和縱座標的最大公約數為一,那這題的意思就變成了,在乙個n n的方格內尋找所有點的橫座標和縱座標互質的點的個數。但是這樣複...

洛谷 P2158 SDOI2008 儀仗隊

題目描述 作為體育委員,c君負責這次運動會儀仗隊的訓練。儀仗隊是由學生組成的n n的方陣,為了保證隊伍在行進中整齊劃一,c君會跟在儀仗隊的左後方,根據其視線所及的學生人數來判斷隊伍是否整齊 如下圖 現在,c君希望你告訴他隊伍整齊時能看到的學生人數。輸入輸出格式 輸入格式 共乙個數n 輸出格式 共乙個...

洛谷 P2158 SDOI2008 儀仗隊

題目描述 作為體育委員,c君負責這次運動會儀仗隊的訓練。儀仗隊是由學生組成的n n的方陣,為了保證隊伍在行進中整齊劃一,c君會跟在儀仗隊的左後方,根據其視線所及的學生人數來判斷隊伍是否整齊 如下圖 現在,c君希望你告訴他隊伍整齊時能看到的學生人數。輸入輸出格式 輸入格式 共乙個數n 輸出格式 共乙個...