快速幂
cggwz
这个作者很懒,什么都没留下…
展开
-
苦恼的小明
cgg传送门 这题的解法是费马小定理+欧拉函数+快速幂 整理:费马小定理: a^(φ(m))≡1(mod m) ((a,m)=1) (phi为欧拉函数) 所以得: (a^b)mod m=(a^(b%phi(m)))mod m 欧拉函数线筛打表就好了 代码如下: #include<cstdio> #include<cstring> #include<algo...原创 2018-10-23 22:29:50 · 189 阅读 · 0 评论 -
求和
1024节日快乐 上面是题目链接 今天是一个特殊的日子,很荣幸能在这一天用打代码来庆祝这一特殊的节日。 坐标:老师办公室 这道题很简单,快速幂就够。 事实上,对于很大的a我们没必要去求 因为: ab=(a%p)b (mod p) 所以,对于很大的a,把1到10000的求一下即可。 代码如下: #include<cstdio> #include<cstring> #inc...原创 2018-10-24 20:44:19 · 133 阅读 · 0 评论 -
倒水
传送门 基本思想,就是二进制表示 有两条基本性质: 第一个性质,如果n个瓶子可以成功转化成k个,当且仅当n的二进制表示中有k个1 第二个性质,我们如果在二进制的第i个位置加1,其代价高于在1到i-1每一位上都加1. 第一条性质为我们提供了目标,第二条性质为我们提供了最佳方案。 即从地位开始加,如果当前位是0,不操作,因为徒增瓶子,无效果 如果是1,就加一个瓶子。 开始统计1的个数,每次操作后把1的...原创 2018-10-24 21:41:43 · 124 阅读 · 0 评论