07 2015 档案
摘要: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 ...
阅读全文
摘要:HDU 3065AC自动机 这个也可以拿来做模板了,使用静态数组模拟建树 1 //#pragma comment(linker, "/STACK:1677721600") 2 #include 3 #include 4 #include 5 #include 6 #include...
阅读全文
摘要:裸的AC自动机,这倒题不能使用静态数组模拟建树的过程,10000*50*26这样会爆内存,所以使用指针,使用结构体动态分配new这个可以用来做模板了 1 //#pragma comment(linker, "/STACK:1677721600") 2 #include 3 #include ...
阅读全文
摘要:HDU 4825对于给定的查询(一个整数),求集合中和他异或值最大的值是多少按位从高位往低位建树,查询时先将查询取反,然后从高位往低位在树上匹配,可以匹配不可以匹配都走同一条边(匹配表示有一个异或值为1的边,选择当然最好;不能匹配说明不存在一条异或值为1的边,那么只存在一条为0的边,也不得不选) 1...
阅读全文
摘要:字典树建树,然后dfs搜索即可 1 //#pragma comment(linker, "/STACK:1677721600") 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #in...
阅读全文
摘要:HDU 3973通过哈希函数将一个字符串转化为一个整数,通过特定的方式可以使得这个哈希值几乎没有冲突(这就是关键之处,几乎没有视为没有= =!, 其实也可以考虑实现哈希冲突时的处理,只是这道题没必要而已),然后使用线段树维护修改后的哈希值。因为输入的字符串只有26个,考虑使用一个大于等于26的素数p...
阅读全文
摘要:1 //#pragma comment(linker, "/STACK:1677721600") 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #incl...
阅读全文
摘要:题目链接Alternating Strings II题意是指给出一个长度为n的01串,和一个整数k,要求将这个01串划分为很多子串(切很多刀),使得每个子串长度不超过k,且每个字串不是01交替出现的串(例如01, 10, 101, 010, 101010这些都是01交替出现的串),求最少需要切多少次...
阅读全文
摘要:地址 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=73154#overview密码 acmore基础数据结构的专题,单调队列,单调栈,优先队列,堆,并查集,RMQ,线段树,树状数组A:HDU 3530单调队列不错的单调队列的题目 题解 ...
阅读全文
摘要:题意是说在水平轴上有很多建筑物(没有宽度),知道每个建筑物的位置与高度。有m个查询,每次查询位置x所能看到的天空的角度。方法是将建筑与查询一起排序,从左往右计算一遍,如果是建筑物,则比较最后两个(当前的与队尾的)斜率与队尾两个的斜率比较,如果较小则入队,否则一直出队尾元素直至满足条件(因为斜率为负数...
阅读全文
摘要:有一个矩阵,每次查询一个子矩阵,判断这个子矩阵的最大值是不是在这个子矩阵的四个角上裸的二维RMQ 1 #pragma comment(linker, "/STACK:1677721600") 2 #include 3 #include 4 #include 5 #include 6 #inc...
阅读全文
摘要:题意是说给出一棵树,N(10^5)个顶点,以及每条边的权值,现在需要选择连续的K个点(顶点编号连续),可以被选出来的条件是: 若d[i]代表顶点i到树上其他点的距离的最大值,使得区间[a, b]的d值的最大差值不大于Q, 也就是max(d[a], d[a ...
阅读全文
摘要:题意是说给出一个序列,现在要求出这个序列的一个最长子区间,要求子区间的最大值与最小值的差在[m, k]范围内,求区间长度做法是维护两个队列,一个维护到当前位置的最大值,一个维护最小值,然后计算当前节点i作为右端点的最常区间长度,那么扫描两个队列,维持单调性。然后比较两个队列头的差值,1.如果差值满足...
阅读全文

浙公网安备 33010602011771号