第四届acm F题(Alice and Bob)(巧用二进制)
来源:互联网 发布:苏打饼干 知乎 编辑:程序博客网 时间:2024/06/02 04:39
题目连接:http://acm.upc.edu.cn/problem.php?cid=1109&pid=5
大意是 给你一个这样(a0*x^(2^0)+1) * (a1 * x^(2^1)+1)*.......*(an-1 * x^(2^(n-1))+1)多项式,每个多项式的系数a由用户输入,项数n也是由用户输入,接下来输入一个q,下面有q行个p,表示x^p的,请你输出x^p的系数mod 2012
首先这个不要直接展开多项式,复杂度为2^n,会超时,并且也没法保存。
系数P是由Ai*x^(2^i)+1中的2^i组成,可以把P看成2进制的数,P对应二进制中1的位置表示ai这个位置要被用,这样才能组成这个P
同时,这里要判断P这个数的二进制的位数是否超过了n,如果i>=n是,ans=0
#include<stdio.h>#include<string.h>#define mod 2012int main(){ long long p; int a[55],n,i,q; int t; int flag; int ans; scanf("%d",&t); while(t--) { memset(a,0,sizeof(0)); scanf("%d",&n); for(i=0;i<n;i++) scanf("%d",&a[i]); scanf("%d",&q); while(q--) { ans=1;i=0; flag=1; scanf("%lld",&p); while(p) { if(i>=n) { ans=0;break; } if(p%2==1) { ans*=a[i]; ans%=mod; } i++; p/=2; } printf("%d\n",ans); } } return 0;}
0 0
- 第四届acm F题(Alice and Bob)(巧用二进制)
- 2013年山东省第四届ACM大学生程序设计竞赛-Alice and Bob (找规律+二进制)
- 山东省第四届ACM大学生程序设计竞赛-Alice and Bob(二进制&&找规律)
- 山东省第四届ACM省赛题——Alice and Bob(二进制)
- 第四届 山东省ACM Alice and Bob
- 山东省ACM竞赛(2013)---Alice and Bob(二进制)
- Alice and Bob(山东省第四届ACM大学生程序设计竞赛 )
- 第四届 Alice and Bob
- 2013山东省第四届ACM省赛 Alice and Bob
- 山东省第四届ACM大学生程序设计竞赛 Alice and Bob
- F:Alice and Bob
- Sicily 1732 Alice and Bob (二进制数的最大公约数)
- Alice and Bob (2013山东省赛)-二进制拆分组合
- F. Alice and Bob Again
- Alice and Bob(长春)
- SDUT2608(Alice and Bob)
- Alice and Bob(博弈)
- [2013山东省第四届ACM大学生程序设计竞赛]——Alice and Bob
- 37. PHP 字符串运算符
- 自定义View之onMeasure()
- hdu 1421 搬寝室 dp 类似背包
- 2015-第5周项目1-体验常成员函数
- Git学习笔记(六) Git检出
- 第四届acm F题(Alice and Bob)(巧用二进制)
- Struts2之OGNL表达式语言
- Git学习笔记(七) 恢复进度
- effective c++ 笔记 (18-22)
- 每日一得--数字证书
- 终于懂得孤独是躲不开的单行道
- Git学习笔记(八) Git基本操作
- windows程序设计 GDI简介
- OC学习之道:关于数组的集中经典遍历方法