摘要: POJ 2406其实就是一个简单的kmp应用:ans = n % (n - f[n]) == 0 ? n / (n - f[n]) : 1其中f是失配函数 1 //#pragma comment(linker, "/STACK:1677721600") 2 #include 3 #include ... 阅读全文
posted @ 2015-07-26 20:25 再见~雨泉 阅读(266) 评论(0) 推荐(0) 编辑
摘要: HDU 3065AC自动机 这个也可以拿来做模板了,使用静态数组模拟建树 1 //#pragma comment(linker, "/STACK:1677721600") 2 #include 3 #include 4 #include 5 #include 6 #include... 阅读全文
posted @ 2015-07-26 20:22 再见~雨泉 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 裸的AC自动机,这倒题不能使用静态数组模拟建树的过程,10000*50*26这样会爆内存,所以使用指针,使用结构体动态分配new这个可以用来做模板了 1 //#pragma comment(linker, "/STACK:1677721600") 2 #include 3 #include ... 阅读全文
posted @ 2015-07-26 20:18 再见~雨泉 阅读(292) 评论(0) 推荐(0) 编辑
摘要: HDU 4825对于给定的查询(一个整数),求集合中和他异或值最大的值是多少按位从高位往低位建树,查询时先将查询取反,然后从高位往低位在树上匹配,可以匹配不可以匹配都走同一条边(匹配表示有一个异或值为1的边,选择当然最好;不能匹配说明不存在一条异或值为1的边,那么只存在一条为0的边,也不得不选) 1... 阅读全文
posted @ 2015-07-26 20:11 再见~雨泉 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 字典树建树,然后dfs搜索即可 1 //#pragma comment(linker, "/STACK:1677721600") 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #in... 阅读全文
posted @ 2015-07-26 20:04 再见~雨泉 阅读(287) 评论(0) 推荐(0) 编辑
摘要: HDU 3973通过哈希函数将一个字符串转化为一个整数,通过特定的方式可以使得这个哈希值几乎没有冲突(这就是关键之处,几乎没有视为没有= =!, 其实也可以考虑实现哈希冲突时的处理,只是这道题没必要而已),然后使用线段树维护修改后的哈希值。因为输入的字符串只有26个,考虑使用一个大于等于26的素数p... 阅读全文
posted @ 2015-07-26 20:02 再见~雨泉 阅读(309) 评论(0) 推荐(0) 编辑