摘要: 数据结构 单调队列优化 dp 一般形式: \[f_i=\max\limits_{k=i-len}^{i-1}\{f_k+w_k\}+w' \]即 dp 方程由 可以在转移前维护的一段连续最值 + 在当前状态下已经确定,或可以预处理并以较低复杂度计算的元素(视作常量)组成。 此时可以将其视作滑动窗口处 阅读全文
posted @ 2024-01-23 16:46 CQWDX 阅读(68) 评论(4) 推荐(0) 编辑
摘要: 系统维护,该内容暂不可见。 洛谷,NM 什么时候可以展示个人主页。 阅读全文
posted @ 2024-01-21 18:47 CQWDX 阅读(22) 评论(0) 推荐(0) 编辑
摘要: Preface: 其实原来的思路挂了。看 #7 数据才有新的思路。 首先有一个贪心的思路:先不管那么多,在前面尽量从 \(1\) 开始顺序填充,把能放的 \([1,p]\) 先放了。 显然这样的方法在同等长度内是最优解。其实是没看出来怎么证。 手玩可得,若 \(2\mid p\),对三元组的数量贡献 阅读全文
posted @ 2024-01-12 10:33 CQWDX 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 序列 dp woc 之前写的什么玩意 LIS 首先是正常的 dp。 \[f_i=\max\limits_{a_j<a_i,1\leq i<j}\{f_j+1\} \]memset(f, 1, sizeof f); for(int i = 2; i <= n; i++) for(int j = 1; 阅读全文
posted @ 2024-01-10 22:24 CQWDX 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 题意略。 手玩一下,发现 polybeta Bob 赢面不大。 本来想模拟的。考虑结论题。 由于计入代价的操作只有 \(s_i=0\to1\) 一个,可以统计 \(0\) 的个数为 \(cnt\)。 由于这题和 Ezy Version 的唯一区别就是初始字符串是否为回文,很自然地想到对于初始串是否回 阅读全文
posted @ 2024-01-03 12:22 CQWDX 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 看到 \(k=50\),考虑按路径长度为一维度 dp。 设 \(f_{u,k}\) 为 从 \(1\) 到 \(u\) 路径长度为 \(d_u+k\) 的总方案数。 需要以倒拓扑序的顺序进行转移。 对于图上的每条边 \(e(u,v)\),有转移方程: \(f_{u,k}=\sum\limits_{e 阅读全文
posted @ 2023-12-26 20:57 CQWDX 阅读(78) 评论(1) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2023-12-25 20:01 CQWDX 阅读(5) 评论(0) 推荐(0) 编辑
摘要: [SDOI2010] 大陆争霸 第一眼看上去好像是最短路加了个强制拓扑。 也就是说当结界还没被破坏的时候,已经到达的机器人只能干等着。 在 dijkstra 中,机器人所在的点可以更新最短路。但拓扑图上该点的入度不为 \(0\),即结界产生器没有被全部破坏时,不能入队。 当炸掉一个结界产生器的时候, 阅读全文
posted @ 2023-12-25 18:58 CQWDX 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2023-12-23 20:07 CQWDX 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 不管怎么说,双倍经验。 题意很简洁了。 对于每个源点 \(s\),先跑一遍 dijkstra。显然,若满足 \(dis_v=dis_u+w_{u,v}\),则 \(e(u,v)\) 一定在最短路上。 显然在 \(w_{u,v}>0\) 时,不存在 \(u,v\) 使得 \(dis_u=d 阅读全文
posted @ 2023-12-23 15:32 CQWDX 阅读(12) 评论(1) 推荐(0) 编辑