OI
文章平均质量分 68
johann_wyh
浙江大学 竺可桢学院 计算机科学与技术 在读
展开
-
【Trie】bzoj1954——我终于当了权限狗了!
终于当了权限狗了,真是爽翻 重要的事说三遍…1A…1A…1A Trie的应用,虽然简单,但感觉还是很精妙哒 求根节点到各点的异或值,然后机智的贪心一下 2n>∑2ii∈[0,n−1]2^n > ∑2^i i∈[0,n-1] 所以从最高位开始,若该为相异,则选取之一定是更优的 所以按位建立Trie然后遍历query每一个异或值就可以了#include <bits/stdc++.h>us原创 2015-07-27 18:35:17 · 2113 阅读 · 0 评论 -
【SuffixArray】bzoj1717 [Usaco2006 Dec] Milk Patterns 产奶的模式
传送门:BZOJ1717解题思路先把正解说一说:单调队列或者二分 然后么。。为什么我写的这么长?! 是罗穗骞的论文题嘛……就当给后缀数组练手吧 可重叠k次重复字串YM代码#include <bits/stdc++.h>using namespace std;#define rep(i, a, b) for(int i = (a); i <= (b); i++)#define red(i,原创 2015-08-10 20:37:08 · 798 阅读 · 0 评论 -
【bzoj1208】[HNOI2004]宠物收养所
传送门:戳这里看原题解题思路这道题其实是第二次写了,听了金牌爷XZH的STL安利大会,对于set这个阉割版的核武器重拾自信。 所以吧,我拿这道当年splay的一血……练手……-_-|| 个人感觉,对STL的更熟练掌握,是建立在对C++的运行、编译方式的深刻理解上的。 当年觉得自己splay写的妙极,现在大力打脸。代码#include <bits/stdc++.h>using namespac原创 2015-08-11 21:33:44 · 1001 阅读 · 0 评论 -
【bzoj1087】[SCOI2005]互不侵犯King
传送门:戳这里看题面解题思路dp[i][j][k] 表示到第i行为止,用了j个国王,且第i行的排列方式是k的总方案数 因为第i行的状态只与第i-1行和第i+1行有关,所以只要从上到下dp,并预处理 c1[i] 和 c2[i][j] 分别表示状态i是否合法以及状态i, j 能否相邻 这样就能O(1) 转移了 题目很水,然而我预处理错了很多次。。智商简直虚数代码#include <bits/std原创 2015-08-12 23:08:06 · 1132 阅读 · 0 评论 -
【AhoCorasickAutoMata】bzoj3172[Tjoi2013]单词
传送门:点击打开链接从浙江玩了一圈回来,提起AC自动机,拍的挺顺的,然后就忘记初始化了……这道题不难思考,感觉比2938那题还容易想题目要求的是每个单词在文章中出现的次数,这本身就是一个自己匹配自己的过程,所以很容易想到是在AC自动机上的操作由于失配函数不遗漏且不重复的,递归地表示了每一个从属关系,自然只要沿着失配边的反方向就能够递推得到每个单词的出现次数了代码如下:#in原创 2015-08-01 22:03:58 · 443 阅读 · 0 评论 -
bzoj2938——AhoCorasickAutoMata
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2938我会拼AC自动机服不服:AhoCorasickAutoMata就这么厉害病毒代码,总长不超过30K……明显AC自动机吗……建出来建出来题目要求一个无限长的安全子串,为什么能无限长呢,也就是说它在AC自动机上匹配模板永远匹配不到等价于永远走不到一个val值为1的节点原创 2015-07-29 20:10:30 · 413 阅读 · 0 评论 -
bzoj1355——KMP
ans=n-fail[n]KMP想一想,解题不烦恼然而并没有什么卵用,先粘一个错误代码吧【为什么MarkDown编辑器的代码字体这!么!丑!虽然很好用(鱼与熊掌不可得兼)】#include using namespace std;#define rep(i, a, b) for(int i = (a); i <= (b); i++)#define red(i, a, b) f原创 2015-07-28 22:15:35 · 409 阅读 · 0 评论 -
bzoj1031[JSOI2007]字符加密Cipher——SuffixArray
传送门:点击打开链接折腾半天,终于开始后缀数组了个人感觉吧,后缀数组是比AC自动机难拍的,但思考难度不增加太多(或者说都不容易)然而这题是比较简单的这道题无非就是对n个排列进行排序,问题在于不能用n^2的空间存储下每一个串,自然可以想到用后缀数组把每一个后缀排序得到rank,以此代替要求的排列【如果不能理解,请看这一行:因为n个排列是可排序的,在它们后面加上一些字符再进行排序并原创 2015-08-04 22:31:22 · 377 阅读 · 0 评论 -
【bzoj1009】[HNOI2008]GT考试
阿申准备报名参加GT考试,准考证号为N位数X1X2….Xn(0<=Xi<=9),他不希望准考证号上出现不吉利的数字。他的不吉利数学A1A2…Am(0<=Ai<=9)有M位,不出现是指X1X2…Xn中没有恰好一段等于A1A2…Am. A1和X1可以为0原创 2015-12-16 23:37:56 · 574 阅读 · 1 评论