SDOI2008仪仗队

这题应该注意到与b2818的不同

一个点能被看见当且仅当它与(1,1)的横纵坐标的距离gcd为1

所以问题转化为x,y<=n-1,求gcd(x,y)=1的方案数

最后要加上2

代码:

 1 var i,n,tot:longint;
 2     ans:int64;
 3     phi:array[0..50000] of int64;
 4     p:array[0..50000] of longint;
 5 procedure get;
 6  var i,j:longint;
 7    begin
 8      fillchar(phi,sizeof(phi),0);
 9      tot:=0;
10      phi[1]:=0;
11      for i:=2 to n do
12       if phi[i]=0 then
13        begin
14          phi[i]:=i-1;inc(tot);p[tot]:=i;
15          j:=i+i;
16          while j<=n do
17            begin
18              if phi[j]=0 then phi[j]:=j;
19              phi[j]:=(phi[j] div i)*(i-1);
20              inc(j,i);
21            end;
22        end;
23    end;
24 procedure main;
25  begin
26    readln(n);dec(n);
27    get;
28    for i:=2 to n do inc(phi[i],phi[i-1]);
29    writeln(2*phi[n]+3);
30  end;
31 begin
32   main;
33 end.
34               

SDOI2008仪仗队,布布扣,bubuko.com

时间: 2024-10-03 22:25:09

SDOI2008仪仗队的相关文章

bzoj2190 [SDOI2008]仪仗队

2190: [SDOI2008]仪仗队 Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 3353  Solved: 2168[Submit][Status][Discuss] Description 作为体育委员,C君负责这次运动会仪仗队的训练.仪仗队是由学生组成的N * N的方阵,为了保证队伍在行进中整齐划一,C君会跟在仪仗队的左后方,根据其视线所及的学生人数来判断队伍是否整齐(如下图).    现在,C君希望你告诉他队伍整齐时能看到的学生人数.

bzoj 2190: [SDOI2008]仪仗队.

2190: [SDOI2008]仪仗队 Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 3240  Solved: 2092[Submit][Status][Discuss] Description 作为体育委员,C君负责这次运动会仪仗队的训练.仪仗队是由学生组成的N * N的方阵,为了保证队伍在行进中整齐划一,C君会跟在仪仗队的左后方,根据其视线所及的学生人数来判断队伍是否整齐(如下图).现在,C君希望你告诉他队伍整齐时能看到的学生人数. Inp

bzoj2190 [SDOI2008]仪仗队(欧拉函数)

2190: [SDOI2008]仪仗队 Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 3203  Solved: 2062[Submit][Status][Discuss] Description 作为体育委员,C君负责这次运动会仪仗队的训练.仪仗队是由学生组成的N * N的方阵,为了保证队伍在行进中整齐划一,C君会跟在仪仗队的左后方,根据其视线所及的学生人数来判断队伍是否整齐(如下图).    现在,C君希望你告诉他队伍整齐时能看到的学生人数.

欧拉函数 BZOJ2190 [SDOI2008] 仪仗队

2190: [SDOI2008]仪仗队 Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 3165  Solved: 2036[Submit][Status][Discuss] Description 作为体育委员,C君负责这次运动会仪仗队的训练.仪仗队是由学生组成的N * N的方阵,为了保证队伍在行进中整齐划一,C君会跟在仪仗队的左后方,根据其视线所及的学生人数来判断队伍是否整齐(如下图). 现在,C君希望你告诉他队伍整齐时能看到的学生人数. In

2190: [SDOI2008]仪仗队(欧拉函数)

2190: [SDOI2008]仪仗队 Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 3235  Solved: 2089 Description 作为体育委员,C君负责这次运动会仪仗队的训练.仪仗队是由学生组成的N * N的方阵,为了保证队伍在行进中整齐划一,C君会跟在仪仗队的左后方,根据其视线所及的学生人数来判断队伍是否整齐(如下图).    现在,C君希望你告诉他队伍整齐时能看到的学生人数. Input 共一个数N. Output 共一个数

BZOJ 2190: [SDOI2008]仪仗队( 欧拉函数 )

假设C君为(0, 0), 则右上方为(n - 1, n - 1). 一个点(x, y) 能被看到的前提是gcd(x, y) = 1, 所以 answer = ∑ phi(i) * 2 + 2 - 1 = ∑phi(i) * 2 + 1 ( 1 <= i < n ). +2是因为(1, 0), (0, 1) 两个点, -1是因为(1, 1)重复计算了 -------------------------------------------------------------------------

2190: [SDOI2008]仪仗队

2190: [SDOI2008]仪仗队 Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 3609  Solved: 2354[Submit][Status][Discuss] Description 作为体育委员,C君负责这次运动会仪仗队的训练.仪仗队是由学生组成的N * N的方阵,为了保证队伍在行进中整齐划一,C君会跟在仪仗队的左后方,根据其视线所及的学生人数来判断队伍是否整齐(如下图).    现在,C君希望你告诉他队伍整齐时能看到的学生人数.

[BZOJ 2190][SDOI2008]仪仗队(欧拉函数)

Description 作为体育委员,C君负责这次运动会仪仗队的训练.仪仗队是由学生组成的N * N的方阵,为了保证队伍在行进中整齐划一,C君会跟在仪仗队的左后方,根据其视线所及的学生人数来判断队伍是否整齐(如下图).现在,C君希望你告诉他队伍整齐时能看到的学生人数. Solution 能被看到的只能是坐标(x,y)x与y互质的学生 观察可以发现1到n-1欧拉phi函数的和*2+1即答案 #include<iostream> #include<cstdio> #include<

素数筛&amp;&amp;欧拉筛 BZOJ2818 Gcd BZOJ2190 [SDOI2008]仪仗队

折腾了一晚上很水的数论,整个人都萌萌哒 主要看了欧拉筛和素数筛的O(n)的算法 这个比那个一长串英文名的算法的优势在于没有多次计算一个数,也就是说一个数只筛了一次,主要是在%==0之后跳出实现的,具体的解释看的迷迷糊糊,特别是欧拉函数的求解 http://blog.csdn.net/lerenceray/article/details/12420725 代码如下 1 void ES(){ 2 for(int i=2;i<n;i++){ 3 if (!pd[i]){ 4 prime[++top]=