2017.3.14-9.1 玩具取名 失败总结
目测这题有很强大的剪枝,因为我hash判重都T了、、、
其实复杂度是阶乘级的,不怪T了
但感觉没什么好的剪枝;;
ha? 题解竟然是记搜、、、、
好魔性啊,是不是这种搜索都可以记搜?、
不过记搜的思路似乎不太好想,先放一段时间吧(挖坑)
六个月后终于还是做到了
其实这个题挺简单的。。只要知道任意一个串都会被分成两部分的特殊点 去枚举断点 , 其实重复的计算还是很明显的、
总复杂度就是每个区间都算一次,o(len^3);
码(模拟码风):
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int f[205][205][5],n,m,len,ll,rr,dui[5][5][5],a,b,c,d;
char str[999],ch;
bool you[208][205];
void dp(int l,int r)
{if(l==r){if(str[l]=='W')f[l][r][1]=1;if(str[l]=='I')f[l][r][2]=1;if(str[l]=='N')f[l][r][3]=1;if(str[l]=='G')f[l][r][4]=1; you[l][r]=1;return;} int i,j,k,ii;for(i=l;i<r;i++){if(you[l][i]==0) dp(l,i);if(you[i+1][r]==0)dp(i+1,r);for(j=1;j<=4;j++)for(k=1;k<=4;k++){if(f[l][i][j]==1&&f[i+1][r][k]==1){for(ii=1;ii<=4;ii++)f[l][r][ii]=max(f[l][r][ii],dui[j][k][ii]);}}}
you[l][r]=1;
}
int main()
{int i;scanf("%d%d%d%d",&a,&b,&c,&d);for(i=1;i<=a;i++){scanf("%c",&ch);while(ch=='\n'||ch=='\0')scanf("%c",&ch);if(ch=='W')ll=1; //好了,看到下面的 一坨 不许笑if(ch=='I')ll=2;if(ch=='N')ll=3;if(ch=='G')ll=4;scanf("%c",&ch);if(ch=='W')rr=1;if(ch=='I')rr=2;if(ch=='N')rr=3;if(ch=='G')rr=4;dui[ll][rr][1]=1;}for(i=1;i<=b;i++){scanf("%c",&ch);while(ch=='\n'||ch=='\0')scanf("%c",&ch);if(ch=='W')ll=1;if(ch=='I')ll=2;if(ch=='N')ll=3;if(ch=='G')ll=4;scanf("%c",&ch);if(ch=='W')rr=1;if(ch=='I')rr=2;if(ch=='N')rr=3;if(ch=='G')rr=4;dui[ll][rr][2]=1;} for(i=1;i<=c;i++){scanf("%c",&ch);while(ch=='\n'||ch=='\0')scanf("%c",&ch);if(ch=='W')ll=1;if(ch=='I')ll=2;if(ch=='N')ll=3;if(ch=='G')ll=4;scanf("%c",&ch);if(ch=='W')rr=1;if(ch=='I')rr=2;if(ch=='N')rr=3;if(ch=='G')rr=4;dui[ll][rr][3]=1;}for(i=1;i<=d;i++){scanf("%c",&ch);while(ch=='\n'||ch=='\0')scanf("%c",&ch);if(ch=='W')ll=1;if(ch=='I')ll=2;if(ch=='N')ll=3;if(ch=='G')ll=4;scanf("%c",&ch);if(ch=='W')rr=1;if(ch=='I')rr=2;if(ch=='N')rr=3;if(ch=='G')rr=4;dui[ll][rr][4]=1;}scanf("%s",str);len=strlen(str)-1;dp(0,len);bool ky=0;
if(f[0][len][1]==1)printf("W"),ky=1;
if(f[0][len][2]==1)printf("I"),ky=1;
if(f[0][len][3]==1)printf("N"),ky=1;
if(f[0][len][4]==1)printf("G"),ky=1;
if(ky==0)printf("The name is wrong!");
}
2017.3.14-9.1 玩具取名 失败总结相关推荐
- 2017.3.14 游戏(scoi2009) 失败总结
这是个啥?群论?所有置换群的和?polya我还不会啊. 硬着头皮做 其实第一眼把题看错了,以为是求最大的置换群,搞了半天,但手玩推出了一个定理: n的置换群的方案种数=相加等于n的数的每种数的lcm ...
- BZOJ 1055 [HAOI2008]玩具取名
1055: [HAOI2008]玩具取名 Time Limit: 10 Sec Memory Limit: 162 MB Submit: 1119 Solved: 653 [Submit][Sta ...
- 「BZOJ1055」[HAOI2008] 玩具取名 - 区间动规 - 记忆化搜索
->戳我进原题 [HAOI2008]玩具取名 Time Limit: 10 Sec Memory Limit: 162 MB Submit: 2486 Solved: 1448 Descript ...
- [HAOI2008]玩具取名
[HAOI2008]玩具取名 文章目录 题目描述 输出描述: 题解 代码: 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO F ...
- BZOJ1055: [HAOI2008]玩具取名[区间DP]
1055: [HAOI2008]玩具取名 Time Limit: 10 Sec Memory Limit: 162 MB Submit: 1588 Solved: 925 [Submit][Sta ...
- bzoj 1055: [HAOI2008]玩具取名(区间DP)
1055: [HAOI2008]玩具取名 Time Limit: 10 Sec Memory Limit: 162 MB Submit: 2010 Solved: 1177 [Submit][St ...
- VC 2017 redist 包到最后提示安装失败,0x80240037
安装VC 2017 redist 包到最后提示安装失败,0x80240037错误 1.在电脑中搜索Windows6.1-KB2999226-x64.msu,一般在ProgramData文件夹下. 2. ...
- 2017第14届中国(西安)国际建筑节能及新型建材展览会会刊(参展商名录)
2017第14届中国(西安)国际建筑节能及新型建材展览会会刊(参展商名录) 展会名称: 2017年第14届中国(西安)国际建筑节能及新型建材展览会 所属展馆: 曲江国际会展中心 开展时间: 2017- ...
- SQL Server 2017 在Windows Server2012 R2中安装失败的解决方法
SQL Server 2017 在Windows Server2012 R2中安装失败的解决方法 由于Windows Server2012 R2更新问题导致SQL Server 2017安装失败.提示 ...
最新文章
- Tomcat学习过程
- CentOS探索之路2---使用rpm安装JDK
- Docker的镜像使用
- [iBoard 电子学堂][第八卷 设计任意波发生器]第一篇 iBoard 任意波发生器简介
- Hadoop的SequenceFile读写实例
- CF39C-Moon Craters【dp】
- Win7下硬盘安装Redhat双系统
- CSS 让数字滑动显示
- 基于VGG的感知损失函数--人眼感知的loss
- SpringBoot注解@Value取值取不到问题
- python中os模块的常用
- 依赖注入原理,作用,注入方式——Spring IOC/DI(二)
- yoga ins android.ios,to Yoga Lin:
- python转义是什么意思_什么是python转义字符?看看人士如何理解它.
- 论机器学习中数据的重要性
- 数据库1NF 2NF 3NF范式解释
- 第八届蓝桥杯(国赛)——瓷砖样式
- mc服务器优化mod,【教程】minecraft服务器优化教程 让你用低配置带更多人!
- Linux--Ubuntu Tweak
- 微信朋友圈里,微信群里的早报新闻简报都是哪里来的呢?
热门文章
- Conversion of Continuous-Valued Deep Networks to Efficient Event-Driven Networks for Image Classific
- 使用macOS自带convert,sips命令快速处理图片及转换图片格式
- No dashboards are active for the current data set. 解决tensorboard无法启动和显示问题
- python下绘制折线图
- php自学建议_如何高效自学PHP?
- python读取邮箱邮件_Python读取邮箱邮件
- 正在播放 html全集视频教程,正在播放:HTML基础视频教程(全集)-网络编程视频-星火视频教程 21edu8.com...
- rnn神经网络模型_ICLR 2019 | 与胶囊网络异曲同工:Bengio等提出四元数循环神经网络...
- pythonloop是什么意思_python loop 英文问题
- php从头部添加,php如何向header头添加Authorization信息?