【Henu ACM Round#24 D】Iterated Linear Function
【链接】 我是链接,点我呀:)
【题意】
在这里输入题意
【题解】
把B提取出来就是一个等比数列了。
求和一下会发现是这种形式。
$B*\frac{(A^n-1)}{A-1}+A^n*x$
则求一下乘法逆元
写个快速幂就好
A-1的逆元就是$(A-1)^{MOD-2}$
要注意A=1的情况。
然后n最大可能为10^18
所以乘的时候要先对其取模
不然会乘爆
【代码】
#include <bits/stdc++.h>
#define LL long long
using namespace std;
const LL MOD = 1e9 + 7;
LL A,B,n,x;
LL Pow(LL x,LL y){
LL temp = 1;
while (y){
if (y&1) temp = (temp*x)%MOD;
x = (x*x)%MOD;
y>>=1;
}
return temp;
}
int main()
{
cin >> A >> B >> n >> x;
if (A==1){
cout<<(x + (n%MOD*B%MOD))%MOD;
}else{
LL ni = Pow(A-1,MOD-2);
LL A_n = Pow(A,n);
LL temp1 = B*ni%MOD*(A_n-1)%MOD;
temp1 = (temp1+MOD)%MOD;
temp1 = (temp1 + A_n*x%MOD)%MOD;
cout<<temp1<<endl;
}
return 0;
}
【Henu ACM Round#24 D】Iterated Linear Function的更多相关文章
- 【Henu ACM Round#24 E】Connected Components
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 要求把连续的一段li..ri的边全都删掉. 然后求剩下的图的联通数 如果暴力的话 复杂度显然是O(k*m)级别的. 考虑我们把li. ...
- 【Henu ACM Round#24 C】Quiz
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 肯定是这样 先放k-1个,然后空1个,然后再放k-1个.然后再空1个.. 以此类推. 然后如果(n/k)*(k-1)+n%k> ...
- 【Henu ACM Round#24 B】Gargari and Bishops
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 如果写过n皇后问题. 肯定都知道 某个点(i,j)和它在同一条对角线上的点分别是i+j的值和i-j的值相同的点. 然后会发现选择的两 ...
- 【Henu ACM Round#24 A】k-String
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 如果是一个k-string的话. 考虑最后的串假设形式为sss..ss(k个s) 则s中出现的字母,整个串中最后出现的次数肯定为k的 ...
- 【Henu ACM Round#15 F】Arthur and Questions
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] a1+a2+...+ak<a2+a3+...ak+1 ->a1<ak+1 a2+a3+...+ak+1<a3 ...
- 【Henu ACM Round#16 F】Om Nom and Necklace
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] KMP算法可以把"i前缀"pre[i] 分成ssssst的形式 这里t是s的前缀. 然后s其实就是pre[i]中 ...
- 【Henu ACM Round#16 E】Paths and Trees
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 感觉很像一道最短路. 然后就试了一发. 结果真的是.. 只要用一个优先队列优化的dijkstra算法求出每个点的最短路上的前一个点是 ...
- 【Henu ACM Round#18 F】Arthur and Walls
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 考虑,为什么一个连通块里面的空格没有变成一个矩形? 如果不是形成矩形的话. 肯定是因为某个2x2的单张方形里面. 只有一个角是墙.其 ...
- 【Henu ACM Round#17 F】Upgrading Array
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 如果我们对某一个位置i操作两次的话. 显然结果就和操作一次一样. 因为第一次操作过后1..i这些数字就变成是互质的了. gcd为1. ...
随机推荐
- laravel :Call to undefined function App\Http\Controllers\success() 解决方法
今天在调用方法时,报错如下:Call to undefined function App\Http\Controllers\success():方法已定义好了,所以我怀疑是未引入function.ph ...
- js追加元素
直接运行 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <titl ...
- python_for循环
#for循环'''for i in range(0,10,2):age_oldboy = 56for i in range(3): guess_age = int(input("guess ...
- mysql linux查看配置文件my.cnf位置
原文:mysql linux查看配置文件my.cnf位置 命令: mysql --help | grep 'Default options' -A 1
- nginx虚拟主机的配置不生效
这个坑找了好久,今天终于找到了问题所在. 一般虚拟主机配置文件是vhost里面单独写一个网站名.conf,然后在nginx最后include vhosts/*.conf 引用. 但是我这里的vhost ...
- 【codeforces 452D】Washer, Dryer, Folder
[题目链接]:http://codeforces.com/problemset/problem/452/D [题意] 洗衣服有3个步骤,洗,干,叠; 有对应的3种洗衣机,分别有n1,n2,n3台,然后 ...
- UVA 12507 Kingdoms
D - Kingdoms Time Limit:1000MS Memory Limit:0KB 64bit IO Format:%lld & %llu A kingdom ha ...
- Bridge桥接模式(设计模式11)
在没有使用桥接模式: 扩展新问题(类归属膨胀问题) 1增加性的电脑类型,要增加每个品牌下面的类 2如果要增加一个新的电脑品牌,要增加美中电脑类型的类 违背单一职责原则: · 一个类:联想笔记本,有两个 ...
- C#-GC基础(待补充)
Finalize方法与Dispose方法区别 1. Finalize只释放非托管资源: 2. Dispose释放托管和非托管资源: // D 是神的天敌3. 重复调用Finalize和Dispose是 ...
- C中操作文件的几种模式
使用文件的方式共同拥有12种,以下给出了它们的符号和意义. 文件打开方式 意义 rt 仅仅读打开一个文本文件.仅仅同意读数据 wt 仅仅写打开或建立一个文本文件,仅仅同意写数据 at 追 ...