博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Codeforces Round #195 (Div. 2) 解题报告
阅读量:6154 次
发布时间:2019-06-21

本文共 5259 字,大约阅读时间需要 17 分钟。

problem A. Vasily the Bear and Triangle

题目:

思路:水题,,虽然没大看懂什么意思,但随便写了写就过了。。。。

1 #include 
2 #include
3 #include
4 #include
5 using namespace std; 6 7 int main() 8 { 9 int x,y;10 scanf("%d%d",&x,&y);11 int ax,ay;12 ax=x;13 if(x<0)14 ax=-x;15 ay=y;16 if(y<0)17 ay=-y;18 int s=ax+ay;19 if(x<0)20 {21 if(y<0)22 printf("%d 0 0 %d\n",-s,-s);23 else24 {25 printf("%d 0 0 %d\n",-s,s);26 }27 }28 else29 {30 if(y<0)31 printf("0 %d %d 0\n",-s,s);32 else33 {34 printf("0 %d %d 0\n",s,s);35 }36 }37 return 0;38 }
View Code

 

problem B. Vasily the Bear and Fly

题目:

思路:从1~m号圆圆心分别到m+1~2m号圆圆心的最短距离的平均值

 

        计算竖列相差i个圆  计算次数   每次距离

        i=0                        m          2R

        i=1                       2m-2      2R+sqrt(2)*R

        i>=2                     2m-2i      2*i-2+sqrt(8)*R

        次数乘距离相加除以m*m即可

1 #include 
2 #include
3 #include
4 #include
5 using namespace std; 6 int main() 7 { 8 int m,r; 9 scanf("%d%d",&m,&r);10 double dm=m;11 double dr=r;12 double sum;13 int i;14 double p=sqrt(2.0)*dr;15 double pp=sqrt(8.0)*dr;16 sum=dm*2*dr;17 for(i=1; i
View Code

 

problem C. Vasily the Bear and Sequence

题目:

思路:从大到小枚举v,若data[j]&1<<i!=0,,,则证明满足条件  否则不行,,,得到的sum若能整除1<<i,,,则找到。。。

1 #include 
2 #include
3 #include
4 using namespace std; 5 const int maxn=100010; 6 int data[maxn]; 7 int main() 8 { 9 int n;10 while(scanf("%d",&n)!=EOF)11 {12 int i,j;13 for(i=1; i<=n; i++)14 {15 scanf("%d",&data[i]);16 }17 int sum;18 int num;19 for(i=29; i>=0; i--)20 {21 int m=1<
View Code

 

problem D. Vasily the Bear and Beautiful Strings

题目:

思路:g值=string

         0  =1__(指第一位只要为1,后面随便排列最后即可得到g值为0,(下同))

         1  =01__ 

    0  =001__

         1   =0001__

         ......=........

         即可发现规律,,,,注意1的个数只有1的时候需要特判

1 #include 
2 #include
3 #include
4 #include
5 using namespace std; 6 #define LL __int64 7 const int maxn=100010; 8 const int mod=1000000007; 9 int n0,n1,g; 10 LL fac[maxn*2]; 11 void init()//处理i的阶乘 12 { 13 int i; 14 fac[1]=1; 15 for(i=2; i<=maxn*2-5; i++) 16 { 17 fac[i]=i*fac[i-1]; 18 fac[i]%=mod; 19 } 20 } 21 //求p^n 22 LL poow(LL p,LL n) 23 { 24 LL sp=1; 25 while(n>0) 26 { 27 if(n%2==1) 28 sp=sp*p%mod; 29 n/=2; 30 p=p*p%mod; 31 } 32 return sp; 33 } 34 //在a与mod互质的情况,根据费马小定理,求a的逆元 35 LL inv(LL a) 36 { 37 return poow(a,mod-2); 38 } 39 //求组合数 40 LL c(int n,int k) 41 { 42 LL res; 43 if(n==k) 44 return 1; 45 if(k==0) 46 return 1; 47 res=fac[n]*inv(fac[n-k]*fac[k]%mod); 48 res%=mod; 49 return res; 50 } 51 int main() 52 { 53 init(); 54 while(scanf("%d%d%d",&n0,&n1,&g)!=EOF) 55 { 56 int num1,num0; 57 int i; 58 LL ans=0; 59 if(n0==0) 60 { 61 if(n1==1) 62 { 63 if(g==0) 64 printf("0\n"); 65 else 66 printf("1\n"); 67 } 68 else 69 { 70 if(g==0) 71 printf("1\n"); 72 else 73 printf("0\n"); 74 } 75 continue; 76 } 77 if(n1==0) 78 { 79 if(n0%2==1) 80 { 81 if(g==0) 82 printf("1\n"); 83 else 84 printf("0\n"); 85 } 86 else 87 { 88 if(g==0) 89 printf("0\n"); 90 else 91 printf("1\n"); 92 } 93 continue; 94 } 95 if(g==0) 96 { 97 for(i=0; i<=n0; i+=2)//偶数个0加上1个1时候,后面随便排列 98 { 99 num1=1;100 num0=i;101 if(n0+n1-(num0+num1)>0)102 {103 ans+=c(n0+n1-(num0+num1),n0-num0);104 }105 ans%=mod;106 107 }108 if(n1==1)//特判1的个数为1的时候109 {110 if(n0%2==1)//当0的个数为奇数是才会最终成为0111 ans++;112 }113 }114 else115 {116 for(i=1; i<=n0; i+=2)//奇数个0加上1个1时候,后面随便排列117 {118 num1=1;119 num0=i;120 if(n0+n1-(num0+num1)>0)121 {122 ans+=c(n0+n1-(num0+num1),n0-num0);123 }124 ans%=mod;125 126 }127 if(n1==1)//特判1的个数为1的时候128 {129 if(n0%2==0)//当0的个数为偶数是才会最终成为1130 ans++;131 }132 }133 printf("%I64d\n",ans);134 }135 return 0;136 }
View Code

 

转载于:https://www.cnblogs.com/wanglin2011/p/3250733.html

你可能感兴趣的文章
Get到的优秀博客网址
查看>>
老男孩教育每日一题-第107天-简述你对***的理解,常见的有哪几种?
查看>>
Python学习--time
查看>>
在OSCHINA上的第一篇博文,以后好好学习吧
查看>>
Spring常用注解
查看>>
linux:yum和apt-get的区别
查看>>
Sentinel 1.5.0 正式发布,引入 Reactive 支持
查看>>
数据库之MySQL
查看>>
2019/1/15 批量删除数据库相关数据
查看>>
数据类型的一些方法
查看>>
Webpack 2 中一些常见的优化措施
查看>>
移动端响应式
查看>>
js中var、let、const的区别
查看>>
简洁优雅地实现夜间模式
查看>>
react学习总结
查看>>
在soapui上踩过的坑
查看>>
MySQL的字符集和字符编码笔记
查看>>
ntpd同步时间
查看>>
must implement java.io.Serializable hessian
查看>>
Microsoft Licenses Flash Lite for Windows Mobile Users
查看>>