题解
文章平均质量分 85
OMG_NOIP
高一了
[省选复习计划]( http://t.csdnimg.cn/TXo05 )
展开
-
P2403 [SDOI2010] 所驼门王的宝藏
对于“任意门”,用一个 vector 存每行有哪些点,然后二分。对于“横天门”和“纵寰门”建虚点即可。个连通块最多经过了多少给宝物。这道题的关键在于如何连边。连完边之后缩点,然后。原创 2024-08-30 10:19:51 · 267 阅读 · 0 评论 -
P2863 [USACO06JAN] The Cow Prom S【模板】强连通分量
~~~~强连通分量:原图一个极大子图使得从这个子图中的任意一个点出发都可以到达这个子图的任意一个点。原创 2024-08-29 19:56:34 · 544 阅读 · 0 评论 -
P10641 BZOJ3252 攻略
又发现其实选择最大路径的过程就是找一条长链使得链上的权值之和最大,所以用长链剖分。发现可以贪心,每次选择一条权值最大的路径,记录贡献后将路径上的点权设为。原创 2024-08-29 19:02:15 · 264 阅读 · 0 评论 -
Dominant Indices【模板】长链剖分
具体实现时,先用定义一个数组用来申请空间,然后用一个指针指向这个数组的开头,对于每条链,分配的空间大小就是链的长度。这个不好直接理解,建议看代码的指针部分。优化的关键点——继承,在同一条长链上时,父节点可以直接继承其重儿子的。可以发现重链剖分和长链剖分的主要区别就是一个注重大小,一个注重深度。什么是重链剖分:根据子树的大小将树拆成多条互不相交的链。子树的最深的节点的深度,即子树的最大深度。重链剖分中的重儿子:子树大小最大的儿子。不是同一条链的情况,就暴力合并。长链剖分的作用:优化和。,尤其是子树合并类的。原创 2024-08-29 16:01:03 · 573 阅读 · 0 评论 -
P8436 【模板】边双连通分量
的时候将遍历到的点放到一个桶里,若当前边是割边,则在桶内且时间戳大于等于当前点的时间戳的点就是一个边双连通分量。什么是边双连通分量?就是不包含割边的极大连通块。怎么找边双连通分量?原创 2024-08-27 16:53:23 · 492 阅读 · 0 评论 -
P6626 [省选联考 2020 B 卷] 消息传递
先将询问离线,这样就可以在点分治的时候一次性处理。本身,它要加上的贡献自然就是距离。,它需要加上的贡献就是距离。,注意实际操作的时候要先把。设当前遍历到的重心是。原创 2024-08-27 15:10:13 · 849 阅读 · 0 评论 -
P1282 多米诺骨牌
次后的上层之和和下层之和的差值的绝对值的最小值?发现上行的数与下行的数只和不变,所以设。个牌,且上行的数之和为。转移就是这样,不难理解。还有一件事~(老爹音)原创 2024-08-27 11:48:33 · 801 阅读 · 0 评论 -
P1156 垃圾陷阱
这道题的关键在于:你不能在死了之后通过吃东西复活,所以我们在状态转移的时候只转移活着的状态。的情况下的最大高度,对于每个物品有两种选择——吃或搭。再来看第二问:最长可以存活多长时间。那就是要全选择吃,贪心即可。先考虑第一问:最早什么时候可以爬出。将物品按时间排序,用。原创 2024-08-26 14:42:45 · 822 阅读 · 0 评论 -
P5662 [CSP-J2019] 纪念品
这道题的关键点在于,默认今天买的东西全部在明天卖出,为什么可以这样,因为“每天卖出纪念品换回的金币可以立即用于购买纪念品,当日购买的纪念品也可以当日卖出换回金币。”,就比如你有一个物品打算在第一天买入,第三天卖出,可以等价为:第一天买入,第二天卖出,第二天再买入,第三天再卖出。然后用完全背包做即可。原创 2024-08-26 07:45:21 · 117 阅读 · 0 评论 -
非传统题练习(自用)
∗:重点 ^:难点题单:https://vjudge.net/contest/645884#overview。原创 2024-08-04 19:56:43 · 640 阅读 · 0 评论 -
AtCoder Beginner Contest 355(F - MST Query)
AtCoder Beginner Contest 355 F - MST Query原创 2024-05-26 18:26:53 · 995 阅读 · 0 评论 -
动态规划——用带权的有向图描述状态的转移
股票买卖的另一种升级版Acwing [股票买卖(含冷冻期)]这道题原题面不知道为什么打不开,但是我们可以在LeetCode上看题面。发现这道题与股票买卖的差别就是卖完股票后不能立刻买股票,那我们往前多考虑一位就可以了。还是设dpi01dpi0/1为对于前iii天,第iii天未持有股票0(0)0持有股票1(1)1能获得的最大利润。如果你还有问题,可以私信我,如果是在工作日,我会尽量在121212小时内回复。正文结束。原创 2024-04-14 09:05:21 · 2040 阅读 · 3 评论 -
动态规划(dp)好题推荐:洛谷P1437 [HNOI2004] 敲砖块
那么就把原问题转化为沟画出重叠三角形的廓折线(图中的红线),找到一条合法的路径,使得围在轮廓线内的数字代价和最大。拿上图举例,如果你选的点是上图中红色的砖块,那就要敲掉红色砖块和所有蓝色砖块。那么需要敲掉的数量就要减去重合的部分(即下图的紫色部分),获得的价值也要剪掉重合的部分。这个例子说明当前选的砖块不只和它上方的两个砖块有关,还和其他的砖块有关,所以不满足。拿上图举例,如果你选的点是上图中红色的砖块,那么。紫色的点是之前选的。需要敲掉的数量就是蓝色砖块的数量,获得的价值就是所有蓝色砖块的价值和。原创 2024-04-09 09:22:59 · 2437 阅读 · 1 评论 -
题解:P2758 编辑距离
有4种操作(删除,添加,修改,不变)。所以4个子问题就是操作。为将A的前i位变为B的前j位的最小代价。的A变为B需要多少步。原创 2024-04-03 10:28:53 · 487 阅读 · 2 评论 -
题解:P3903 导弹拦截III
dp[i][0]=max(dp[j][1])+1(1\le j< i且h[i]h[j])$设 $dp[i][0/1]$ 为作为第(偶数/奇数)个被拦截的导弹,最大可以拦截多少个导弹。因为当前拦截的导弹可能在奇数位上,也可能在偶数位上,所以以这两种状态为子任务。### 第三步:推出转移方程。### 第四步:寻找边界条件。### 第一步:确定子任务。### 第二步:确定状态。原创 2024-04-03 11:06:40 · 154 阅读 · 0 评论 -
题解:CF1798C Candy Store
这意味着一个简单的贪心算法将会奏效。让我们选择最大的前缀糖果,使得一个价格标签足以覆盖它,为这个前缀“贴”一个价格标签,并重复剩余糖果,直到数组结束。不难理解,如果一组糖果只需要一个价格标签,那么如果从该组中移除任何一种糖果,仍然只需要一个价格标签。如果你还有问题,请在评论区留言或私信,我会尽量在24小时内解答。原创 2024-04-06 21:19:02 · 667 阅读 · 2 评论