`
lilisalo
  • 浏览: 1109405 次
文章分类
社区版块
存档分类
最新评论

POJ 2356 抽屉原理

 
阅读更多

题目连接:http://poj.org/problem?id=2356

这个题题意很清楚了,最先开始做的时候完全没有思路,后来看到了很多人说用抽屉原理,于是到网上百度了一下,借鉴了一下别人的思路,发现确实可行,就自己敲了一下,由于一个细节WA了一次,改掉之后就AC了

简单说一下思路吧:首先是n个数,我们可以用一个数组s[n]来储存从a[1]到a[n]的和

然后我们可以对每一个s[n]进行如下操作:s[i]=s[i]%n

那么如果我们扫描到某一个s[i]==0于是就可以得到了一个解,即从1到i

接下来,如果s[i]的值没有一个==0那么根据Mod的原则可以知道s[i]的值必然在1——n-1之间

而且s[i]的个数为n,那么可以想象成把n个数放进n-1个盒子,那么至少有一个数会重复

那么这个这两个数相差就一定可以得到一个n的倍数

上代码:


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics