题意:

给出k个球和质数p,对每个球以公式val(i)=1^i+2^i+...+(p-1)^i (mod p)计算出它的价值,然后两个人轮流拿,最后拿到的球的总价值大的获胜,问我们先手是否获胜。

我们分成两种情况讨论:

情形1:i%(p-1)==0,即i是(p-1)的倍数,由费马小定理 a^(p-1)=1(mod p),可以套入公式得该球价值为 p-1;

情形2:i不是(p-1)的倍数,这时要用到原根的性质,对于一个正整数g和质数p,若g为p的原根,可将1,2,3...p-1表示为g^1,g^2,g^3...g^(p-1),那么带入公式可得val(i)=1^i+2^i+...+(p-1)^i (mod p)=g^i+g^(2*i)+g^(3*i)+...+g^((p-1)*i),即可以用等比公式得到val(i)=(g^i * (g^i*(p-1) - 1)/(g^i-1),由于费马小定理可得,val(i)=0;

那么既然val(i)只在i为(p-1)的倍数时为1,最后只要统计k是(p-1)的倍数,判断为奇则输出“YES”,否则为“NO";

相关资料:

http://baike.baidu.com/link?url=dJ6_gXINuYRpcHkyHrJ_DmFY8BnVQioHG3IOjajxzwnEHncWUvue_uz8exyr44sKMeZRE0MgIhv-17kpZwO12q

http://baike.baidu.com/link?url=nLUeG8Lxckv9FceAt_ceDZIP1K_RLncVYaOlbtp3M-LpZJXMqNJDcHZ1iUA5XTe0NVAILGhpYfi_jPe6bf3FGa

http://baike.baidu.com/link?url=WtHCJTPisLPTKNL4vDtSa-fHkEXSRfetxA_T_xZZxzeqdEEqKTxvTxSyIzuZLW_1leWJrLWv5QmBmaARW2FJgK

推荐blog:

http://blog.csdn.net/keshuai19940722/article/details/38050899

http://blog.csdn.net/RaAlGhul/article/details/51882067

 #include<cstdio>

 int k,p;

 int main()
{
while(scanf("%d%d",&k,&p)==)
{
k/=(p-);
if(k&) puts("YES");
else puts("NO");
}
}

最新文章

  1. Hammer.js--转载自李林峰的园子
  2. vi和vim 的常用操作
  3. Unity加载模块深度解析(纹理篇)
  4. 查看IIS哪个应用程序池占用CPU过高
  5. uva 10994
  6. hdu 4722 Good Numbers(规律题)
  7. Maya+3dsMax三维建模
  8. LeetCode (13): 3Sum Closest
  9. [转]解决get方法传递URL参数中文乱码问题
  10. JS实现单选按钮回显时页面效果出现,但选中单选框的值为空
  11. T-SQL 中的CROSS JOIN用法(半翻译)
  12. selenium处理iframe定位于切换问题解决办法
  13. 三小时学会Kubernetes:容器编排详细指南
  14. Linux 开机启动 php socket
  15. hdu 1576 A/B 【扩展欧几里得】【逆元】
  16. 每天一个linux命令(8):scp使用
  17. yum和编译两种方式升级or降级Centos内核
  18. SpringBoot异步请求
  19. Linux命令:chown
  20. C++ 对象的定义

热门文章

  1. Intellij IDEA 创建消息驱动Bean - 接收JMS消息
  2. underscore.js 一个强大的js函数库
  3. epoll和poll效率差异
  4. python小问题记录:
  5. Difference between 2&gt;&amp;-, 2&gt;/dev/null, |&amp;, &amp;&gt;/dev/null and &gt;/dev/null 2&gt;&amp;1
  6. IIS修改队列长度(IIS6+IIS7)
  7. JavaScript学习笔记(备忘录)
  8. Oracle中HWM与数据库性能的探讨
  9. 【转】This version of the rendering library is more recent than your version of ADT plug-in. Please update ADT plug-in
  10. Github 终于开始认真考虑开源项目许可证了