随笔分类 - 题解
摘要:Description Input Output Sample Input Sample Output Hint 因为若两个矩阵可以相乘,那么$A[i].y=B[i].x$,故可以把$n$个矩阵的序列拉成$2n-1$数的序列 简单的区间DP,设f[i][j]为$[i,j]$为一个矩阵的最小代价 $f
阅读全文
摘要:题目链接 退役前发文了。 排序和离散都是稳定的一只$log$的做法,这里给大家介绍一种玄学复杂度的数据结构,$hash$表。 $hash$表的思想很简单,将所有对$mod$取模在一个同余类的数用链表串起来 (不要告诉我你不会链表),这样时间复杂度就依赖于$mod$大小。**理论上来说**,$mod$
阅读全文
摘要:题目链接 题目大意:一个n个节点、m条边的无向连通图。我们依次用l,a描述一条边的长度、海拔。对于接下来Q个询问,每一天Yazid都会告诉你他的出发点v,Yazid需要从v到1,以及当天的水位线p,所有海拔不超过水位线的边都是有积水的。 每一个询问,Yazid在出发点都拥有一辆车。这辆车不能经过有积
阅读全文
摘要:题目链接 不会推结论,单调队列万岁!题目大意: 给出若干个等腰直角三角形的顶点,要求有多少个点没有被其他三角形覆盖 先按$x$坐标对顶点排序,单调队列维护所有未被覆盖的点,对于$i$,把它可以覆盖的点从队尾弹出(即队尾元素的左端点≥i的左端点),执行完操作后,如果$i$未被现在的队尾覆盖就入队。 最
阅读全文
摘要:此题理论最优解 题目链接 题目大意:路径修改,子树求和 明显是树剖的模板,但树剖的时间复杂度高达了优秀的$\Theta(Q \;log^2n)$,而实际上树上差分可以把时间复杂度降到$\Theta(Q \;logn)$。 设$tag[x]$为$1$到$x$的路径上全都加了这个值,显然对于$(x,y)
阅读全文
摘要:题目链接 题目大意:找出一条第一行到路径第n行,使得路径上的最大值最小,输出这个值 最大值最小,不就是二分答案的标志吗?我们二分路径上的最大值,转为判定。 然后跑一遍BFS,若下个格子的值小于等于mid则可以走,否则不行,走到了第n行就return 1 我才不会告诉你我第一时间想的是二分答案+最短路
阅读全文
摘要:题目链接 题目大意:给定一棵树,每个点带点权,请你求出点权和最大的联通块和是多少。 树形DP简单题 设f[x]为以x为根的子树,含x的联通块点权最大和。对于每个v(v∈son(x)),只要f[v]不是负数就把v选上。 f[x]=∑max(f[son(x)],0)
阅读全文
摘要:题目链接 题目大意:给定一个字符串集合P和一个字符串S,问S可以由P集合内元素拼成的最长前缀长度。 KMP?不可能的。 一看这种题就是来一记大爆搜,设DFS(pos)表示搜到了S的第pos位,枚举下一个位置i,[pos,i]字串若在集合P中出现过则DFS(i+1),ans=max(ans,i)。 特
阅读全文
摘要:题目链接 题目大意:一个长度为n的序列a,可以在每两个元素间添加加号或乘号,一共可以添加k个乘号,n-k-1个加号,括号可以随便加,请你求出最大的结果,n≤15。 明显的区间DP啊,设f[i][j][p]为[i,j]区间中有p个乘号的最大值。 f[i][j][p]=max{f[i][t][q]+f[
阅读全文
摘要:题目链接 题目大意:有n个二元组,先按第一关键字排序,定义价值为每相邻两个元素第二关键字差的绝对值和。现在去掉k个二元组,请你求出最小的价值。 第一关键字至于排序有关,排完序后完全可以不要。 与其考虑去掉k个二元组,不如保留n-k个二元组。 设f[i][j]为前i个二元组保留j个的最小代价(必须含i
阅读全文
摘要:题目大意:树上的每一个节点都有一个d[i],定义为离最远节点的距离,还有一个s[i]=(d[i]+a)×b%c,再m次询问,每次询问给定(x,y,q),要求求出(x,y)路径上距x最近的一个点,且满足当前点的s[i]≥q。 emm...这一看就是两道题强行拼起来的,先求出s[i],然后在处理路径上的
阅读全文

浙公网安备 33010602011771号