摘要:
最近两周做了动态规划的23道经典好题,涉及到区间、树形、数位等三种动态规划类型,现在将这23道题的题解写在下面,方便大家借鉴以及我加深记忆。 upd at:20190815 13:41.T14周年纪念晚会 1、石子合并 经典的区间DP问题,枚举合并的堆数作为阶段,设f[i][j]表示i->j这段区间 阅读全文
摘要:
NOIP2012提高组D2T2。 这道题目非常基础,正解貌似是二分+差分数组,在这里提供一种线段树的思路。 很容易发现题目让我们每次修改一段区间,然后我们只需要看每一个区间内有没有负数就可以了。可以用线段树维护每个区间内的最小值,修改的话就直接减就可以了,不要忘了标记下放(否则只有5分...)最后查 阅读全文
摘要:
今天模拟赛的题,,,唯一没有Giao出来的题(不然我就AKIOI了~) 最开始没想到数学题,把所有部分分都说一遍吧: 35分:纯暴力O(M^4)枚举,对于每一组a,b,c,d验证其是否合法。 60分:经过读题,不难发现a,b,c,d单调递增,可以考虑对其进行排序后再暴力枚举,枚举量减少近一半。 85 阅读全文
摘要:
闲来无事,特意回味一下去年担当NOIPD1T3(防AK却没能防住)之大任的经典好题。 首先看到什么“最短赛道的长度尽可能大”,就知道离不开二分。于是我们想到了一种思路:二分+树上贪心。 二分判定很简单,就是对于二分出来的答案mid,检查树上是否有大于m条不相交的,权值和大于mid的链。而如何凑出尽可 阅读全文
摘要:
#网络流的概念# 网络流(network-flows)是一种类比水流的解决问题方法,与线性规划密切相关。网络流的理论和应用在不断发展,出现了具有增益的流、多终端流、多商品流以及网络流的分解与合成等新课题。网络流的应用已遍及通讯、运输、电力、工程规划、任务分派、设备更新以及计算机辅助设计等众多领域。( 阅读全文
摘要:
标准的二分答案。 首先考虑暴力做法,即枚举最终答案ans,对于第一个可行的ans一定是最优解(在ans时间内可以烘干在ans+t(t>=0)的时间内也就一定可以烘干)由于N<=500000的数据范围绝对会TLE,因此需要优化。 接下来考虑优化,由于之前提到的性质,设f(i)表示在i时间内有无可能烘干 阅读全文
摘要:
三分模板。 三分法求单峰函数最优值,之后每次取所有二次函数最优值即可 1 #pragma GCC optimize(3,"Ofast","inline") 2 #include<iostream> 3 #include<cstdio> 4 #define N 100005 5 #define eps 阅读全文
摘要:
抹茶学长给的标程可以被卡到O(N2M2)??? 考虑二分答案+暴力check+离散化+卡常数 首先进行离散化,其实判重的话会更快,但是由于矩阵元素大小太大了,hash判重MLE,所以我就直接记录了NM个元素之后排序,即可二分离散化后数组中的下标。 二分离散化数组的下标,对于每一个下标考虑暴力chec 阅读全文
摘要:
ZYC同志开农场了????? 二分答案。 对于每一个二分出来的答案对其进行检查(check),检查是否有一个长度大于m的字段和的平均值大于mid。方法如下:先把原数组的每一个元素减去mid,储存进一个新的数组中,我们只需要看这个数组中有没有一段子串和大于0即可(因为都减去了mid,如果大于零加回来后 阅读全文
摘要:
同样是搜索经典题。 优化并不多,只需在当前步数已经大于目前答案时剪枝就可以了。 此题重点在于如何判断第k个矩形能不能选。 设矩形i的左上坐标为i(squ[i].upx,squ[i].upy),右下角坐标为i(squ[i].dox,squ[i].doy)。则判断k号矩形可以涂的条件为: if(!vis 阅读全文