【牛客 - 317D】小a与黄金街道(数论,tricks)

题干:

链接:https://ac.nowcoder.com/acm/contest/317/D
来源:牛客网
 

小a和小b来到了一条布满了黄金的街道上。它们想要带几块黄金回去,然而这里的城管担心他们拿走的太多,于是要求小a和小b通过做一个游戏来决定最后得到的黄金的数量。
游戏规则是这样的:
假设道路长度为nn米(左端点为00,右端点为nn),同时给出一个数kk(下面会提到kk的用法)
设小a初始时的黄金数量为AA,小b初始时的黄金数量为BB
小a从11出发走向n−1n−1,小b从n−1n−1出发走向11,两人的速度均为1m/s1m/s
假设某一时刻(必须为整数)小a的位置为xx,小b的位置为yy,若gcd(n,x)=1gcd(n,x)=1且gcd(n,y)=1gcd(n,y)=1,那么小a的黄金数量AA会变为A∗kx(kg)A∗kx(kg),小b的黄金数量BB会变为B∗ky(kg)B∗ky(kg)
当小a到达n−1n−1时游戏结束
小a想知道在游戏结束时A+BA+B的值
答案对109+7109+7取模

输入描述:

一行四个整数n,k,A,Bn,k,A,B

输出描述:

输出一个整数表示答案

示例1

输入

复制

4 2 1 1

输出

复制

32

说明

 

初始时A=1,B=1A=1,B=1

第一个时刻如图所示,小a在11,小b在33,满足条件,此时A=1∗21=2,B=1∗23=8A=1∗21=2,B=1∗23=8

 

第二个时刻小a在22,小b在22,不满足条件

 

第三个时刻小a在33,小b在11,满足条件,此时A=2∗23=16,B=8∗21=16A=2∗23=16,B=8∗21=16

此时游戏结束A=2∗23=16,B=8∗21=16A=2∗23=16,B=8∗21=16

A+B=32A+B=32

示例2

输入

复制

5 1 1 1

输出

复制

2

备注:

 

保证3⩽n⩽108,1⩽A,B,k⩽10133⩽n⩽108,1⩽A,B,k⩽1013

解题报告:

   这题数据减弱成1e8了,,这样就可以暴力了、、但是原先这题是1e13需要用欧拉函数相关知识。

   首先知道如果gcd(x,n) = 1  则gcd(n-x,n) = 1.证明方法很多种,这里给出两种,第一种:假设gcd(n-x,n) = d ( d != 1 ) ,则和第一个条件有矛盾;第二种:因为gcd(x,n) = 1 ,所以gcd(-x,n) = 1,所以gcd(n-x,n) = 1(即gcd(a,b)=1则gcd(a+b,b)=1)。而这题中我们找到了一个比较好的条件就是x+y=n,所以条件可以化简成gcd(x,n) = 1 就行了。  

求出\Phi (n),可以推出sum = x_{1}+x_{2}+...+x_{n} = \frac{(n\ast \Phi (n))}{2}(因为欧拉函数都是两两配对的,除了2这个数,而2带进去也是可以整除的,所以等号右侧一定可以除尽)最终答案就是k^{sum} mod (1e9+7)

