自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 HDU 1711 Number Sequence(KMP模板)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1711 KMP的模板题, 很简单; 用来做模板。 #include #include #include using 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 #include using 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=4804 AC代码: #include #inclu

2015-10-29 21:41:14 401

原创 HDU 4819 Mosaic(二维线段树模板)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4819 题意: 对于二维的矩阵,需要查询一个区域的最大和最小值。 修改单个点的值。 #include #include #include using 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 #include using 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 504

原创 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关注的人

提示
确定要删除当前文章?
取消 删除