Bill的挑战(bzoj 1879)

时间:2023-02-09 19:23:51

Description

Bill的挑战(bzoj 1879)

Input

本题包含多组数据。 第一行:一个整数T,表示数据的个数。 对于每组数据: 第一行:两个整数,N和K(含义如题目表述)。 接下来N行:每行一个字符串。

Output

1 2 1 a? ?b

Sample Input

50

Sample Output

对于30%的数据,T ≤ 5,M ≤ 5,字符串长度≤ 20;
对于70%的数据,T ≤ 5,M ≤ 13,字符串长度≤ 30;
对于100%的数据,T ≤ 5,M ≤ 15,字符串长度≤ 50。
/*
以后要多写状压DP啊,感觉好神的样子。
我们设f[i][j]为T串已经匹配了i位,且与n个字符串是否匹配的集合为j
为了方便转移,设g[i][j]为第i个字母是j的可匹配集合。
*/
#include<cstdio>
#include<cstring>
#include<iostream>
#define mod 1000003
using namespace std;
char s[][];
int g[][],f[][],n,k;
void work(){
scanf("%d%d",&n,&k);
for(int i=;i<n;i++)
scanf("%s",s[i]);
int len=strlen(s[]);
for(int i=;i<len;i++)
for(int j=;j<;j++)
for(int k=;k<n;k++)
if(s[k][i]=='?'||s[k][i]==j+'a')
g[i][j]|=(<<k);
int N=<<n;f[][N-]=;
for(int i=;i<len;i++)
for(int j=;j<N;j++)
if(f[i][j])
for(int k=;k<;k++)
f[i+][j&g[i][k]]=(f[i+][j&g[i][k]]+f[i][j])%mod;
int ans=;
for(int j=;j<N;j++){
int tot=;
for(int p=;p<n;p++)
if(j&(<<p))tot++;
if(tot==k)ans=(ans+f[len][j])%mod;
}
printf("%d\n",ans);
}
int main(){
int T;scanf("%d",&T);
while(T--){
memset(f,,sizeof(f));
memset(g,,sizeof(g));
work();
}
return ;
}

