【算法】树状数组||线段树 【题解】括号法,对于每个K=1的操作标记左右括号的位置,即在left和right的位置分别+1(不同标记)。 对于每个K=2的操作,答案就是right前面的左括号数量-(left-1)前面的右括号数量、 用树状数组或线段树优化。 注意数组在传递给函数时是传递地址,即在函数 ...
分类:
其他好文 时间:
2016-08-18 21:25:19
阅读次数:
152
这题我的代码在hdu上AC,在uva上WA。 题意:按顺序输入n个串以及它的权值di,要求在其中选取一些串,前一个必须是后一个的子串。问d值的和最大是多少。 (1≤n≤2×10^4 ,串的总长度<=3*10^5) 题解: 这题一开始我的方向就错了,想了很久d[x][y]表示在AC自动机上的节点x、下 ...
分类:
其他好文 时间:
2016-07-18 12:40:39
阅读次数:
276
用线段树优化凸包。 注意以下细节: 1.必须先递归非重儿子,若先递归重儿子,可能会把有用解踢掉。 2.不能每条链只建一个凸包,因为凸包不能只用某一部分去更新答案(可能不在考虑范围中的点联合某点踢掉了最优的点)。 还有就是老实地用double比斜率吧,不然爆long long。 ...
分类:
其他好文 时间:
2016-05-14 10:16:54
阅读次数:
124
附上这道题的链接:http://poj.org/problem?id=1769 题目的意思是有一个装置可以输出n个数的最大值, 这个装置由m个排序器组成, 每个排序器可以将这n个数从s 到 t的数按照从小到大的顺序排列, 有一个人发现将m个排序器中的一些排序器去掉仍然不影响功能, 现在问你最少需要多 ...
分类:
其他好文 时间:
2016-05-13 13:37:50
阅读次数:
209
http://codeforces.com/problemset/problem/629/D 题目大意: 我第一反应就是求最长上升子序列和 但是数值太大了 不能直接dp求 可以用线段树优化一下 ...
分类:
其他好文 时间:
2016-05-11 12:50:11
阅读次数:
184
题目链接:http://codeforces.com/problemset/problem/629/D 题意就是现有n个蛋糕,蛋糕的形状是圆柱体,每个蛋糕的体积就是圆柱体的体积,每个蛋糕的编号是1 n,可以把蛋糕 i 放到蛋糕 j 上面,前提是 j<i 并且 Vj<Vi;最后求最大的体积是多少; 实 ...
分类:
其他好文 时间:
2016-05-11 10:51:16
阅读次数:
179
dp+线段树优化,水题 有几个要注意的地方,首先是注意到Pi可以提出来,所以不用double,降低进度误差;接着考虑提出来后会不会爆longlong,最大情况n*a[i]=n*r*r*h=1e5*1e4*1e4*1e4=1e17,显然不会,于是就可以愉快地用longlong了。。 被自己蠢哭了。。。
分类:
其他好文 时间:
2016-02-22 00:16:40
阅读次数:
198
首先将矩形离散化成一系列线段, 这里以横边为例, 我们将横边离散化之后按照纵坐标排序, 纵坐标相同的时候始边在前。 然后对于一个线段,对应区间的pos[j]++, 如果pos[j]由0-》1 或者由 1 -> 0那么ans++. 这个过程还可以使用线段树优化, 代码如下: /* ID: m15002
分类:
其他好文 时间:
2016-02-10 17:39:57
阅读次数:
241
Oh My Holy FFF Time Limit: 5000/2500 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others) Total Submission(s): 606 Accepted Submission(s): 141 P
分类:
其他好文 时间:
2016-01-31 21:46:14
阅读次数:
276
链接:http://acm.hdu.edu.cn/showproblem.php?pid=3450
题意:
给你一串长度为n的序列,给一个d,要求找出有几个子序列能够满足两个相邻的元素之间差值不超过d。
思路:
dp。定义dp[i]表示以第i个为结束的满足条件的子序列的个数。
转移方程:dp[i]=(∑i?1j=1dp[j])+1(abs(num[i]?num[j])<=d)dp[i] =...
分类:
其他好文 时间:
2015-08-29 17:04:16
阅读次数:
188