bzoj 1879 [Sdoi2009]Bill的挑战
来源:互联网 发布:人工智能存在的问题 编辑:程序博客网 时间:2024/06/10 05:24
题意 自己戳好伐?
权限+图片,好吧我懒
很好的状压dp
按说 看到题目的数据范围就应该确定是 状压dp 但是 我想了想 觉得没法搞啊
果断 弃疗
然后 探究样例
发现神奇啊
如果把每一位 可以填的 字符 个数确定就好了 比如eg的25+25 遂发现 不是很好搞。
然后 转化成了 枚举每一位上放哪个字符 可以满足的 n个串里的 数量
然后 在统计 f[i][j]表示 匹配到 第i位字符 的 匹配状态为j 的
转移就变成了 f[i][g[i][k]&j]+=f[i-1][j]
记得 mod答案
#include<cstdio>#include<cstring>#include<algorithm>#define mod 1000003using namespace std;//by mars_chint g[100][30],f[100][1<<15];int t,n,K;char s[100][100];int main(){ scanf("%d",&t); while(t--) { scanf("%d%d",&n,&K); memset(f,0,sizeof(f)); memset(g,0,sizeof(g)); for(int i=0;i<n;i++) { scanf("%s",s[i]); } int l=strlen(s[0]); for(int i=1;i<=l;i++) { for(int j=0;j<26;j++) { for(int k=0;k<n;k++) { if(s[k][i-1] == j+'a' || s[k][i-1] == '?') { g[i][j]|=1<<k; } } } } f[0][(1<<n)-1]=1; for(int i=1;i<=l;i++) { for(int j=0;j<(1<<n);j++) { if(f[i-1][j]) { for(int k=0;k<26;k++) { f[i][g[i][k]&j]=(f[i][g[i][k]&j]+f[i-1][j])%mod; } } } } int ans=0; for(int j=0;j<(1<<n);j++) { int p=j,cnt=0; while(p) { cnt+=p&1; p>>=1; } // printf("%d %d\n",j,cnt); // printf("%d\n",f[l][j]); if(cnt == K) ans=(ans+f[l][j])%mod; } printf("%d\n",ans); } return 0;}
0 0
- 【50.54%】【BZOJ 1879】[Sdoi2009]Bill的挑战
- bzoj 1879 [Sdoi2009]Bill的挑战
- BZOJ 1879 [Sdoi2009] Bill的挑战
- bzoj 1879 [Sdoi2009]Bill的挑战
- BZOJ 1879: [Sdoi2009]Bill的挑战|状压DP
- 1879: [Sdoi2009]Bill的挑战 状压DP
- 【SDOI2009】【BZOJ1879】Bill的挑战
- BZOJ1879: [Sdoi2009]Bill的挑战
- [bzoj 1879] [Sdoi2009]Bill的挑战:状压DP,自创数学公式(?)
- 【bzoj1879】【SDOI2009】【bill的挑战】【状压dp】
- BZOJ-1879 Bill的挑战 状态压缩DP
- Bill的挑战(set)
- Bill的挑战
- 2017.7.27 bill的挑战 失败总结
- 【BZOJ】【P1880】【Sdoi2009】【Elaxia的路线】【dijk】
- bzoj 1878 [SDOI2009]HH的项链
- 【bzoj 1880】: [Sdoi2009]Elaxia的路线
- 【BZOJ 1880】 [Sdoi2009]Elaxia的路线
- Javascript继承机制的设计思想(转载于阮一峰的网络日志)
- Unity同时打开多个项目工程
- over
- 工业控制领域的新标准:opc
- (转载借鉴) input[file]标签的accept=”image/*”属性在google浏览器上响应很慢的解决办法
- bzoj 1879 [Sdoi2009]Bill的挑战
- 移动端图片居多,加载过慢,使用延迟加载|懒加载( lazyload.js)
- Java学习笔记-异常
- videoview实现视频引导页及从assets文件中读取文件到本地SD卡
- SpringMVC 中 返回JSON 数据
- [Android]关于异步任务(AsyncTask)报leaked window com.android.internal.policy.PhoneWindow$DecorView错误
- 怎样用下面C语言代码实现直接对数据加密,不用写文件的方式。求助大神帮忙改改!
- 来自 Mathjax与LaTex公式简介—Ryan Zhao
- ie6兼容png24位的方法