hdu 4861 Couple doubi(数论)

hdu 4861 Couple doubi(数论)

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

题目链接:hdu 4861 Couple doubi

题目大意:两个人进行游戏,桌上有k个球,第i个球的值为1i+2i++(p1)i%p,两个人轮流取,假设DouBiNan的值大的话就输出YES,否则输出NO。

解题思路:
首先是DouBiNan先取,所以肯定优先选取剩余中值最大的,于是不存在说DouBiNan值小的情况,仅仅有大于和小于。
然后,对于val(i)=1i+2i++(p1)i%p来说,仅仅有当i=ϕ(p)=p1p时,val(i)=p1,其它情况下val(i)=0,那么仅仅要确定说有多少个i是非0的就可以,假设是偶数则输出NO,奇数输出YES。

证明,如果p有原根g,那么1i,2i,,(p1)i即是g1i,g2i,,g(p1)i的一个排序,由于对于gk来说,k从1到p-1,gk均不同样,而且为1到p-1。
于是val(i)=gi(1gi(p1))1gi
依据费马小定理,gi(p1)%p=1
所以有val(i)=gi(11)1gi=0

  1. p为质数,所以一定有原根
  2. 原根,即gi%pgj%p(iji,j<p)
#include <cstdio>
#include <cstring>
#include <iostream>

using namespace std;
typedef long long ll;
ll k, p;

int main () {
    while (cin >> k >> p) {
        ll t = k / (p-1);    
        if (t&1)
            cout << "YES" << endl;
        else
            cout << "NO" << endl;
    }
    return 0;
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/118365.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 访问香港最快的DNS(2019香港最快dns)

    如果你还不知道DNS是干什么的,不妨看看下面这段文字:[alert]DNS(DomainNameSystem,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53…

    2022年4月13日
    168
  • QT QStringList 用法

    QT QStringList 用法QTQStringList用法

    2022年6月3日
    121
  • 半年从转行软件测试到产品经理

    背景介绍本人一个普通二本,浪费了四年时间,毕业年龄就比同学大几岁,输在起跑线上,最可悲的是第一份工作也是随大流,完全放弃了自己的专业,什么东西也没学到,关键这一呆就是三年,浑浑噩噩过日子,根本不清楚自己的方向在哪里,想要什么样的生活!刚毕业自己就背负房贷,一个月3000多的工资,过的就是中国最底层的生活,就这样我忍耐了三年,女朋友作为其他公司的HR实在看不下自己的生活方

    2022年4月14日
    42
  • 使用PowerShell 监控运行时间和连接情况

    使用PowerShell 监控运行时间和连接情况

    2021年11月28日
    53
  • win10 命令行 关机(如何用命令提示符重启电脑)

    参考:电脑怎么用命令行关机、windows系统使用cmd命令关机电脑卡了,点不了关机的按钮,又不想强制关机,就用了命令行,好用!!!步骤:1)使用“windows+R”打开运行会话框,输入“cmd”,点击确定进入命令行。2)直接在命令行输入:shutdown/p,然后回车,就会立即关机,完事!太方便了!注:以下来自参考文章windows关机命令为shutdown,不过直接输入shutdown无法关机,需要接参数-s,执行后,电脑将会在1分钟后关机。…

    2022年4月18日
    319
  • sql server 字符串转日期_sql server 字符串替换

    sql server 字符串转日期_sql server 字符串替换提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档sqlserver字符串转为日期时间格式使用步骤1.引入库2.读入数据总结使用步骤1.引入库代码如下(示例):importnumpyasnpimportpandasaspdimportmatplotlib.pyplotaspltimportseabornassnsimportwarningswarnings.filterwarnings(‘ignore’)importsslssl._c

    2022年10月8日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号