AtCoder Grand Contest 017
2017-07-10 22:59
447 查看
noi前橙名计划失败。全程搞C而gg……
View Code
A - Biscuits
题意:背包,求价值为奇/偶的方案数。#include<cstdio> #include<algorithm> #define MN 1000 using namespace std; const int MOD=1e9+7; int n,m,k,le[MN],ri[MN],x,y,z,mmh[1<<20],MMH=0; inline void M(int &x){while(x>=MOD)x-=MOD;} int lowbit(int x) { return x & -x; } int main(){ scanf("%d%d%d",&n,&m,&k);n--; for (int i=1;i<=m;i++) le[i]=(1<<n)-1,ri[i]=0; while(k--){ scanf("%d%d%d",&x,&y,&z);y--; if (z==0) le[x]^=1<<y;else ri[x]^=1<<y; } mmh[0]=1; for (int i=1;i<=m;i++){ for (int k=0;k<n;k++) for (int j=0;j<(1<<n);j++) if (~j>>k&1) M(mmh[j+(1<<k)-lowbit(j&~((1<<k)-1))]+=mmh[j]); for (int j=0;j<(1<<n);j++) if (!((j&ri[i])==ri[i]&&(j&le[i])==j)) mmh[j]=0; } for (int j=0;j<(1<<n);j++) M(MMH+=mmh[j]); printf("%d\n",MMH); }
View Code
相关文章推荐
- [AtCoder Grand Contest 017] F: Zigzag (agc017F)
- AtCoder Grand Contest 017 A
- AtCoder Grand Contest 017 B
- AtCoder Grand Contest 017 题解
- AtCoder Grand Contest 017 D - Game on Tree
- AtCoder Grand Contest 017-A Biscuits
- AtCoder Grand Contest 017 C - Snuke and Spells
- Atcoder Grand Contest 017 F Zigzag
- AtCoder Grand Contest 017 迟到记
- AtCoder Grand Contest 017 D - Game on Tree SG函数
- AtCoder Grand Contest 017-A - Biscuits
- AtCoder Grand Contest 017-B - Moderate Differences
- AtCoder Grand Contest 017 F - Zigzag 状压dp
- AtCoder Grand Contest 011 D - Half Reflector 乱搞
- AtCoder Grand Contest 002 E - Candy Piles 博弈论
- AtCoder Grand Contest 023 E - Inversions
- AtCoder Grand Contest 015
- AtCoder Grand Contest 015 题解
- 【GCD】AtCoder Grand Contest 018 A - Getting Difference
- AtCoder Grand Contest 018--D题