摘要: 题目大意:有一列只有'(',')','[',']'构成的括号序列,求在序列中至少加上多少括号,能使该序列合法。 解题思路:区间dp。 我们以$f[i][j]$表示把区间$[i,j]$添成合法括号所需的最小括号数。设某段序列为$S_0$,它对应区间为$[i,j]$,括号数为$f[i][j]$.若$S_ 阅读全文
posted @ 2017-08-05 10:47 Mrsrz 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给一个非降序排列的整数数组a,你的任务是对于一系列询问(i, j),回答ai,ai+1...aj中次数出现最多的值所出现的次数。 解题思路:由于是非降序排列,所有相同的数都是连在一起的。 本题可用RMQ做,但是我不会啊。 其实这题可以直接用线段树做(什么?RMQ可以用线段树做?我还是不会啊 阅读全文
posted @ 2017-08-05 10:01 Mrsrz 阅读(281) 评论(0) 推荐(0) 编辑
摘要: codevs1048: 题目大意:有n堆石子排成一列,每次可合并相邻两堆,代价为两堆的重量之和,求把他们合并成一堆的最小代价。 解题思路:经典区间dp。设$f[i][j]$表示合并i~j的石子需要的最小代价。则有$f[i][j]=min(f[i][k]+f[k+1][j]+\sum\limits _ 阅读全文
posted @ 2017-08-04 18:53 Mrsrz 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 题目:BZOJ1050、codevs1001、洛谷P2502。 题目大意:见BZOJ的题目描述。 解题思路:首先对所有的边按权值排序,然后枚举最小边i,对i~m的所有边,一条一条加进去,当s和t连通时(并查集维护)结束加边并判断最大边和最小边i的比值是否比当前答案较小,如果是则更新。最后得出的即为答 阅读全文
posted @ 2017-08-03 19:48 Mrsrz 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 题目大意:有n个文件,每个文件有一个大小和价值,有一个容量为s的U盘,要装这些文件。传输文件需要接口,一个大小为k的接口能传输的最大文件的大小为k。问最少要多大的接口,才能使传输的文件价值$\ge p$( 具体见原题)。 解题思路:二分接口的大小,对于每个二分出的答案,做一次背包问题(如果一个文件的 阅读全文
posted @ 2017-07-30 19:20 Mrsrz 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 题目大意:ACboy有n门学科,每门学科研究1~m天能获得不同的价值。他总共有m天,求最多能获得多少价值。 解题思路:典型的分组背包问题。 这个问题变成了每组物品有若干种策略:是选择本组的某一件,还是一件都不选。也就是说设f[k][v]表示前k组物品花费费用v能取得的最大权值,则有: f[k][v] 阅读全文
posted @ 2017-07-30 18:27 Mrsrz 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给出一个网络图,以及其源点和汇点,每条边已知其最大流量和单位流量费用,求出其网络最大流和在最大流情况下的最小费用。 解题思路:最小费用最大流模板。虽说此题最后两个点的时限是1200ms,但我觉得耗时在1000ms以上很不爽,于是对代码进行全面优化。然而最后一个点仍然有1050+ms。最后逼 阅读全文
posted @ 2017-07-30 15:00 Mrsrz 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给你一个序列,要你求该序列中最长严格上升子序列的长度。 解题思路:此题算是一道LIS模板题。普通的$O(n^2)$的LIS是会TLE的,因为$n\le 1000000$,所以此题要用单调队列优化的LIS,时间复杂度$O(n\log n)$。 C++ Code: 阅读全文
posted @ 2017-07-30 10:43 Mrsrz 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 题目:codevs1257、洛谷P1437 题目大意:有一些砖块呈倒三角形状,每块砖敲掉后有一个分数。除第一行外,敲掉一块砖必须先把上面两块砖敲掉。现在你能敲m块砖,求能得到的最大分数。 解题思路:此题是一道非常恶心的dp。我们先把砖块“左对齐”,然后敲掉砖块(i,j)(i>1)时,就必须先敲掉(i 阅读全文
posted @ 2017-07-29 19:55 Mrsrz 阅读(978) 评论(0) 推荐(0) 编辑
摘要: 题目:UOJ#2、BZOJ3668、洛谷P2114、codevs3311、Vijos P1864。 题目大意:一个人能释放0~m伤害值的能量,但能量穿过防御门时伤害值会经过一些运算(AND,OR,XOR)而改变,问你最终能对Boss造成多少伤害。 解题思路:贪心,我们枚举释放出的伤害值的每一个二进制 阅读全文
posted @ 2017-07-29 14:17 Mrsrz 阅读(391) 评论(0) 推荐(0) 编辑