- 博客(15)
- 收藏
- 关注
原创 HDU 1711 Number Sequence(KMP模板)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1711KMP的模板题, 很简单; 用来做模板。#include#include#includeusing namespace std;const int maxn = 1e6 + 100;int a[maxn], b[maxn];int Next[maxn];void get_Ne
2015-10-30 16:00:23 307
原创 HDU 3068 最长回文(manacher算法模板)
manacher算法求一个串中的最长回文子串; 时间复杂度基本为O(n)。模板:#include#include#includeusing namespace std;const int maxn = 2*1e5 + 100;char s[maxn], a[maxn];int p[maxn<<1];int manacher(){ int n = strlen(s+1
2015-10-30 12:21:09 405
原创 POJ 2155(二维树状数组模板)
题目链接:http://poj.org/problem?id=2155题意:给出矩阵左上角和右下角坐标,矩阵里的元素 1变0 ,0 变1,然后给出询问,问某个点是多少。关于二维树状数组讲的比较好的连接地址:http://www.java3z.com/cwbwebhome/article/article1/1369.html?id=4804AC代码:#include#inclu
2015-10-29 21:41:14 401
原创 HDU 4819 Mosaic(二维线段树模板)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4819题意:对于二维的矩阵,需要查询一个区域的最大和最小值。修改单个点的值。#include#include#includeusing namespace std;#define _lson _l, _m, _rt<<1#define _rson _m+1, _r, _rt<<
2015-10-29 19:16:41 307
原创 HDU 4821 String(字符串哈希)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4821题意:给出M和L,和一个字符串S。要求找出S的子串中长度为L*M,并且可以分成M段,每段长L,并且M段都不相同的子串个数。哈希过后, 若Hash[i]-Hash[i+L]*K[L] == Hash[j]-Hash[j+L]*k[L], 则说明串s[i...i+L-1] 和串s[j.
2015-10-29 10:31:41 419
原创 HDU 4027 Can you answer these queries?(线段树)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4027题意:
2015-10-26 14:58:33 379
原创 ZOJ 3820 Building Fire Stations(树的直径+操作)
题意:给出n个点,n-1条边的一棵树,然后要在两个点上建立两个消防站,让所有点的到消防站最大距离的点的这个距离最小。分析:首先先求这个树的直径,然后在树的直径的中点处把树分成两棵树,然后在把两棵树分别取中点的最大值就是ans值。#include#include#include#include#includeusing namespace std;cons
2015-10-24 10:57:26 330
原创 Acdream 1430 SETI(后缀数组)
题目链接:http://acdream.info/contest?cid=1429题意:给一个串, 输出不可重叠且出现两次以上的子串的个数。分析:通过后缀数组求出最长公共前缀height数组, 我们就可以枚举子串的长度k,用k给height数组分组, 如果每组内的后缀的个数出现的次数大于2(说明出现次数大于2)且组内后缀的最大起始位置-最小起始位子>=k(说明不重叠), 则说明这个
2015-10-14 21:09:56 387
原创 CodeForces Two Sets(并查集)
题目链接:http://codeforces.com/problemset/problem/468/B题目大意:给你N个互不相同的整数,再给两个整数a,b,问能否把这N个数分成两部分,使得在a这个集合中的任一个数ai,都存在a-ai也在a 这个集合中,对b集合也同理。如果不存在一种合理分法,输出No,否则输出YES,并输出任一种合理分组。解题思路:首先我们先假设存在一种合理
2015-10-14 08:44:23 505
原创 ZOJ 3905 Cake (DP)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3905题意:A和B一共买了n(为偶数)块蛋糕, A和B的口味不同, 所以对每块蛋糕的喜欢值不同。 现在A和B要进行n/2次操作, A每次取两块蛋糕,B先选取。 问A得到的喜欢值的总和最大是多少。分析:如果单纯的从n个数中选取m个数使得到的和最大, 估
2015-10-12 09:20:04 422
原创 Acdream 1431 Sum vs Product(dfs+剪枝)
题目链接:http://acdream.info/problem?pid=1431题意:从1~n中挑出n个数,n个数的和于积相等, 问有多少种方案分析:我们观察可以发现, 如果这n个数从小到大排列,那么无论这n个数中前任意个数都是和大于等于积的; 所以我们在暴搜的时候如果积一旦大于和, 那么我们就不用搜了, 之后再也找不到合法的方案了。另外这个暴搜的时候不能搜1, 搜了会超时的
2015-10-10 10:59:41 336
原创 BNUOJ 39566 Do use segment tree(树链剖分——点权)
题目链接:http://www.bnuoj.com/v3/problem_show.php?pid=39566题意:给一颗树两种操作:1. 将a->b路径上的点权修改为c;2. 求a->b路径上的最大连续区间和;分析:树链剖分, 通过不断合并区间, 维护区间的最大连续和, 最大做连续和, 最大右连续和, 区间和两个区间合并时:最大连续和 = max(左区间最大连续和
2015-10-09 10:56:00 330
原创 acdream 1426 Beautiful People(双线最长单调子序列)
题目链接:http://acdream.info/problem?pid=1216题意:一个俱乐部有n个人, 每个人都有一个漂亮值和财富值。现在俱乐部要举办活动, 但是俱乐部中有些人是相互讨厌, 相互讨厌的人有两累即si=bj or si>=sj&&bi分析:很明显, 满足条件的人si, bi都是严格的单调的。 所以我们可以想到最长单调子序列, 这个就是多了一个条件的限制。我们可以
2015-10-07 10:50:35 311
原创 HDU 5496 Beauty of Sequence
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5496题意:给出一个整数序列, 去除序列中连续相邻的重复元素(只保留一个), 剩下来的数的和称之为序列的beauty.现在给你一个长度为n的整数序列A. 问序列A的所有子序列的beauty的和是多少. 由于答案可能很大, 你只要输出答 案对10^9+7取模的结果.分析:读完这样的题
2015-10-05 10:47:44 419
转载 HDU 5489 Removed Interval (LIS,变形)
转载地址:http://www.bubuko.com/infodetail-1120211.html题意: 给出一个n个元素的序列,要求从中删除任一段长度为L的连续子序列,问删除后的LIS是多少?(n思路: 如果会O(nlogn)求普通LIS的算法,这道题将变得很简单。 首先按照求LIS的思路,当扫到元素a[i]并完成操作后,a[1->i]就是一段
2015-10-01 15:09:52 340
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人