/*
ID:lemondi1
LANG:C++
TASK:kimbits
*/#include<cstdio>#define rr registerusingnamespace std;typedefunsigned uit;
uit n,tot,m,dp[41][41];signedmain(){freopen("kimbits.in","r",stdin);freopen("kimbits.out","w",stdout);scanf("%u%u%u",&n,&tot,&m);for(rr int i=0;i<=n;++i) dp[i][0]=dp[0][i]=1;for(rr int i=1;i<=n;++i)for(rr int j=1;j<=n;++j)
dp[i][j]=dp[i-1][j]+dp[i-1][j-1];for(rr int i=n-1;~i;--i)if(dp[i][tot]>=m)putchar(48);elseputchar(49),m-=dp[i][tot],--tot;return!putchar(10);}
洛谷 2728 纺车的轮子
代码(暴力)
/*
ID:lemondi1
LANG:C++
TASK:spin
*/#include<cstdio>#include<cctype>#include<cstring>#define rr registerusingnamespace std;int speed[5],cnt[5],a[5][10],d[5][10],v[360];inlinesignediut(){
rr int ans=0; rr char c=getchar();while(!isdigit(c)) c=getchar();while(isdigit(c)) ans=(ans<<3)+(ans<<1)+(c^48),c=getchar();return ans;}signedmain(){freopen("spin.in","r",stdin);freopen("spin.out","w",stdout);for(rr int i=0;i<5;++i){
speed[i]=iut(),cnt[i]=iut();for(rr int j=0;j<cnt[i];++j)
a[i][j]=iut(),d[i][j]=iut();}for(rr int i=0;i<360;++i){memset(v,0,sizeof(v));for(rr int j=0;j<5;++j)for(rr int k=0;k<cnt[j];++k)for(rr int p=0;p<=d[j][k];++p)++v[(a[j][k]+i*speed[j]+p)%360];for(rr int j=0;j<360;++j)if(v[j]>=5)return!printf("%d\n",i);}return!printf("none\n");}
洛谷 2729 饲料调配
代码(暴力+柯西不等式)
/*
ID:lemondi1
LANG:C++
TASK:ratios
*/#include<cstdio>#define rr registerusingnamespace std;int w1[4],w2[4],w3[4];inlinesignedsqr(int x){return x*x;}signedmain(){freopen("ratios.in","r",stdin);freopen("ratios.out","w",stdout);for(rr int i=3;~i;--i)scanf("%d%d%d",&w1[i],&w2[i],&w3[i]);for(rr int i=0;i<=100;++i)for(rr int j=0;j<=100;++j)for(rr int k=0;k<=100;++k){if(!i&&!j&&!k)continue;
rr int p0=w1[0]*i+w1[1]*j+w1[2]*k,p1=w2[0]*i+w2[1]*j+w2[2]*k,p2=w3[0]*i+w3[1]*j+w3[2]*k;if(p0<w1[3]||p1<w2[3]||p2<w3[3])continue;if((sqr(w1[3])+sqr(w2[3])+sqr(w3[3]))*(sqr(p0)+sqr(p1)+sqr(p2))==sqr(w1[3]*p0+w2[3]*p1+w3[3]*p2))return!printf("%d %d %d %d\n",k,j,i,w1[3]?p0/w1[3]:(w2[3]?p1/w2[3]:p2/w3[3]));}return!printf("NONE\n");}