标签:std 描述 pst subject main 根据 编号 方向 coder
A:序列的第k个数
第一行一个整数T,表示有T组测试数据;
对于每组测试数据,输入前三项a,b,c,然后输入k。
对于每组数据输出第k项的值,对200907取模。
2 1 2 3 5 1 2 4 5
5 16
第一组是等差序列,第二组是等比数列。
对于全部数据,1≤T≤100,1≤a≤b≤c≤109,1≤k≤1091 \leq T \leq 100,1 \leq a \leq b \leq c \leq 10^9,1 \leq k \leq 10^91≤T≤100,1≤a≤b≤c≤109,1≤k≤109。
解题思路:根据等差和等比数列的性质求解即可
#include<bits/stdc++.h> using namespace std; typedef long long ll; ll ksm(ll a,ll b,ll p){ ll res=1; while(b){ if(b&1) res=res*a%p; a=a*a%p; b>>=1; } return res; } int main(){ int t; cin>>t; while(t--){ ll p=200907; ll a,b,c,k; cin>>a>>b>>c>>k; if(a+c==2*b) cout<<(a+(b-a)*(k-1))%p<<endl; else cout<<a*ksm(b/a,k-1,p)%p<<endl; } return 0; }
B:A的B次方
一行三个整数a,b,m。
一个整数,表示ab?mod?ma^b \bmod mabmodm的值。
2 100 1007
169
对于全部数据,1≤a,b,m≤1091 \leq a,b,m \leq10^91≤a,b,m≤109。
解题思路:扔个板子 结束
#include<bits/stdc++.h> using namespace std; typedef long long ll; ll ksm(ll a,ll b,ll p){ ll res=1; while(b){ if(b&1) res=res*a%p; a=a*a%p; b>>=1; } return res; } int main(){ ll a,b,m; cin>>a>>b>>m; cout<<ksm(a,b,m)<<endl; return 0; }
C:转圈游戏
输入共1行,包含4个整数n、m、k、x,每两个整数之间用一个空格隔开。
输出共1行,包含1个整数,表示10k10^k10k轮后x号小伙伴所在的位置编号。
10 3 4 5
5
对于30%的数据,0 < k <7;
对于80%的数据,0<k<1070 < k <10^70<k<107;
对于100%的数据,1<n<1061< n < 10^61<n<106,0<m>,0<k<1090< k < 10^90<k<109。</m>
解题思路:规律:(x+m*ksm(10,k,n)%n)%n
#include<bits/stdc++.h> using namespace std; typedef long long ll; ll ksm(ll a,ll b,ll p){ ll res=1; while(b){ if(b&1) res=res*a%p; a=a*a%p; b>>=1; } return res; } int main(){ ll n,m,k,x; cin>>n>>m>>k>>x; cout<<(x+m*ksm(10,k,n)%n)%n<<endl; return 0; }
D:越狱
输入两个整数m和n。
可能越狱的状态数,对100003取余。
2 3
6
所有可能的6种状态为:{0,0,0 }, {0,0,1 }, {0,1,1 }, {1,0,0 }, {1,1,0 }, {1,1,1 }。
对于全部数据,1≤m≤108,1≤n≤10121 \leq m \leq 10^8,1 \leq n \leq 10^{12}1≤m≤108,1≤n≤1012。
解题思路:正难则反;总的可能-发生越狱的可能数
#include<bits/stdc++.h> using namespace std; typedef long long ll; ll ksm(ll a,ll b,ll p){ ll res=1; while(b){ if(b&1) res=res*a%p; a=a*a%p; b>>=1; } return res; } int main(){ ll m,n; ll p=100003; cin>>m>>n; cout<<((ksm(m,n,p)-m*ksm(m-1,n-1,p))%p+p)%p<<endl; return 0; }
标签:std 描述 pst subject main 根据 编号 方向 coder
原文地址:https://www.cnblogs.com/Cutele/p/12242287.html