AC代码:

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<queue>
#include<map>
#include<vector>
#include<set>
#include<string>
#include<cmath>
#include<cstring>
#define ll long long
#define pb push_back
#define pm make_pair
#define fi first
#define se second
using namespace std;
const int MAX = 2e5 + 5;
const ll mod = 1e9+7;
ll qpow(ll a,ll k) {ll res = 1;while(k) {if(k&1) res = (res*a)%mod;a = (a*a)%mod;k>>=1;}return res;
}
ll E(ll n) {ll res = n;for(ll p = 2; p*p<=n; p++) {if(n%p==0) {res = res/p*(p-1);while(n%p==0) n/=p;}}if(n>1) res = res/n*(n-1);return res;
}
int main()
{ll n,k,a,b;
//	cout<<E(4)<<endl;cin>>n>>k>>a>>b;cout << (a+b) * qpow(k,E(n)*n/2)%mod << endl;return 0 ;}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/440913.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ios 旋转屏幕试图切换_iOS增强现实应用(AR)设计指南(上)

- 这是 交互设计 的第 4篇文章 -- 读完本文&#xff0c;大概需要您 10分钟的时间 -本文为《iOS人机交互指南》的一部分&#xff0c;由黄方闻翻译&#xff0c;转载请注明出处。受公众号限制&#xff0c;无法跳转第三方网页为了更好的体验&#xff0c;欢迎访问http://hfw.design阅…

计算机应用类专业综合冲刺卷,2009年计算机应用类专业综合知识模拟试卷.doc

2009年计算机应用类专业综合知识模拟试卷2009年计算机应用类专业综合知识模拟试卷一、单选题(本大题共15小题&#xff0c;每小题2分&#xff0c;共30分&#xff0c;在每小题给出的四个选项中&#xff0c;只有一项是符合题目要求的)1、采用32*32点阵字模输出1000个汉字所占的空间…

【牛客 - 317E】小a的轰炸游戏(差分,前缀和)

题干&#xff1a; 小a正在玩一款即时战略游戏&#xff0c;现在他要用航空母舰对敌方阵地进行轰炸 地方阵地可以看做是nmnm的矩形 航空母舰总共会派出qq架飞机。 飞机有两种&#xff0c;第一种飞机会轰炸以(xi,yi)(xi,yi)为中心&#xff0c;对角线长为lili的正菱形(也就是两条对…

认真测试直播软件,直播这么火,你知道怎么测试直播软件吗?

作为互联网的新生力量&#xff0c;一种新型的社交互动方式&#xff0c;直播软件快速在互联网行业占有一席之地。市场上对于直播软件的开发应用也越来越多&#xff0c;直播软件的框架&#xff1f;直播软件的原理&#xff1f;直播软件的功能点&#xff1f;直播软件测试关注点&…

csm和uefi_关于CSM和UEFI你要知道的一些事

最近碰到了一件小事,让我觉得关于这个还是专门用一期说一下比较好。 一个朋友最近要升级机器,老机器是A8 5600+8GB DDR3,还有一张我送他的GTX660.他的预算3K左右,决定先不买显卡,花了2600左右,买了一张技嘉的B360M DS3H+i5 8400+16GB DDR4内存,SSD他有,电源准备用老的。…

计算机辅助教学研究现状,计算机辅助教学应用现状及对策研究

计算机辅助教学应用现状及对策研究 (8页)本资源提供全文预览&#xff0c;点击全文预览即可全文预览,如果喜欢文档就下载吧&#xff0c;查找使用更方便哦&#xff01;9.9 积分计算机辅助教学应用现状及对策研究摘要&#xff1a;新形势下&#xff0c;计算机辅助教学迅速发展&…

【牛客 - 317F】小a的子序列(线性dp,tricks)

题干&#xff1a; 小a有一个长度为nn的序列&#xff0c;但是他忘了这个序列的样子&#xff0c;他只记得序列中的数大小在[1,V][1,V]内 你可以任意选择一些位置&#xff0c;并给它们赋值来组成一段子序列&#xff0c;需要满足序列中的数严格递增 一段子序列的“萌值”定义为序…

hostapd 进程启动不了_项目管理|项目启动会实操要点,项目经理掌权的关键

项目启动会就像古代的誓师大会&#xff0c;把大家集中到一起&#xff0c;告诉大家我们要去干什么&#xff0c;这个事情如何重要、皇帝如何重视&#xff0c;干成以后大家升官加爵、富贵少不了大家的等等&#xff0c;大会目的在于调动起大家干活的热情&#xff0c;然后顺利地推进…

【牛客 - 317G】小a的排列(模拟,构造)

题干&#xff1a; 小a有一个长度为nn的排列。定义一段区间是"萌"的&#xff0c;当且仅当把区间中各个数排序后相邻元素的差为11 现在他想知道包含数x,yx,y的长度最小的"萌"区间的左右端点 也就是说&#xff0c;我们需要找到长度最小的区间[l,r][l,r]&a…

怎么看联想计算机的ip,如何查看本机ip

ip地址是我们连上互联网的凭证&#xff0c;每台能连上互联网的电脑都会分配有一个ip地址。每台电脑的IP地址都不唯一&#xff0c;并且从我们主机的IP地址上可以看出我们电脑连上互联网的所在位置与地区&#xff0c;就像我们生活中的门牌号码一样。很多朋友还不知道本机ip怎么查…

当前元素_前端系列——获取页面中的DOM元素

这里就聊一下获取页面中DOM元素最基本的两种方法&#xff1a;document.getElementById.在整个页面中通过元素的Id属性值来获取到这个元素对象&#xff0c;getElementById是获取元素的方法&#xff0c;而document是获取元素的范围&#xff0c;我们也将此范围称为“上下文”。注意…

东华大学计算机年薪,东华大学公布应届毕业生薪酬:本科生月薪中位数6637元...

岁末年初&#xff0c;国内多所名校陆续发布了2020届毕业生就业质量报告&#xff0c;各校毕业生的平均薪酬也随之公布。澎湃新闻(www.thepaper.cn)注意到&#xff0c;由教育部直属的新中国第一所纺织高等学府东华大学也于近日公布了本校毕业生的平均薪酬状况。1月4日&#xff0c…

【牛客 - 330C】Applese 走迷宫(bfs)

题干&#xff1a; 精通程序设计的 Applese 双写了一个游戏。 在这个游戏中&#xff0c;它被困在了一个 nmnm 的迷宫中&#xff0c;它想要逃出这个迷宫。 在迷宫中&#xff0c;有一些方格是水池&#xff0c;只有当 Applese 处于水属性的时候才可以通过&#xff1b;有一些方格是岩…

怎么做蒙特卡洛计算npv_PowerBI非标准日历下的同比环比计算,你知道怎么做吗?...

​对于按照自然年月日来分析的业务数据&#xff0c;在PowerBI中可以轻松的使用时间智能函数来进行各种时间指标的计算&#xff0c;但如果不是按标准的日历&#xff0c;很多人就开始有点懵&#xff0c;不知道该如何计算了。比如有的公司的业务月份是从26号到下个月的25号&#x…

pvz安卓服务器维修礼包码,植物大战僵尸2礼包兑换码大全2020最新版

植物大战僵尸2礼包码2020最新版是一款能够让玩家体验烧脑塔防大战的放置游戏&#xff0c;拥有经典的游戏规则设计&#xff0c;带来的玩法也会让每个玩家体验最为精彩的体验&#xff0c;每个僵尸都有着自己的特性&#xff0c;游戏之中的每一种植物都有自己的战斗方式&#xff0c…

【牛客 - 330F】Applese 的QQ群(拓扑排序,二分)

题干&#xff1a; Applese 有一个QQ群。在这个群中&#xff0c;大家互相请教问题。如 b 向 a 请教过问题&#xff0c;就把 a 叫做是 b 的"老板"。这样一个群中就会有很多老板。 同时规定&#xff1a;如果 a 是 b 的老板&#xff0c;b 是 c 的老板&#xff0c;那么…

安卓用于组件传递参数的对象是_入门篇:7.组件2:Android Service-service的数据传递与通信...

(由于对java的回调机制和线程理解的不够透彻&#xff0c;所以这块内容我理解了好久&#xff0c;尤其是绑定服务传递数据&#xff0c;一句一句写一句一句看&#xff0c;对我来说挺难理解的。以后还要多看几遍&#xff0d;&#xff0d;&#xff01;)既然单纯的启动或跳转activity…

【牛客 - 330G】Applese 的毒气炸弹(最小生成树,构造,判连通图)

题干&#xff1a; 众所周知&#xff0c;Applese 是个很强的选手&#xff0c;它的化学一定很好。 今天他又AK了一套题觉得很无聊&#xff0c;于是想做个毒气炸弹玩。 毒气炸弹需要 k 种不同类型元素构成&#xff0c;Applese一共有 n 瓶含有这些元素的试剂。 已知元素混合遵循…

服务器风扇一直高速转系统起不来,【案例】别克君越风扇启动后一直高速常转 维修案例...

故障诊断启动车辆&#xff0c;冷车时风扇正常&#xff0c;当温度达到正常温度后&#xff0c;节温器打开风扇一直常转&#xff0c;客户描述的问题存在。目测检查发动机外观状态&#xff1a;无漏油、无移位、部件连接无松动、电气插头安装牢固、无异味、无过热现象&#xff0c;都…

添加一列_Joom平台CSV文件如何添加产品?CSV文件添加产品流程一览

CSV文件添加产品在添加产品及变型以前&#xff0c;请先了解产品的CSV文件介绍以及产品变型要求。CSV添加产品CSV文件中的一行对应一个产品变型。卖家想为产品添加变型的话&#xff0c;需要在表格里新添一行或多行信息。——列表第一行是产品基本信息及产品本身的信息。卖家需要…