摘要: 银月城传送门 集训day9上午各种神仙分治真心听不懂,自己颓着把点分治学了,简单(并不)写一下再加深一下理解吧。 一、点分治是个啥 点分治是通常用来处理树上路径统计问题的一种分治方法。尤其适用于大规模的数据处理。时间复杂度最高为O(nlogn)。 例如求树上两点间距离,点分治就远优于dfs求两点距离 阅读全文
posted @ 2019-02-18 15:14 .Terena 阅读(205) 评论(1) 推荐(1)
摘要: 火焰之地传送门 祭第五道黑题 叫序列操作的题怎么都这么恶心 coding30min,debug三小时,线段树你值得拥有 太久不写博客了,本来想集训完回家再一起写,但是de了线段树的bug真的敲不动主席树了,写(水)篇题解吧。 题意如下: 给定一个长度为n的序列。 有m次操作,操作分为: 1.区间加; 阅读全文
posted @ 2019-02-16 21:25 .Terena 阅读(242) 评论(2) 推荐(1)
摘要: 月光林地传送门 一道简单dp....(不知道是什么dp) 状态很简单,但要分为三个数组表示: dp[i]表示区间1——i至少合并的次数 sum[i]表示前缀和 last[i]表示第i个数 显然要从左边开始推,当右边加入一个新数时,在保留前j个数不变并合并合法的条件是sum[i]-sum[j]>=la 阅读全文
posted @ 2019-02-01 20:22 .Terena 阅读(160) 评论(2) 推荐(0)
摘要: 大漩涡传送门 标签是树形dp,但其实没啥必要用dp。 显然数据给出的是树形结构,要求所有叶子节点到根节点路径长度相同,可以想到自下向上地进行维护。 首先从根节点dfs,找到叶子节点后向上回溯,先维护父节点的所有子节点到父节点最大边权。 然后维护ans,ans为最大边权减去所有到子节点的边权。因为边权 阅读全文
posted @ 2019-01-31 09:17 .Terena 阅读(146) 评论(0) 推荐(0)
摘要: 银月城传送门 树形dp+1 状态好想得不得了:定义f[i][j]为i点在j步以内的所有奶牛数 转移方程的初步形式也很容易得出来:f[i][j]=sum(f[s][j-1]) 但是这样会有一个问题,如果j>1,对于每个子结点s,都有继续向下推下去,但这样显然会重复累加一些边。 所以需要减去重复累加的边 阅读全文
posted @ 2019-01-30 16:28 .Terena 阅读(136) 评论(0) 推荐(0)
摘要: 银月城传送门 又一道区间的dp。 状态dp[i][j]表示队列中i——j可行的排列方法。 首先定义边界:对于每一个点,dp[i][i]=1(显然) 然后导一下状态转移方程,大区间必然由小区间转移而来,但是转移方法可以有多种。完成区间排列的最后一步,既可以由在左边插入i完成,也可以通过在右边插入j完成 阅读全文
posted @ 2019-01-30 16:13 .Terena 阅读(113) 评论(0) 推荐(0)
摘要: 不稳定的传送门 基础区间的dp题 状态很容易得出:dp[i][j]表示区间i——j可以合成的最大数。 状态转移方程很显然:if (dp[i][k]==dp[k+1][j]) dp[i][j]=max(dp[i][j],dp[i][k]+1) 那么只需要先枚举结点,在以该结点为中心向两边枚举长度即可, 阅读全文
posted @ 2019-01-30 09:09 .Terena 阅读(126) 评论(0) 推荐(0)
摘要: 铁炉堡传送门 一道树状dp,在处理子问题上的做法真的就是单纯的标准dfs树状dp。从叶子节点向上枚举可以得到每个节点的最大子树,但这题的问题在于,没有给出根节点,而且每个节点都可以作为根节点。 那么我们只需要枚举每个结点作为根节点时的情况。在每种情况中,遍历与根结点相连的结点,求出以该节点为根节点的 阅读全文
posted @ 2019-01-29 21:35 .Terena 阅读(141) 评论(1) 推荐(0)
摘要: 传送门 声明几个定义: 1.二分图 对于一个图G=(V,E),若能将其点集分为两个互不相交的两个子集X、Y,使得X∩Y=∅,且对于G的边集V,若其所有边的顶点全部一侧属于X,一侧属于Y,则称图G为一个二分图。 2.二分图匹配 对于一个二分图G的子图M,若M的边集E的的任意两条边都不连接同一个顶点,则 阅读全文
posted @ 2019-01-21 10:41 .Terena 阅读(159) 评论(1) 推荐(0)
摘要: 应用的是dijkstra算法,这种算法的思想类似于贪心。 首先,将所有点分为已知最短路和未知最短路两类。开始时,只有出发点的最短路已知,为0,其余点都标记为正无穷。我们要求出出发点到所有点的最短路径,因此进行点数轮循环,每轮循环中,遍历与已知点间有边相连的点,更新与出发点的最短路径。然后从所有更新的 阅读全文
posted @ 2019-01-21 09:12 .Terena 阅读(271) 评论(0) 推荐(0)