电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

Noip2013提高组解题报告VIP免费

Noip2013提高组解题报告_第1页
1/21
Noip2013提高组解题报告_第2页
2/21
Noip2013提高组解题报告_第3页
3/21
Noip 2013 提高组解题报告--By GreenCloudSDay 1:第一题:转圈游戏(快速幂)根据题目,答案明显是(x+10^km) mod n,化简一下,就成了(x + m (10^k mod n) modn) mod n,所以,只需要求出10^k mod n 即可,可以使用快速幂来求解,复杂度O(logk)。(另一个算法,设 f(i)=10^i mod n,则 f(i)=f(i-1)*10 mod n,然后求出f(i)的循环节,复杂度O(n))代码(C++):#include #include int k;long long ans;int n,m,x;long long Exp(int y){if(!y)return 1;if(y==1)return 10%n;if(y&1){return(((Exp(y>>1)*Exp(y>>1))%n)*10)%n;}else return(Exp(y>>1)*Exp(y>>1))%n;}int main(){scanf("%d%d%d%d",&n,&m,&k,&x);ans=Exp(k);ans*=m;ans%=n;ans+=x;ans%=n;printf("%lld",ans);return 0;}第二题:火柴排队(贪心+逆序对)对距离公式化简得:∑(ai-bi)^2=∑(ai^2-2aibi+bi^2)=∑ai^2+∑bi^2-2∑aibi 要求∑(ai-bi)^2 最小,就只需要∑aibi 最大即可。这里有个贪心,当 a1b,c>d,且 ac+bdb 矛盾,所以若a>b,c>d,则 ac+bd>ad+bc将此式子进行推广:当 a1#include#includeusing namespace std;#define MAXN 100010#define lowbit(x)(((~(x))+1)&x)#define MAX 99999997struct saver{int v,t;};saver a[MAXN],b[MAXN];bool cmp(saver x,save...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

Noip2013提高组解题报告

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部