Live2D

随笔分类 -  dp

摘要:link Solution 虽然但是,这个sb题目真的很sb,不知道怎么评到3400的,也不知道为什么我又没有做出来😥 可以发现的是,对于序列上面一段连续的极长自然数序列是相互独立的。所以也就意味着对于 $[l,r]$ 如果 $a_i$ 都相同,意味这它们会划分成 $(r-l+1)/a_l$ 段, 阅读全文
posted @ 2022-11-08 21:15 Dark_Romance 阅读(42) 评论(0) 推荐(0)
摘要:link Solution 首先可以看出的是,如果确定上下两排的值分别是哪些,那么一定是上面从小到大,下面从大到小。因为如果存在逆序对的话交换两者一定不会更劣。 然后假设我们已经确定了长什么样,考虑最大值如何产生,设 $\text{ans}=(1,1)\to (2,1)\to (2,n)$ 的贡献, 阅读全文
posted @ 2022-10-18 19:30 Dark_Romance 阅读(29) 评论(0) 推荐(0)
摘要:link Solution 可以看出的是,a 边所形成的连通块是固定的,然后 b 边的作用是把这些连通块串起来。 那么一条路径合法当且仅当不存在从一个 a 连通块通过 b 边出去然后又回来。正确性显然。 那么我们可以考虑一个暴力 dp 即是 $f_{S,u}$ 表示已经走过了 $S$ 这个集合里的 阅读全文
posted @ 2022-10-18 11:32 Dark_Romance 阅读(70) 评论(0) 推荐(0)
摘要:link Solution 我们考虑设 $v=\max_{i} p_ib_i$,可以看出如果一次我们操作成功了那么我们后面就是一直产生 $m$ 的贡献,那么我们就可以设 $f_t$ 表示还剩 $t$ 时间的最大期望贡献,可以得到转移式: $$f_t=\max_i(p_i((t-1)v+a_i)+(1 阅读全文
posted @ 2022-10-18 11:24 Dark_Romance 阅读(57) 评论(0) 推荐(0)
摘要:link Solution 不是很难,不知道为啥之前没做出来。 不难看出我们有如下转移式: $$f_{u}=\sum f_{v}\times P_{u,v}\times (\prod_{f_t<f_v} (1-P_{u,t}))+1$$ 那么我们可以发现的是,这个玩意一定不会产生环,因为有环的话不如 阅读全文
posted @ 2022-10-13 18:43 Dark_Romance 阅读(37) 评论(0) 推荐(0)
摘要:link Solution 又被踩爆了。。。/kk 注意到对于似乎对于值域上的一段,它的贡献总是一个一次函数形式,因为一开始初始值 $-1$ 的话,在没有影响后面模出 $0$ 的情况下,贡献会 $-n$。 所以我们可以考虑对这条直线进行 dp,设 $f_{i,j}$ 表示对于前面 $i$ 个数 $\ 阅读全文
posted @ 2022-09-22 22:10 Dark_Romance 阅读(56) 评论(0) 推荐(0)
摘要:link Solution 其实说难感觉会了之后也不算太难,就是莫名其妙地想不到。 我们考虑定义 $f_i$ 表示前面 $i$ 个能覆盖的最大连续前缀,可以发现,这个是具有单调性的。 我们考虑如果 $f_{i-1}<i$,那么 $f_i\to f_{i-1}$。 如果 $f_{i-1}\ge i$, 阅读全文
posted @ 2022-09-20 21:49 Dark_Romance 阅读(2) 评论(0) 推荐(1)
摘要:题目传送门 Solution 首先这个树的限制几乎没用,我们可以先把每个点度数 $-1$,然后总的度数就是 $n-2$ ,设 $z$ 为度数为 $0$ 的点的个数。 可以看出,这个问题的麻烦之处就在于对于一个度数和还要求出有多少个满足的大小,而这个似乎只能 $\Theta(n^2\log n)$ d 阅读全文
posted @ 2022-09-08 22:19 Dark_Romance 阅读(39) 评论(0) 推荐(0)
摘要:题目传送门 Solution 首先我们可以看出求方差的期望其实就是求 $E(x^2)-E(x)^2$。 首先考虑怎么求 $E(x)$。我们可以发现其实可以对于每一个数去算包含它的路径数,所以我们可以设 $g(t,x,y)$ 表示 $t$ 时刻到 $(x,y)$ 的方案数,然后我们可以设 $f(i)$ 阅读全文
posted @ 2022-09-03 21:34 Dark_Romance 阅读(138) 评论(0) 推荐(0)
摘要:题目传送门 Solution 非常神奇的一道题。 我们不考虑交换操作,相反,我们去考虑把多少个 $0$ 的位置变为 $1$,同时我们记录选了多少个黑点,如果跟原来黑点数量相同即是合法。 此时我们可以发现一个神奇的性质对于 $u$ 的儿子 $v$,如果覆盖 $u$ 的节点不覆盖 $v$,那么覆盖 $v 阅读全文
posted @ 2022-08-31 20:19 Dark_Romance 阅读(32) 评论(0) 推荐(1)
摘要:题目传送门 Solution 首先不难想到容斥,我们可以钦定若干关系 $(u,v)$,表示 $u,v$ 的值相同,那么我们不妨设 $g(i)$ 表示至少有 $i$ 种这种关系的方案数,可以发现答案就是 $\sum_{i=0} (-1)^i g(i)$。后面的话我们把这种关系看成一条边。 考虑到实际上 阅读全文
posted @ 2022-08-31 12:05 Dark_Romance 阅读(33) 评论(0) 推荐(0)
摘要:这两题挺有意思的,而且比较相似,所以这里写一下。似乎这也是我省选之后第一篇题解。/kk Ridiculous Netizens 题目传送门 Solution 首先可以发现可以树上背包 $\Theta(nm^2)$ 直接合并。更进一步,我们考虑设 $f_{u,i}$ 表示以 $u$ 为根的连通块还能最 阅读全文
posted @ 2022-08-31 10:50 Dark_Romance 阅读(66) 评论(0) 推荐(1)
摘要:link 因为我太逊了,所以只说一下 T1 吧。 Solution 考虑如何避免算重,你发现我们可以每次变化,如果加1,我们就必须在1的最前面加,加0就在0的最后面加,那么就是: 在最开头插入一个 1 把 0 变为 01 把 1 变为 10 在最后面插入一个 0 考虑从最终状态不停逆操作,那么我们如 阅读全文
posted @ 2022-04-08 18:58 Dark_Romance 阅读(59) 评论(0) 推荐(0)
摘要:link Description 一个长度为 \(n\) 的字符串,每次可以将 aa 变为 b,也可以将 bb 变为 a,问最后能变到的不同字符串个数。 \(n\le 10^5\) Solution 可以看出的是我们将 a/b 的权值设为 1/2,那么每次操作在 \(\% 3\) 意义下和并不会改变 阅读全文
posted @ 2022-03-27 11:50 Dark_Romance 阅读(53) 评论(0) 推荐(0)
摘要:sequence link Solution 先考虑 \(a_{1,2,...,n}\) 存在重复的情况,那么我们可以求出它的最长不重复前缀以及最长不重复后缀,然后我们枚举它出现的位置,考虑判断合法的方案数。那么我们可以设 \(f_{i,x}\) 表示已经添加了 \(i\) 个,到当前有 \(x\) 阅读全文
posted @ 2022-03-03 21:51 Dark_Romance 阅读(68) 评论(0) 推荐(0)
摘要:排队 link Desciption \(n,m\le 10^5\) Solution 不难注意到的是,我们假设 \(f_i\) 为 \(i\) 之前 \(\le a_i\) 的值的个数,那么我们需要满足: \(\sum_{i=1}^{n} i-f_i=\sum_{i=1}^{n} i-\min(i 阅读全文
posted @ 2022-02-28 22:28 Dark_Romance 阅读(44) 评论(0) 推荐(0)
摘要:link Solution 首先不难想到网络流的做法,即每个点 \(S\to i\) 连 \(p_i\),\(i\to T\) 连 \(s_i\),然后 \(i\to j(i<j)\) 连 \(c\),跑最大流即可。 考虑到最大流等于最小割,所以我们考虑用 dp 去优化网络流。我们可以发现我们从前往 阅读全文
posted @ 2022-02-22 22:38 Dark_Romance 阅读(48) 评论(3) 推荐(1)
摘要:T1 Desription 定义长度为 \(n\) 的“好”的串 \(s\) 满足: \(|s_i-s_{i-1}|=1 ,i\in [2,n]\) \(s_i \geq \dfrac{g_{i-1}+g_{i+1}}{2}, i\in [2,n-1]\) 给你两个长度为 \(n\) 的序列 \(a 阅读全文
posted @ 2022-02-12 15:59 Dark_Romance 阅读(69) 评论(1) 推荐(1)
摘要:蚌埠住了,挂了 \(75\%\) 的分。 T1 Description 给出一个序列,分成若干段,把每段最大值取出来作为 \(B_{1,2,...,n}\),使 \(\sum_{i=2} ((B_i-B_{i-1})^2+C)\) 最大。 \(n\le 10^6\) Solution 考试的时候傻了 阅读全文
posted @ 2022-02-09 16:37 Dark_Romance 阅读(68) 评论(0) 推荐(0)
摘要:link Description 对于一个长度为 \(n\) 的序列,选出一个子序列,使得相邻两项的并之和最大。 \(n\le 10^6\) Solution 考虑到我们可以设 \(f_i\) 表示前面 \(i\) 个以 \(a_i\) 的最大序列价值,那么我们可以发现 \(f_i\) 是具有单调性 阅读全文
posted @ 2022-02-05 16:46 Dark_Romance 阅读(43) 评论(0) 推荐(0)