【题意描述】就是给定n个星星的x,y坐标,y坐标按照从小到大的顺序进行排列,x坐标随机排列。下面求对于每个星星而言,其它星星的x,y的坐标都小于等于该星星的数目,然后输出所有的情况。【思路分析】我们这道题可以采用树状数组求解,将x+1作为树状数组的底标。【AC代码】#include #includ....
分类:
其他好文 时间:
2014-08-08 12:29:55
阅读次数:
182
这题 自己没做出来啊 擦看了别人的解题报告 才发现自己读错题了 草。。。我理解成( i , j )周围的4个格子不能取 。。。 题目给的图 都没有仔细看那就懒得分析了 直接贴下别人的 自己的思维也被定势了 不能有新的做法了 ---传送---touch me注意将 数组开大点。。。其实 这题就是求 每...
分类:
其他好文 时间:
2014-08-08 01:55:35
阅读次数:
180
本题是在text里面查找key word的增强版,因为这里有多个text。
那么就不可以简单把Trie的叶子标志记录修改成-1进行加速了,可以使用其他技术,我直接使用个vis数组记录已经访问过的节点,达到加速效果,速度还算挺快的。
不过看discuss里面有人直接使用Trie,做出了140ms的速度,而且他的程序严格来说并不正确,可见本题的数据很水啊。Trie的时间效率肯定比AC自动机低,但是...
分类:
其他好文 时间:
2014-08-07 23:20:15
阅读次数:
295
最近这两场好无奈啊。。。
今天这场最后30分钟敲1001,压力倍增,虽然思路比较明确,但是代码打起来不怎么容易。
但是还是好在25分钟左右debug结束。提交wa,再提交,依然WA.......最后5分钟,还是没有AC掉。
一开始以为是精度问题,后来才sb的发现原来数组开小了。
在压力环境下保证代码的效率和质量真不是一件容易的事情。不过数组开小了,真是不可原谅。
1001:Map
题目...
分类:
其他好文 时间:
2014-08-07 23:18:25
阅读次数:
335
其实本题比HDU的病毒侵袭1还简单,不过有一个陷阱卡到我了:就是搜索text的时候,当遇到的字母不是大写字母的时候,那么就要重新从根节点开始搜索,否则就会答案错误。
那么一点陷阱,居然没想到啊。
教训啊:看来对不太平常的地方,需要更加深入的思考,才能发现其中的陷阱,否则就WA了。
#include
#include
#include
using std::queue;
con...
分类:
其他好文 时间:
2014-08-07 23:06:35
阅读次数:
364
真爽啊 打完一把绝对carry的亚索 来做这题 一发AC=-=touch me这题 反正数据很大 不用二进制拆分 肯定tle的反正 二进制拆分 很简单的啊 不会的 现在看我代码 学下就好了。。 1 #include 2 #include 3 using namespace std; 4 5 c...
分类:
其他好文 时间:
2014-08-07 22:53:05
阅读次数:
231
AC自动机的灵活运用,本题关键是灵活二字。
因为数据不是很大,时间要求也不高的缘故,所以本题有人使用暴力法也过了,有人使用Trie也过了。
当然有人使用AC自动机没AC的,在讨论区里喊AC自动机超时的,那是因为不会灵活运用,或者是硬套模板的,AC了速度也不会快。
给出本人的算法思路:
1 把需要查找的关键字建立Trie, 然后构造AC自动机
2 查找的时候分八个方向查找,比如棋盘...
分类:
其他好文 时间:
2014-08-07 15:41:50
阅读次数:
314
单词统计的题目,给出一些单词,统计有多少单词在一个文本中出现,最经典的入门题了。
AC自动机的基础:
1 Trie, 以这个数据结构为基础的,不过增加一个fail指针和构造fail的函数
2 KMP,不是直接运用KMP,而是需要KMP的思想,KMP思想都没有的话,理解这个算法会更加吃力的。
注意本题的单词会有重复出现的,一个单词只能统计一次。
搜索了一下网上的题解,发现好多代码都...
分类:
其他好文 时间:
2014-08-07 13:20:40
阅读次数:
300
非连续子串匹配题,直接模拟
/** \brief poj 1936
*
* \param date 2014/8/5
* \param state AC
* \return memory 804k time 0ms
*
*/
#include
#include
#include
using namespace std;
const int MAXN=100000;
cha...
分类:
其他好文 时间:
2014-08-07 13:15:20
阅读次数:
166
题目链接:
啊哈哈,点我点我
思路:
题目是给了很多个车站,然后要你找到一个社区距离这些车站的最大值最小。。所以对每个车站做一次spfa,那么就得到了到每个社区的最大值,最后对每个社区扫描一次,得到那个最大最小值。。还有题目要求是要最小的id,所以排一次序。
题目:
Bus Pass
Time Limit: 10000/5000 MS (Java/Others) Me...
分类:
其他好文 时间:
2014-08-07 00:53:37
阅读次数:
321