标签:print amp puts names lse a* bsp define ==
挺好,T2打表差点出规律(最近拿PFGYL硬卡提升自己几乎没有的打表水平)
T1竟然……是个××题
T3的Floyd写死了。
简单思考会发现……直接全异或起来就AC
话说T1真叫最大异或和……
#include <iostream>
#include <cstring>
using namespace std;
int pn;
int main(){
// freopen("xor.in" ,"r",stdin); freopen("xor.out","w",stdout);
ios_base::sync_with_stdio(false);
int T;
cin>>T;
while(T--){
int tot=0,b;
cin>>pn;
for(int i=1;i<=pn;i++){
cin>>b;
tot^=b;
}
for(int i=1;i<pn;i++)
cin>>b>>b;
if(tot==0)puts("D");
else puts("Q");
}
}
$$\begin{array}{rl}&\sum\limits_{i=0}^{n}C_{n}^{i} \times C_{m}^{i+1}\\=&C_{n+m}^{n+1}\end{array}$$
结束。
#include <iostream>
#include <cstring>
#include <cstdio>
#define L 222222
#define N 2222
#define LL long long
using namespace std;
const int Mod=1e9+7;
char st[L];
LL fac[2*L],inv[2*L];
LL pre[L],aft[L],ans;
LL ppow(LL a,LL b){
LL res=1;
a%=Mod;
while(b){
if(b&1)res=res*a%Mod;
a=a*a%Mod;
b>>=1;
}
return res;
}
LL C(LL n,LL m){
if(n<m)return 0;
return fac[n]*inv[m]%Mod*inv[n-m]%Mod;
}
int main(){
// freopen("easy.in" ,"r",stdin); freopen("easy.out","w",stdout);
fac[0]=inv[0]=1;
for(int i=1;i<=400000;i++){
fac[i]=fac[i-1]*i%Mod;
inv[i]=ppow(fac[i],Mod-2);
}
scanf("%s",st+1);
int len=strlen(st+1);
for(int i=1;i<=len;i++){
pre[i]=pre[i-1];
if(st[i]==‘(‘)
pre[i]++;
}
for(int i=len;i>=1;i--){
aft[i]=aft[i+1];
if(st[i]==‘)‘)
aft[i]++;
}
for(int i=1;i<=len;i++){
if(st[i]==‘(‘){
// cout<<"The"<<i<<endl;
/*
for(int j=0;j<=pre[i-1];j++){
// cout<<"Pre:in"<<pre[i-1]<<" get:"<<j<<" Ws:"<<C(pre[i-1],j)<<endl <<"Aft:in"<<aft[i+1]<<" get:"<<j+1<<" Ws"<<C(aft[i+1],j+1)<<endl;
ans=(ans+C(pre[i-1],j)*C(aft[i+1],j+1)%Mod)%Mod;
}
*/
ans=(ans+C(pre[i-1]+aft[i+1],pre[i-1]+1))%Mod;
}
}
printf("%lld\n",ans);
}
快速幂2套矩阵乘(Floyd)
话说暴力写跪还没调(diao)出来……
标签:print amp puts names lse a* bsp define ==
原文地址:https://www.cnblogs.com/kalginamiemeng/p/Exam20191023-Mor.html