Bill的挑战(bzoj 1879)的更多相关文章

  1. &lbrack;BZOJ 1879&rsqb;&lbrack;SDOI 2009&rsqb;Bill的挑战 题解&lpar;状压DP&rpar;

    [BZOJ 1879][SDOI 2009]Bill的挑战 Description Solution 1.考虑状压的方式. 方案1:如果我们把每一个字符串压起来,用一个布尔数组表示与每一个字母的匹配关 ...

  2. bzoj 1879&colon; &lbrack;Sdoi2009&rsqb;Bill的挑战

    题目链接 bzoj 1879: [Sdoi2009]Bill的挑战 题解 n<=15,装压吧 对所有字符串进行装压 可以预处理一个数组can[i][j]表示所有的字符串中,有哪些可以在第i位匹配 ...

  3. bzoj千题计划207:bzoj1879&colon; &lbrack;Sdoi2009&rsqb;Bill的挑战

    http://www.lydsy.com/JudgeOnline/problem.php?id=1879 f[i][j] 表示匹配了i个字符,匹配字符串的状态为j的方案数 枚举下一个字符是什么 计算加 ...

  4. BZOJ-1879 Bill的挑战 状态压缩DP

    MD....怎么又是状压....... 1879: [Sdoi2009]Bill的挑战 Time Limit: 4 Sec Memory Limit: 64 MB Submit: 537 Solved ...

  5. 【BZOJ1879】&lbrack;SDOI2009&rsqb;Bill的挑战(动态规划)

    [BZOJ1879][SDOI2009]Bill的挑战(动态规划) 题面 BZOJ 洛谷 题解 本来还想着容斥来着,这个数据范围直接暴力就好.设\(f[i][S]\)表示当前填到了第\(i\)位,和\ ...

  6. 【BZOJ1879】&lbrack;Sdoi2009&rsqb;Bill的挑战 状压DP

    [BZOJ1879][Sdoi2009]Bill的挑战 Description Input 本题包含多组数据.  第一行:一个整数T,表示数据的个数.  对于每组数据:  第一行:两个整数,N和K(含 ...

  7. bzoj 1879 状压dp

    879: [Sdoi2009]Bill的挑战 Time Limit: 4 Sec  Memory Limit: 64 MBSubmit: 852  Solved: 435[Submit][Status ...

  8. 【BZOJ1879】【SDOI2009】Bill的挑战 &lbrack;状压DP&rsqb;

    Bill的挑战 Time Limit: 4 Sec  Memory Limit: 64 MB[Submit][Status][Discuss] Description Input 第一行:一个整数T, ...

  9. &lbrack;bzoj1879&rsqb;&lbrack;Sdoi2009&rsqb;Bill的挑战&lowbar;动态规划&lowbar;状压dp

    Bill的挑战 bzoj-1879 Sdoi-2009 题目大意: 注释:$1\le t \le 5$,$1\le m \le 15$,$1\le length \le 50$. 想法: 又是一个看数 ...

  10. &lbrack;LuoguP2167&rsqb;&lbrack;SDOI2009&rsqb;Bill的挑战&lowbar;容斥原理&sol;状压dp

    Bill的挑战 题目链接:https://www.luogu.org/problem/P2167 数据范围:略. 题解: 因为$k$特别小,想到状压. 状压的方式也非常简单,就是暴力枚举. 但是会不会 ...

随机推荐

  1. SQL&ast;Plus环境下创建PLUSTRACE角色

    普通用户在SQL*Plus中开启AUTOTRACE报告时,遇到SP2-0618: Cannot find the Session Identifier. Check PLUSTRACE role is ...

  2. 背水一战 Windows 10 &lpar;30&rpar; - 控件(文本类)&colon; AutoSuggestBox

    [源码下载] 背水一战 Windows 10 (30) - 控件(文本类): AutoSuggestBox 作者:webabcd 介绍背水一战 Windows 10 之 控件(文本类) AutoSug ...

  3. 第三次作业,GUI设计之最大子序列和

    先吐槽一发!!!学渣表示作业太难了啊!!!!!!做一次作业要用好久好久,要问好多好多大神才能行,虽然确实提高不少,花的时间真是……!!!!! 这次作业费劲心血,希望老师能给个好分数,至少对于学渣来说已 ...

  4. python模块与包加载机制

    模块的搜索路径: When a module named spam is imported, the interpreter searches for a file named spam.py in ...

  5. linux下php上传文件注意

    linux下php上传文件注意1.修改上传目录权限linux 修改某目录下所有所有子目录权限chmod -R 777 html修改某目录为任何用户都用写读执行权限chmod a+rwx html2.设 ...

  6. synchronized简介

    synchronized简介 Java提供了一种内置的锁机制来支持原子性:同步代码块(Synchronized Block).同步代码块包括两部分:一个作为锁对象的引用,一个作为由这个锁保护的代码块. ...

  7. 与其争论java和&period;net的差别,还不如多想点用编程技术挣钱的方式

    年前和最近,我发现在博客园和其它地方,有不少争论java和.net哪个好的文章,其实这是种好现象.虽然到了架构层面,技术是通用的,但兼听则明,而且技多不压身,多种挣钱的方式总不会错. 本人最近主攻Ja ...

  8. 一文入门NodeJS

      NodeJS¶ 1.环境配置¶ 之前讲ES6的时候有提过一部分Node的知识,简单回顾下:一文读懂ES6 1.1.NPM国内镜像¶ npm国内镜像:https://npm.taobao.org 配 ...

  9. C语言权威指南和书单 - 初学者

    注:点击标题免费下载电子书 1. C Primer Plus (5th Edition) 2. A Book on C C Programming: A Modern Approach (2nd Ed ...

  10. HTML与CSS:结构与表现

    在HTML和CSS里存在着部分重复的功能,例如两者都可以设定一段文字的字体属性.既然如此,为啥还要CSS呢(至少,为啥CSS里存在着和HTML标签属性重复的东西呢)? 这是因为,HTML和CSS的用途 ...