【比賽報告】2018.10.31牛客網線上賽[牛客OI周賽2-提高組] NOIP練習賽卷二十九
阿新 • • 發佈:2018-12-18
#include<cstdio> const int N=1e3+10; char s[N][N]; int n,m,t; int main() { //freopen("in.txt","r",stdin); scanf("%d",&t); while(t--) { scanf("%d%d",&n,&m); for(int i=0;i<n;i++)scanf("%s",s[i]); if(s[0][0]=='B')puts("BLUESKY007"); else if(s[0][0]=='G')puts("fengxunling"); else puts("dreagonm"); } return 0; }
總結
神奇的收斂性,這NM是降維打擊吧
#include<cstdio> #include<algorithm> using namespace std; int main() { long long n,m; scanf("%lld%lld",&n,&m); if(n<m)swap(n,m); if(m<=2)printf("%lld\n",m*n); else if(m==3)printf("%lld\n",n+6*(n/6)+2*min(n%6,3ll)); else if(m==4) { if(n%6==0)printf("%lld\n",2*n); else if(n%6==1||n%6==2)printf("%lld\n",12*(n/6)+4*(n%6)); else if(n%6==3||n%6==4)printf("%lld\n",12*(n/6)+4*2+2*((n%6)-2)); else printf("%lld\n",12*(n/6)+4*2+2*2); } else printf("%lld\n",(n*m+1)/2); return 0; }
總結
又是找規律……我藥丸QAQ
#include<cstdio> #include<cstring> #include<algorithm> using namespace std; template<typename tp>inline void read(tp&x) { x=0;int f=0;char ch=getchar(); while(ch<'0'||ch>'9')f|=ch=='-',ch=getchar(); while(ch>='0'&&ch<='9')x=(x<<1)+(x<<3)+(ch^48),ch=getchar(); if(f)x=-x; } typedef long long ll; ll l,r,ans,f[20][4],d[20]; int t,a[20],x,i,m; inline ll work(ll n) { if(n<1000)return 0;//1000以下沒有符合條件的 for(m=0;n;n/=10)a[m++]=n%10; reverse(a,a+m);memset(f,0,sizeof(f)); f[1][0]=a[0]-1;x=0; for(i=1;i<m;i++) { f[i+1][0]=f[i][0]*9; f[i+1][1]=f[i][0]+f[i][1]*9; f[i+1][2]=f[i][1]+f[i][2]*9; f[i+1][3]=f[i][2]+f[i][3]*10; f[i+1][x]+=a[i]-1; f[i+1][x+(x<2&&a[i]||x==2&&a[i]>7)]++; if(x<2&&!a[i]||x==2&&a[i]==7)x++; } return d[m-1]+f[m][3]; } int main() { //freopen("in.txt","r",stdin); for(i=0,l=1;i<=18;i++,l*=10)d[i]=work(l-1); read(t); while(t--) { read(l);read(r);ans^=work(r+1)-work(l); } printf("%lld\n",ans); return 0; }
總結
數位DP好題
賽後總結
這次題好多推結論找規律的,讓我想起去年小學奧數的恐懼(其實是騙人的啦,我去年複賽都沒進,嘻……嗚嗚o(╥﹏╥)o) 每次模擬賽都被虐QAQ,生無可戀.jpg