T2萎了,后来被不知道谁的大神数据卡掉9pts,重金悬赏这个人的头颅。 我写的很水,别看了。 A. 合并集合 区间DP的题一般很典型,也不能想出什么杂东西来。 不同的是我刚开始求区间不同数的个数的时候用的主席树在线$O(n^3log)$,算着2e8,极限数据开$O2$2.4s正打算卡常,突然脑抽的发 ...
分类:
其他好文 时间:
2019-11-09 11:50:17
阅读次数:
76
$T1:合并集合$ 断环成链,区间$dp$ $T2:climb$ 显然如果确定了最终的药那么前面每次一定尽量选$A-B$最大的药 考虑按照$A-B$排序,枚举每一个时间作为答案 那么有两种情况 1,用还没有吃过的药跳出 2,用之前吃过的药跳出 对于第二个情况,设取出的药为$m$,考虑取出一个之前吃过 ...
分类:
其他好文 时间:
2019-11-09 11:26:39
阅读次数:
79
题目描述: 方法:区间dp O(N^3) class Solution: def minimumMoves(self, A: List[int]) -> int: N = len(A) dp = [[0] * (N+1) for _ in range(N+1)] for i in range(N+1 ...
分类:
编程语言 时间:
2019-11-05 15:30:40
阅读次数:
231
区间dp 常见题型 求区间[1,n]XXXXX后的最大/小值,一般分为无要求或只能/最多分成m段两类 做法 如对分段无要求,设dp[i][j]表示序列中[i,j]的最值,最外层循环区间长度,第二层循环左端点,并能确定右端点,第三层枚举断点; cpp for(rint len = 1;len incl ...
分类:
其他好文 时间:
2019-10-25 18:39:07
阅读次数:
76
$Solution$ 当$n$在$100$左右时,直接$O(n^3)$区间$DP$ 当$n$在$40000$左右时,需要用贪心算法: 加西亚 瓦克斯算法 ($Garsia\ Wachs$) 这是大概的流程 这是关于$Garsia\ Wachs$算法的正确性证明: "传送门" 时间复杂度最坏为$O(n ...
分类:
其他好文 时间:
2019-10-23 09:32:56
阅读次数:
93
字符串折叠 题目描述 折叠的定义如下: 一个字符串可以看成它自身的折叠。记作S = S X(S)是X(X>1)个S连接在一起的串的折叠。记作X(S) = SSSS…S(X个S)。 如果A = A’, B = B’,则AB = A’B’ 例如,因为3(A) = AAA, 2(B) = BB,所以3(A ...
分类:
其他好文 时间:
2019-10-21 13:33:29
阅读次数:
110
T1 。。简单题,只是考试时想出来了写错了考后10min过了。。 确定出正的和负的的绝对值最大处即可,可以dfs求。 T2 50pts 区间dp,复杂度为$O(n^3)$。 70pts 考虑dp,f\[i][j]表示在前i个数中还有j个左括号未匹配时的最大值,分正负考虑,然后考虑加右括号,左括号,不 ...
分类:
其他好文 时间:
2019-10-15 21:20:50
阅读次数:
182
1995年的noi区间dp题,这道题AC耗时达到了数月。 有一道题叫做果子合并,也是求合并的最小花费,但是那个题是可以随便合并两堆,但是这个题只能合并相邻的两堆,并且是一个环。对于环的问题,我们一般可以特判i==1和i==n或者倍增转化成链的问题,长度为两倍的时候即可涵盖所有环的情况。meanwhi ...
分类:
其他好文 时间:
2019-10-12 18:44:52
阅读次数:
69
【区间dp让人头痛……还是要多写些题目练手,抽空写篇博客总结一下】 这题区间dp入门题,理解区间dp或者练手都很妙 ——题目链接—— (或者直接看下面) 题面 在一个圆形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的 ...
分类:
其他好文 时间:
2019-10-06 09:56:57
阅读次数:
67
Analysis 总体来说是一个区间DP 此题首先是一个环,要你进行删边操作,剩下的在经过运算得到一个最大值 注意事项: 1.删去一条边,剩下的构成一条线,相当于求此的最大值,经典区间DP该有的样子; 2.现在大概想法有了,还有一个细节,就是当中会出现负数,负数*负数是可能超过当前的最大值的,所以我 ...