随笔分类 -  动态规划

摘要:题意:给定序列,把序列分成 k 段,使每一段相同元素对数之和最小。n105,k20,ain。 容易写出转移方程:dp[i][j]=mink=1i(dp[k1][j1]+w(k,i)),其中 w(k,i) 表示 \(a_k\ 阅读全文
posted @ 2024-12-11 20:11 FLY_lai 阅读(8) 评论(0) 推荐(0) 编辑
摘要:给定长度 n 的序列 a1an。 问题 1:给定固定的 k,选 k 个不相交的子段,和最大是多少。 问题 2:支持两种操作,全局加和查询区间最大子段和,允许离线。 问题 3:对 k=1n,求选 k 个不相交的子段,和最大分别是多 阅读全文
posted @ 2024-11-28 22:03 FLY_lai 阅读(47) 评论(0) 推荐(0) 编辑
摘要:题意: 给定一棵树,每个点有重量 wi 和价值 vi,每条边有长度 ci。 定义一个完美的点集 SS 连通、S 总重 MS 的价值最大。(即在所有连通且总重 M 的集合中,S 的价值最大) 阅读全文
posted @ 2024-11-22 19:57 FLY_lai 阅读(9) 评论(0) 推荐(0) 编辑
摘要:CF 传送门 AT 传送门 两题主要 Trick 相同。CF 的还多了一个小 trick。 给定一棵根节点为 1 的二叉树 T,你需要先保留一个包含 1 号节点的连通块,然后给每个点确定一个权值 ai,使得对于每个点 u 都有其权值 au 大于等于 阅读全文
posted @ 2024-11-21 20:04 FLY_lai 阅读(7) 评论(0) 推荐(0) 编辑
摘要:题意: 给定一棵树,第 i 个点的赋值范围是 [Li,Ri]。计数:选择一条路径,将路径上的点赋值,使得极差 K;并求出每种这样赋值方案的权值和。 n200,其余 109。 看见极差,考虑枚举最小值 x,然后统计 \([x 阅读全文
posted @ 2024-11-20 21:54 FLY_lai 阅读(18) 评论(0) 推荐(0) 编辑
摘要:传送门 这个分数规划非常显然了。问题转化为求最长的 len[L,U] 的链。 长链剖分优化。 dp[i][j] 表示 i 子树向下长度为 j 的链最大权值是多少。答案在合并时更新。用先长子深搜序 + 线段树对长链剖分进行优化。 另外点分治也可以,只能说都很暴力 阅读全文
posted @ 2024-11-19 11:32 FLY_lai 阅读(4) 评论(0) 推荐(0) 编辑
摘要:给定一棵树和 m 条路径,每条路径有权值。要求从中选若干条结点不相交的路径使得权值最大。 n,m105。 对于树上路径的 DP 问题,常常把路径的贡献/限制放到它的 LCA 处考虑。 令 dp[u]u 的子树内选完全在子树内的路径,结点不相交的最大权值 阅读全文
posted @ 2024-11-18 21:12 FLY_lai 阅读(15) 评论(0) 推荐(0) 编辑
摘要:传送门 发现 nk 可行,猜测是 O(nk) 的 DP。 容易想到设计 dp[i][j] 表示前 i 个物品,允许恶魔使用 j 次魔法的最大价值。 但是这样转移是有后效性的,因为恶魔可能在只考虑前 i 个物品的时候 与 只考虑前 j 个物品的时 阅读全文
posted @ 2024-11-18 15:20 FLY_lai 阅读(6) 评论(0) 推荐(0) 编辑
摘要:论战捆竹竿 题意:给定字符串 s,计数 "串 t 的长度" 可能的种数有多少种,使得 t 能被 s 作为印章印出来,且 |t|wn=|s|5×105nw1018。 第一步: 求出 \(s\ 阅读全文
posted @ 2024-11-09 18:20 FLY_lai 阅读(8) 评论(0) 推荐(0) 编辑
摘要:传送门 夏天近了,又到了恋爱的季节,小Q家门前的苹果树上结满了红红圆圆的苹果。 这株苹果树是一个有着n个结点的有根树,其中结点被依次编号为1n1号结点为根,其余每一个结点的父结点一定是某个编号较小的结点。每一个结点上都有一些苹果,第i个结点上有\(a_i 阅读全文
posted @ 2024-11-02 09:49 FLY_lai 阅读(39) 评论(0) 推荐(0) 编辑
摘要:传送门 小 C 有一棵 n 个结点的有根树,根是 1 号结点,且每个结点最多有两个子结点。 定义结点 x 的权值为: 1.若 x 没有子结点,那么它的权值会在输入里给出,保证这类点中每个结点的权值互不相同。 2.若 x 有子结点,那么它的权值有 \(p 阅读全文
posted @ 2024-11-02 08:14 FLY_lai 阅读(13) 评论(0) 推荐(0) 编辑
摘要:不愧是 ZJOI。 题意:有 n 种麻将牌,每种四张。定义 "胡牌" 为小鸡胡或普通七小对。给定初始 13 张牌,将剩下 4n13 张牌随机排列,问期望摸多少张牌能胡(假设采用最优决策)。n100。 先考虑怎么判定是否胡牌。 cnt[i] 表示前 \ 阅读全文
posted @ 2024-10-19 16:58 FLY_lai 阅读(15) 评论(0) 推荐(0) 编辑
摘要:T1: break 忘了写,于是 -20pts 离散化,若一个段被 3 个线段覆盖,无解;否则答案为 2cntcnt 为连通块个数。 这题卡常,要用 sort 离散化。 T2: 推式子,注意到轮数 logn 即可。 T3: 对于同色限制区间 阅读全文
posted @ 2024-10-12 20:26 FLY_lai 阅读(27) 评论(0) 推荐(0) 编辑
摘要:为什么会有傻子每次计算都初始化线段树一次 …… st = SegmentTree(n) 改成 st.mdf(1, n + 1, -1) 就 += 25pts 了…… T1 大力分讨题。 首先容易观察到,当 |a|=|b|a,b 都不含 的时候,T 不含 \( 阅读全文
posted @ 2024-10-05 22:15 FLY_lai 阅读(22) 评论(0) 推荐(0) 编辑
摘要:把 DP 过程当作状态进行 DP。DP of DP 一般数据范围不会太大,而且一般是计数题。 DP of DP 的本质是自动机上 DP。 大致上可以写作 dp[][S] 表示外层 DP 进行到 阶段,内层 DP 对应到 S 阶段。 例一:Hero mee 阅读全文
posted @ 2024-10-04 22:13 FLY_lai 阅读(197) 评论(0) 推荐(1) 编辑
摘要:【前置知识】 convex 与 concave:这是对于数组的概念。类比函数,下凸就是 convex,上凸就是 concave。 【<min,+>卷积问题】 考虑两个数组 a1n,b1m,定义它们的<min,+>卷积结果 c|c|=n+m阅读全文
posted @ 2024-10-03 20:31 FLY_lai 阅读(256) 评论(0) 推荐(0) 编辑
摘要:Jumping Sequences 把移动的上下左右改成左上、左下、右上、右下(坐标轴旋转 45°)。则最终目的地是 (A+B,AB)。 (以前移动的方式是 (±di,0),(0,±di)。现在每次移动的方式是 (±di,±di)阅读全文
posted @ 2024-10-03 10:22 FLY_lai 阅读(13) 评论(0) 推荐(0) 编辑
摘要:打的算不错的了。就是 C 的部分分没时间打满了。 警示:调试的时候切忌过分相信自己的某一部分代码!!!请把任何一个函数都注释一遍检查错误源头。 T1 签到题。记录 pfx[],suf[] 表示从前往后尽量少走、从后往前尽量多走,会走到哪里。 然后枚举 i=0m,看 \(pf 阅读全文
posted @ 2024-09-24 16:28 FLY_lai 阅读(30) 评论(0) 推荐(0) 编辑
摘要:当你填表法推了半年没推出来,为什么不试试刷表法呢? 洛谷传送门 在一行中有 n个格子,从左往右编号为 1n。 有 2 颗棋子,一开始分别位于位置AB。按顺序给出Q个要求,每个要求是如下形式: 给出一个位置 xi,要求将两个棋子中 阅读全文
posted @ 2024-09-18 14:49 FLY_lai 阅读(8) 评论(0) 推荐(0) 编辑
摘要:传送门 给定一棵树,带边权。1 的代价可以使某边权 ±1。求最小代价使从根到叶子距离都相等。 n3×105,we109fu(x) 表示 u 的子树内把 u 到叶子的距离都变成 x 的最小代价。\(F 阅读全文
posted @ 2024-09-17 20:28 FLY_lai 阅读(12) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示