目录

链接

luogu

bzoj

思路

区间dp

然后\(f[i][j][k]\) 区间\([i,j]\)能否变成\(k\)字符 (字符当然得转化一下)

字符的个数不多,直接暴力\(check\),暴力转移就行,\(%%gzy\)

区间dp还是挺套路模板的

只不过看着恶心,其实真不恶心

for枚举长度
for枚举起点
计算终点
for枚举中点
大力转移

代码

/**************************************************************
Problem: 1055
User: 3010651817
Language: C++
Result: Accepted
Time:404 ms
Memory:1500 kb
****************************************************************/ #include <bits/stdc++.h>
#define NO puts("The name is wrong!")
using namespace std;
const int maxn=207;
char Q[5]= {'\0','W','I','N','G'},s[maxn];
bool z[5][5][5];
int n,zhong[5],cnt;
bool f[maxn][maxn][5];
map<string,int> a;
int calc(char zz) {
if(zz=='W') return 1;
if(zz=='I') return 2;
if(zz=='N') return 3;
return 4;
}
int main() {
for(int i=1; i<=4; ++i) scanf("%d",&zhong[i]);
for(int i=1; i<=4; ++i) {
char a[3];
for(int j=1; j<=zhong[i]; ++j) {
scanf("%s",a);
z[i][calc(a[0])][calc(a[1])]=1;
}
}
scanf("%s",s+1);
n=strlen(s+1);
for(int i=1; i<=n; ++i) {
f[i][i][calc(s[i])]=1;
}
for(int len=1; len<n; ++len) {
//长度
for(int i=1; i<=n; ++i) {
//起点
int j=i+len;
if(j>n) break; //终点
for(int k=i; k<j; ++k) {
//中点
for(int i_=1; i_<=4; ++i_) {
if(f[i][k][i_])
//枚举并且chenk(i,k)
for(int j_=1; j_<=4; ++j_) {
if(f[k+1][j][j_]) {
//枚举并且check(k+1,j)
for(int k_=1; k_<=4; ++k_) {
if(z[k_][i_][j_]==1) {
//合并
f[i][j][k_]=1;
}
}
}
}
}
}
}
}
for(int i=1; i<=4; ++i) {
if(f[1][n][i]) {
cnt++;
printf("%c",Q[i]);
}
}
if(!cnt) NO;
return 0;
}

bzoj1055 ||P4290 [HAOI2008]玩具取名的更多相关文章

  1. 【BZOJ1055】[HAOI2008]玩具取名(动态规划)

    [BZOJ1055][HAOI2008]玩具取名(动态规划) 题面 BZOJ 洛谷 题解 裸的区间\(dp\),设\(f[i][j][W/I/N/G]\)表示区间\([i,j]\)能否由某个字母替换过 ...

  2. 【bzoj1055】[HAOI2008]玩具取名

    [bzoj1055][HAOI2008]玩具取名 2014年12月1日3,0111 Description 某人有一套玩具,并想法给玩具命名.首先他选择WING四个字母中的任意一个字母作为玩具的基本名 ...

  3. 洛谷 P4290 [HAOI2008]玩具取名

    传送门 思路 博客半年没更新了,来更新个博文吧 在\(dsr\)聚聚博客的帮助下,我用半个上午和一个中午的时间苟延残喘地完成了这道题 先是读题目读大半天,最后连个样例都看不懂 之后又是想思路,实在想不 ...

  4. 【BZOJ1055】[HAOI2008]玩具取名(区间DP)

    [HAOI2008]玩具取名 题目描述 某人有一套玩具,并想法给玩具命名.首先他选择\(WING\)四个字母中的任意一个字母作为玩具的基本名字.然后他会根据自己的喜好,将名字中任意一个字母用" ...

  5. P4290 [HAOI2008]玩具取名

    传送门 $dp$ 设 $f[i][j][k]$ 表示初始为 $k$ 时,能否得到 $[i,j]$ 这一段子串 设 $pd[i][j][k]$ 表示长度为二的字符串 $ij$ 能否由 $k$ 得到 然后 ...

  6. DP【洛谷P4290】 [HAOI2008]玩具取名

    P4290 [HAOI2008]玩具取名 某人有一套玩具,并想法给玩具命名.首先他选择WING四个字母中的任意一个字母作为玩具的基本名字.然后他会根据自己的喜好,将名字中任意一个字母用"WI ...

  7. 洛谷 4290 [HAOI2008]玩具取名 题解

    P4290 [HAOI2008]玩具取名 题目描述 某人有一套玩具,并想法给玩具命名.首先他选择WING四个字母中的任意一个字母作为玩具的基本名字.然后他会根据自己的喜好,将名字中任意一个字母用&qu ...

  8. BZOJ1055: [HAOI2008]玩具取名[区间DP]

    1055: [HAOI2008]玩具取名 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1588  Solved: 925[Submit][Statu ...

  9. BZOJ1055: [HAOI2008]玩具取名

    ... #include<bits/stdc++.h> using namespace std; int q[255]; char s[205]; char p[]={'W','I','N ...

随机推荐

  1. Spark-自定义排序

    一.自定义排序规则-封装类 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /** ...

  2. 【linux echo -e命令】

    man帮助的解释是,允许后面的输出进行转义,假设你是 echo -e "i will use \n $HOME" 输出的将是i will use/root(当前用户的主目录)如果是 ...

  3. 问题:bower git is not installed or not in the path

    用bower install jquery安装jquery,bower提示错误bower git is not installed or not in the path. 根据错误信息的知道出现错误两 ...

  4. mysql 数据操作 多表查询 子查询 带IN关键字的子查询

    1 带IN关键字的子查询 #查询平均年龄在25岁以上的部门名关键点部门名 以查询员工表的dep_id的结果 当作另外一条sql语句查询条件使用 in (sql语句) mysql ; +-------- ...

  5. vue.js常用的

    <input v-model.number="age" type="number"> //自动将用户的输入值转为数值类型 <input v-m ...

  6. SQL 4

    SQL WHERE 子句 WHERE 子句用于过滤记录. SQL WHERE 子句 WHERE 子句用于提取那些满足指定标准的记录. SQL WHERE 语法 SELECT column_name,c ...

  7. latex 转word

    1:下载pandoc软件,支持多种文件格式互转. http://www.pandoc.org/installing.html#windows 2:下载zip包,解压,并将含有pandoc.exe的目录 ...

  8. 验证 Googlebot (检查是否为真的Google机器人)

    您可以验证访问您服务器的网页抓取工具是否确实是 Googlebot(还是其他 Google 用户代理).如果您担心自称是 Googlebot 的垃圾内容发布者或其他麻烦制造者访问您的网站,则会发现该方 ...

  9. boost--序列化库serialization

    序列化可以把对象转化成一个字节流存储或者传输,在需要时再回复成与原始状态一致的等价对象.C++标准没有定义这个功能.boost.serialization以库的形式提供了这个功能,非常强大,可以序列化 ...

  10. 软件包管理:源码包管理-源码包与RPM包的区别

    RPM会安装在默认位置,源码包会安装在指定位置. 绝大多数ROM包遵循此规范.写软件包是就固定好了. 主要影响体现在对服务的管理方法,服务的管理分三种:启动,重启动,停止. 启动时使用绝对路径来启动. ...