给定 \(n\) 个点的树,要求一种树剖方案使得"代价"尽可能小。 \(n\le 10^5\)。 设 \(f_u\) 表示只考虑 \(u\) 的子树时的代价,枚举重链 \((u,v)\),其中 \(v\) 是叶子。 代价有两部分,一部分是重链连出的子树的 \(f+siz\) 之和,还有一部分是重链的 ...
分类:
其他好文 时间:
2021-06-28 17:52:23
阅读次数:
0
~~为什么题解的复杂度都带根号啊…迷惑~~ 题意: ~~题目的翻译很清楚。~~ 先把字符串翻转,容易证明答案不变。 我们考虑最优的办法,容易证明,最优解中,如果是非真子集,那么很显然长度是 ~~(算了稍微解释一下,就是如果你多出来的就删掉,保留一个这种递增序列,这样一定最优)~~ ${1,2,3,4 ...
分类:
其他好文 时间:
2020-05-02 18:34:32
阅读次数:
88
链接:https://codeforces.com/contest/1334/problem/F 题意:定义函数f,对于一个含n个元素的数组arr,首先有一个空的数组c,按顺序对arr数组元素进行操作,若ai大于c数组所有元素,则将arr[i]加入c数组末尾,最后得到的数组c=f(arr)。现在给你 ...
分类:
其他好文 时间:
2020-04-25 14:15:39
阅读次数:
78
动态开点线段树+dp。 题目转换成求$x_i$ include include include include include include include include include include include // include include include pragma GCC ...
分类:
其他好文 时间:
2020-03-29 11:02:31
阅读次数:
49
题目传送门:https://ac.nowcoder.com/acm/contest/4743/E 题解:可以翻看我的提交记录。 ...
分类:
其他好文 时间:
2020-03-14 13:07:37
阅读次数:
61
Atcoder ABC158 F Removing Robots 线段树+dp 题意 一条直线上有机器人,每个机器人有一个激活后行进值D[i],当激活它时,它就会向x轴方向走D[i]距离。进行后它就会离开坐标轴。激活有两种方式,一种是手动激活,一种是当一个机器人在激活状态时的行进距离[x[i],x[ ...
分类:
其他好文 时间:
2020-03-08 09:23:23
阅读次数:
177
CF932F(李超线段树+dp) 此题又是新玩法, 李超线段树合并优化$dp$ 一个显然的$\Theta(n^2)dp$: $dp[x]$表示从x出发到叶子节点的最小代价 $dp[x] = \min(dp[y] + a[x] b[y]) ~~(y \in subtree(x))$ 如果我们将$b[y ...
分类:
其他好文 时间:
2020-02-07 01:00:10
阅读次数:
65
https://www.acwing.com/problem/content/description/331/ 貌似只能够从下往上反推,从上往下不知道走哪个方向好。每次找出这个平台A下落到哪个平台B,再从B的左右端点向上转移。 include using namespace std; typedef ...
题意:给定一个字符串s 现在让你用最小的花费 覆盖所有区间 思路:dp[i]表示前i个全覆盖以后的花费 如果是0 我们只能直接加上当前位置的权值 否则 我们可以区间询问一下最小值 然后更新 #include <bits/stdc++.h> using namespace std; const int ...
分类:
其他好文 时间:
2019-09-22 19:22:08
阅读次数:
77
layout: post title: 2019 Multi University Training Contest 3 author: "luowentaoaa" catalog: true tags: mathjax: true ACM ICPC 1004.(二分加线段树DP) 因为二分的值越大 ...
分类:
其他好文 时间:
2019-07-30 01:00:18
阅读次数:
140