HDU 1088(文本处理 **)】的更多相关文章

题意是对一段文本进行处理,如果读到 <br>,则换行:如果读到 <hr>,若当前行无字符,则输出 80 个 ’-‘ 并换行,否则在下一行输出 80 个 ’-‘ 再换行:如果一行的字符数(含空格)已达到 80,则换行. 记录一下当前行的字符数模拟即可,代码如下: #include <bits/stdc++.h> using namespace std; int main() { ]; ; while(~scanf("%s",s)) { if(!strc…
这题是从某个群里听别人在抱怨这题老是PE,打开status果然满眼的Presentation Error...于是闲着来做了一下. 其实挺水的,不过各种设定多一点,注意一点就行了. 一开始以为词数超过80个才换行,原来是字符数... 样例过了之后提交了结果也PE了... 于是随便弄了一下输入,胡乱复制,然后输出到文件里面检查,发现了各种字数超过80,原来还是有些细节没处理好. 于是又修改了几个地方终于A掉了. 这题的确有点恶心,考的是细节问题. 代码: #include <iostream>…
Problem Description If you ever tried to read a html document on a Macintosh, you know how hard it is if no Netscape is installed. Now, who can forget to install a HTML browser? This is very easy because most of the times you don't need one on a MAC…
直接看sample input = = 又一道模拟. #include <iostream> #include <string> #include <cstdio> using namespace std; string s; int main() { // freopen("date.out","w",stdout); ; while(cin>>s) { if(s=="<br>") {…
本文的主要宗旨是总结自己看了大佬们对AC自动机和trie 图 的一些理解与看法.(前沿:本人水平有限,总结有误,希望大佬们可以指出) KMP分割线------------------------------------------------------------------------------------------------------------------------------------- 引入:https://www.cnblogs.com/zhangtianq/p/583…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2846 题目大意:有多个文本,多个模式串.问每个模式串中,有多少个文本?(匹配可重复) 解题思路: 传统AC自动机是计算单个文本中,模式串出现次数. 这里比较特殊,每个文本需要单独计算,而且每个匹配在每个文本中只能计数1次. 比如add,d只能计数1次,而不是:两次. 所以循环逐个对文本Find.每个Find里,进行Hash,保证每个匹配串只计数1次. 由于匹配串可重复,在Insert之前,也需要离散…
并不是很精简,随便改改A过了就没有再简化了. 1020. Problem Description Given a string containing only 'A' - 'Z', we could encode it using the following method: 1. Each sub-string containing k same characters should be encoded to "kX" where "X" is the only c…
最近正在学AC自动机,按照惯例需要刷一套kuangbin的AC自动机专题巩固 在网上看过很多模板,感觉kuangbin大神的模板最为简洁,于是就选择了用kuangbin大神的模板. AC自动机其实就是字典树和KMP的结合,然后去思考一下KMP的原理,然后就是在字典树上实现KMP 这里最重要的思想可能就是fail的思想,就像KMP一样,匹配失败后,有一个next的数组去回溯(最长公共前缀后缀) 如何理解了KMP的话,感觉这个不会很难理解,字典树是一个非常简单的东西就不用讲了吧. HDU - 222…
意甲冠军:出现<br>总结,出现<hr>出口'-',今天的字加上各行的假设是长于80然后包,每个字之前,留下一个空白格,为了输出新行结束. #include<iostream> using namespace std; int main() { char s[100]; int len,cnt=0; while(scanf("%s",s)==1) { if(!strcmp(s,"<br>")) { cnt=0; put…
题意:       给你一些按键顺序,让你输出每一步中概率最大的那个单词,这里的概率计算方 法好好看看别弄错了,一开始就是因为弄错了,各种wa,比如 abc 1 ,ab 1,那么 ab 的概率就是2 ,而不是4,一开始我误认为是所有单词累加后再把每个单词的每个字母累加作为当前单词的概率的,结果各种wa. 思路:       先建一颗字典树,为了是节省内存,方便更新,和快速查询,其实hash也可以 ,不过我自己一般都是用map去hasn,目测这个题目map去hash会TLE,因为要设计到拆串和各种…