码迷,mamicode.com
首页 > 其他好文 > 详细

SDOI2008仪仗队

时间:2014-06-22 23:22:03      阅读:295      评论:0      收藏:0      [点我收藏+]

标签:style   class   blog   code   http   tar   

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

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

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

最后要加上2

代码:

bubuko.com,布布扣
 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               
View Code

 

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

SDOI2008仪仗队

标签:style   class   blog   code   http   tar   

原文地址:http://www.cnblogs.com/zyfzyf/p/3800092.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!