BZOJ3214 [Zjoi2013]丽洁体
题意
平时的练习和考试中,我们经常会碰上这样的题:命题人给出一个例句,要我们类比着写句子。这种往往被称为仿写的题,不单单出现在小学生的考试中,也有时会出现在中考中。许多同学都喜欢做这种题,因为较其它题显得有趣。仿写的句子往往具有“A__B__C”的形式,其中A,B,C是给定的由一个或多个单词组成的短句,空的部分需要学生填写。当然,考试的时候空在那里也是可以的。例如,“其实天不暗阴云终要散,其实 ,其实 ,其实路不远一切会如愿,艰难困苦的日子里我为你祈祷,请你保重每一天”。再比如,“见了大海的汹涌,没见过大山的巍峨,真是遗憾;见了大山的巍峨,没见过 ,还是遗憾。出发吧,永远出发。 ,人有不老的心情。”由于现在是网络时代,我们不再只能仿写命题人命的题,我们可以仿写网上各种句子和段落。2011年3月26日,某人在博客上发布了的消息就惹来了很多人的仿写。
很难过吧。。。考得完爆了。。。
。。。。。。其实也没什么可以说的。。。都是蒟蒻的借口罢了。。。
。。。自己果然还只是半吊子水平呢。。。。
。。。祝大家都能进省队。。。其实只要不要有遗憾就好了呢。。。
虽然我很遗憾或许不能走下去了。。。。。
886
在网络上广泛流传的仿写,因为在某些地方有独到之处,大都被命名为“某某体”。打开人人,刷新微博,你也能发现这样和那样的体,比如,对不起体,**说明他爱你体等等。金先生注意到了这一现象,他敏锐地认为这是一个很有价值的研究课题,于是就其展开研究,打算发一篇paper。由于在网上发消息,人们有了更大的灵活度,人们有时因为表达的需要,还往原本固定的A, B, C中添加一些修饰的词语。这就给辨别一个句子或段落是否是另一个句子或段落的仿写增加了困难。金先生现在研究一种形如“ABC”的体作品,其中A, B, C分别是某个由若干单词组成的短句,*代表0个或多个单词。他在网上找了大量的体作品,不过很多体作品不太合乎原作者的格式,也就是相当于在正规的体作品中插入了0个或多个单词。由于数据量太大,金先生无法一个一个看过去,于是想请你帮忙,去掉尽量少的单词,使它成为指定的体。
分析
参照SFN1036的题解。
A和C显然只能贪心放,问题在于如何确定B的位置。注意到每个单词出现次数不超过500,那么就可以枚举放的起点,然后暴力往后扫即可。
时间复杂度\(O(500 N)\)。
代码
这题数据有误……
#include<bits/stdc++.h>
#define rg register
#define il inline
#define co const
template<class T>il T read()
{
rg T data=0,w=1;
rg char ch=getchar();
while(!isdigit(ch))
{
if(ch=='-') w=-1;
ch=getchar();
}
while(isdigit(ch))
{
data=data*10+ch-'0';
ch=getchar();
}
return data*w;
}
template<class T>il T read(rg T&x)
{
return x=read<T>();
}
typedef long long ll;
using namespace std;
co int N=5e4+1;
int n,t1,t2,t3,s[N],a[N],b[N],c[N];
char buf[N*10];
void init(int s[],int&n)
{
gets(buf);
int len=strlen(buf);
for(int k=0,i=0;i<len;++i)
{
if(islower(buf[i]))
k=k*31+buf[i];
else
s[++n]=k,k=0;
}
}
int main()
{
// freopen(".in","r",stdin);
// freopen(".out","w",stdout);
init(s,n),init(a,t1),init(b,t2),init(c,t3);
int l=1,r=n,tot=0;
for(int i=1;i<=t1;++i,++l)while(s[l]!=a[i])++l,++tot;
for(int i=t3;i>=1;--i,--r)while(s[r]!=c[i])--r,++tot;
int ans=n;
for(int i=l;i<=r;++i)if(s[i]==b[1])
{
int p=i,flag=0;
for(int j=1;j<=t2;++j,++p)
{
while(p<=r&&s[p]!=b[j])++p;
if(p>r) {flag=1;break;}
}
if(!flag)ans=min(ans,p-i-t2);
}
printf("%d\n",ans+tot);
return 0;
}
/*
xiang yao yi zhi ai zhe mou wu de hua yi yao guai zhi si lai shuo tai chang le xiang yao shi xian yi qie meng xiang de hua yi ren lei zhi sheng lai shuo tai duan le
yao
tai chang le yao
tai duan le
*/
关于
if(!flag)ans=min(ans,p-i-t2);
我认为应该是
if(!flag)ans=min(ans,p-i+1-t2);
这样才能过样例。但是这是WA的。
BZOJ3214 [Zjoi2013]丽洁体的更多相关文章
- [BZOJ3214][ZJOI2013]丽洁体(Hash+DP)
3214: [Zjoi2013]丽洁体 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 906 Solved: 335[Submit][Status] ...
- [luogu] P3333 [ZJOI2013]丽洁体(贪心)
P3333 [ZJOI2013]丽洁体 题目描述 平时的练习和考试中,我们经常会碰上这样的题:命题人给出一个例句,要我们类比着写句子.这种往往被称为仿写的题,不单单出现在小学生的考试中,也有时会出现在 ...
- 并不对劲的bzoj3214:p3333:[ZJOI2013]丽洁体
题目大意 有三个由若干个单词组成的字符串\(T,A,B,C(|T|,|A|,|B|,|C|\leq 5*10^4,单词长度\leq5,每个单词出现次数\leq500)\) 求从\(T\)中至少删去多少 ...
- [ZJOI2013]丽洁体
题目描述 平时的练习和考试中,我们经常会碰上这样的题:命题人给出一个例句,要我们类比着写句子.这种往往被称为仿写的题,不单单出现在小学生的考试中,也有时会出现在中考中.许多同学都喜欢做这种题,因为较其 ...
- bzoj 3214: [Zjoi2013]丽洁体
Description 平时的练习和考试中,我们经常会碰上这样的题:命题人给出一个例句,要我们类比着写句子.这种往往被称为仿 写的题,不单单出现在小学生的考试中,也有时会出现在中考中.许多同学都喜欢做 ...
- 【BZOJ】3214: [Zjoi2013]丽洁体
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3214 字符串长度最大不超过$5$直接$HASH$起来 首先在$T$中考虑找到最前的一个包含 ...
- [ZJOI 2013]丽洁体
Description 题库链接 给出四个字符串 \(T,A,B,C\) ,问你至少在 \(T\) 串中删去几个单词能使得 \(T\) 串变为 \(A?B?C\) 的形式,其中 \(?\) 表示任意多 ...
- AHOI2018训练日程(3.10~4.12)
(总计:共90题) 3.10~3.16:17题 3.17~3.23:6题 3.24~3.30:17题 3.31~4.6:21题 4.7~4.12:29题 ZJOI&&FJOI(6题) ...
- bzoj AC倒序
Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem ...
随机推荐
- jQuery多功能日历插件 带事件记录功能
在线演示 本地下载
- 函数:生成n个互不相同的随机数,最大值为upper
参考:http://blog.csdn.net/zhangkaihang/article/details/6836506 函数getRandArray()功能说明: 入参:int upper-生成的随 ...
- fabric网关模式文件上传与执行
- Redis单线程原理
redis是以socket方式通信,socket服务端可同时接受多个客户端请求连接,也就是说,redis服务同时面对多个redis客户端连接请求,而redis服务本身是单线程运行. 假设,现在有A,B ...
- LuManager升级php5.6.27方法
LuManager自带的PHP在FastCGI模式是 5.2.17版,非FastCGI模式是 5.3.14版.由于360网盘的停服,已不敢再用那些免费的网盘,干脆自己搭个私有云.查了下相关资料准备先试 ...
- 关于C/C++中main函数参数的学习
因为面对对象作业(2018.5.21)的要求,去学习了C/C++中main函数参数的意义,以及一些简单的使用(从命令行指令的接受),不给予赘述.(仅为个人拙见,还望看官指正) 首先,带有参数的main ...
- Dispatcher initialization failedUnable to load configuration 解决办法
检查<package name="action" extends="struts-default"></package>中是否有exte ...
- JMS-activeMq点对点模式
上一篇对JMS进行介绍了一下,接下来总结一下activemq点对点模式以及订阅发布模式. (1)下载:首先到官网http://activemq.apache.org下载activemq (2)运行:解 ...
- css transform旋转属性
将以下代码复制到本地就可以看到效果: <!DOCTYPE html> <html lang="en"> <head> <meta char ...
- 分享:自定义JAVA注解
元注解 元注解指用来定义注解的注解,例如:@Retention @Target Inherited @Documented等等.最为重要和经常使用的是@Retention @Target. @Rete ...