按照題意暴力模擬即可

#include<bits/stdc++.h>
using namespace std;
int m;
typedef long long ll;
ll a1,q,n;
#define mo 1000000007ll
ll qp(ll x,ll y){
	ll r=1;
	while(y){
		if(y&1)r=r*x%mo;
		x=x*x%mo;
		y>>=1;
	}
	return r;
}
int main(){
	scanf("%d",&m);
	while(m--){
		scanf("%lld%lld%lld",&a1,&q,&n);
		if(q==1){
			n%=mo;
			printf("%lld\n",a1*n%mo);
		}
		else{
			ll up=a1*(1-qp(q,n)+mo)%mo;
			ll dw=qp((1-q+mo)%mo,mo-2);
			printf("%lld\n",up*dw%mo);
		}
	}
}

jzoj4229的更多相关文章

随机推荐

  1. 2017/2/6:在oracle中varchar与varchar2的区别与增删改查

    1.varchar2把所有字符都占两字节处理(一般情况下),varchar只对汉字和全角等字符占两字节,数字,英文字符等都是一个字节:2.VARCHAR2把空串等同于null处理,而varchar仍按 ...

  2. nginx 502 Bad Gateway 错误解决办法

    nginx出现502有很多原因,但大部分原因可以归结为资源数量不够用,也就是说后端PHP-fpm处理有问题,nginx将正确的客户端请求发给了后端的php-fpm进程,但是因为php-fpm进程的问题 ...

  3. 2018.10.31 NOIP模拟 几串字符(数位dp+组合数学)

    传送门 如果观察到性质其实也不是很难想. 然而考试的时候慌得一批只有心思写暴力233. 下面是几个很有用的性质: c0,1+1≥c1,0≥c0,1c_{0,1 }+1 ≥ c_{1,0} ≥ c_{0 ...

  4. 使用Ant发布web应用到tomcat

    使用Ant发布web应用到tomcat 来自:http://blog.csdn.net/hbcui1984/article/details/1954537 今天在公司用ant写了个部署web应用的脚本 ...

  5. Apache和nginx 域名配置

    apache配置 一.hosts配置: 1.用编辑器打开hosts文件,位置:C:\Windows\System32\drivers\etc目录下 2.在hosts文件里添加自己的域名配置,配置规则如 ...

  6. OpenCV(2):视频

    播放AVI视频 #include<iostream> #include<opencv2/core/core.hpp> #include<opencv2/highgui/h ...

  7. 解决css3不支持同时缩放和旋转的办法

    设置两个div,外层scale,内层rotate.

  8. boost-使用property_tree来解析xml、json

    property_tree是一个保存了多个属性值的树形数据结构,可以用来解析xml.json.ini.info文件.要使用property_tree和xml解析组件的话需要包含"boost/ ...

  9. mysql的myBatis,主键自增设置

    方法一: insert id="insert" parameterType="Person" useGeneratedKeys="true" ...

  10. 最全js表单验证

    /***************************************************************** 表单校验工具类 (linjq) ***************** ...