【BZOJ】1087 [SCOI2005]互不侵犯King 状压DP
来源:互联网 发布:淘宝网自助开通在哪里 编辑:程序博客网 时间:2024/05/22 10:55
狂刷状压DP
这已经是今天的第三题了呢
这是第一道自己独立完成的状压DP
二进制的状压学得差不多了呢
一遍AC的感觉好爽(虽然调试了好久)
#include <cstdio>#define LL long longusing namespace std;int n,k;LL f[10][85][520],ans;bool Z(int x){return (x&(x<<1))==0?1:0;}bool N(int q,int w){return Z(q|w)&&((q&w)==0)?1:0;}int calc(int x){int tot=0;for (;x;x&=x-1) ++tot;return tot;}int main(void){scanf("%d%d",&n,&k);for (int i=0;i<=n;++i)f[i][0][0]=1;for (int i=1;i<=n;++i){for (int j=1;j<=k;++j){for (int t=0;t<(1<<n);++t){int cnt=calc(t);if (cnt>j) continue;if (!Z(t)) continue;for (int q=0;q<(1<<n);++q){if (N(t,q)) {f[i][j][t]+=f[i-1][j-cnt][q];f[i][j][t]=f[i][j][t];}}}}}for (int i=0;i<(1<<n);++i){ans+=f[n][k][i];}printf("%lld\n",ans);return 0;}
阅读全文
0 0
- BZOJ 1087 SCOI2005 互不侵犯King 状压DP
- bzoj 1087: [SCOI2005]互不侵犯King 状压dp
- 【bzoj 1087】[SCOI2005]互不侵犯King 状压dp
- bzoj 1087 [SCOI2005]互不侵犯King 状压dp
- 【BZOJ】1087 [SCOI2005]互不侵犯King 状压DP
- bzoj 1087: [SCOI2005]互不侵犯King 状压dp
- 【bzoj 1087】[SCOI2005]互不侵犯King(状压dp)
- BZOJ 1087: [SCOI2005]互不侵犯King 预处理,状压DP
- [BZOJ 1087][SCOI2005]互不侵犯King
- BZOJ 1087: [SCOI2005]互不侵犯King
- bzoj 1087 [SCOI2005]互不侵犯King
- 【BZOJ 1087】 [SCOI2005]互不侵犯King
- bzoj 1087: [SCOI2005]互不侵犯King
- 【BZOJ】1087【SCOI2005】互不侵犯King
- BZOJ 1087: [SCOI2005]互不侵犯King
- BZOJ 1087 [SCOI2005]互不侵犯King
- bzoj 1087 [SCOI2005]互不侵犯King
- BZOJ 1087 [SCOI2005]互不侵犯King
- 2017-10-15连续第5天总结
- 五、集合
- 51入门基础知识储备---ROM与RAM:计算机中的2种存储器
- C++11多线程互斥锁的使用
- python高效编程技巧6(如何实现用户的历史记录功能)
- 【BZOJ】1087 [SCOI2005]互不侵犯King 状压DP
- activeMQ优点与和spring整合的xml配置
- Java clone
- 写函数去除字符串中包含的非字母字符(不包括空格),将小写字母转换成大写字母
- SpringBoot JPA 条件分页
- python高效编程技巧7(pickle的使用:可以将一个对象存储在一个文件中,或者load进来)
- SD卡规范解读
- Gym 101246.G
- ACM刷题狗的心路历程1