25pts求diao
  • 板块学术版
  • 楼主lmayyds
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/12/24 19:38
  • 上次更新2024/12/25 09:32:42
查看原帖
25pts求diao
1043209
lmayyds楼主2024/12/24 19:38
#include<bits/stdc++.h>
using namespace std ;
const long long mod=1e9+7;
long long n,m,v,T,c[100001],d[100001];
long long ksm(long long a,long long b){
	long long x=1;
	for(long long i=1;i<=b;++i){
		x*=a;
		x%=mod;
	}
	return x%mod;
}
long long pai(){
	long long x=1;
	for(long long i=2;i<=m;++i){
		x*=ksm(v,2*(c[i]-c[i-1]))-ksm(v,c[i]-c[i-1]-1)*(v-1);
		x%=mod;
	}
	return x%mod;
}
int main(){
	cin>>T;
	while(T--){
		cin>>n>>m>>v;
		for(long long i=1;i<=m;++i)
			cin>>c[i]>>d[i];
		sort(c+1,c+1+m);
		cout<<abs(ksm(v,2*(c[1]-1+n-c[m]))*pai())%mod<<endl;
	}
	return 0;
}
2024/12/24 19:38
加载中...