随笔分类 -  贪心

摘要:传送门 发现 nk 可行,猜测是 O(nk) 的 DP。 容易想到设计 dp[i][j] 表示前 i 个物品,允许恶魔使用 j 次魔法的最大价值。 但是这样转移是有后效性的,因为恶魔可能在只考虑前 i 个物品的时候 与 只考虑前 j 个物品的时 阅读全文
posted @ 2024-11-18 15:20 FLY_lai 阅读(6) 评论(0) 推荐(0) 编辑
摘要:传送门 记 Li=max1j<i,tj+(ij)Tj,即使得 i 会越狱的最靠近 i 的人。则有 i 不越狱当且仅当 [Li,i) 放了床垫。 问题转变为放 D 个床垫,使得最多的 [Li,i) 内有床垫。 观 阅读全文
posted @ 2024-11-17 15:31 FLY_lai 阅读(3) 评论(0) 推荐(0) 编辑
摘要:传送门 题意:给定一棵树,选 m 条路径,最大化覆盖的点个数。n106。 容易想到每次选两个叶子是最优的。 假设有 l 个叶子,就会选 min(2m,l) 个叶子。进一步地,叶子的父亲们也会覆盖 min(2m,cnt) 个 …… 从叶子出发进行拓 阅读全文
posted @ 2024-11-12 16:09 FLY_lai 阅读(7) 评论(0) 推荐(0) 编辑
摘要:传送门 给定一棵 n 个节点的树,根节点是 1。这棵树的每一个叶节点都有一只小蚂蚁。每过 1 秒钟,可以选择让一些蚂蚁向父节点走一步。注意,两只蚂蚁不能同时在一个除去根节点的节点上。 问这些蚂蚁最少用多少秒的时间,使得所有蚂蚁都走到根节点。 根结点的各个子树独立,因此可以各个 阅读全文
posted @ 2024-11-10 22:22 FLY_lai 阅读(10) 评论(0) 推荐(0) 编辑
摘要:传送门 题意:重排序列 a,最小化 i=1ngcd(a1ai)1n105。 贪心:每次选让当前序列 gcd 最小的数。 证明:若第 i 个数的位置存在一种选法更优。假设在这个更优的方案里选了 x,在贪心的方案 阅读全文
posted @ 2024-10-08 21:25 FLY_lai 阅读(13) 评论(0) 推荐(0) 编辑
摘要:打的算不错的了。就是 C 的部分分没时间打满了。 警示:调试的时候切忌过分相信自己的某一部分代码!!!请把任何一个函数都注释一遍检查错误源头。 T1 签到题。记录 pfx[],suf[] 表示从前往后尽量少走、从后往前尽量多走,会走到哪里。 然后枚举 i=0m,看 \(pf 阅读全文
posted @ 2024-09-24 16:28 FLY_lai 阅读(30) 评论(0) 推荐(0) 编辑
摘要:传送门 [AGC014D] Black and White Tree 给出一颗 N 个节点组成的树,每个节点都可以被染成白色或者黑色; 有高桥(先手)和青木(后手)两个人————高桥可以把任意一个点染成白色,青木则可以把任意一个点染成黑色,每个点只可染色一次。 重复上述操作直到所有点都被染色 阅读全文
posted @ 2024-04-23 19:28 FLY_lai 阅读(7) 评论(0) 推荐(0) 编辑
摘要:传送门 题意:109×109 的白色平面上,给定 m50 个矩形将其涂黑。每次可以选 min(h,w) 的代价将一个 h×w 的矩形涂白,问涂成全白的最小代价。 可以看作每次涂一整条或一整列。如果不是 109 的范围,可 阅读全文
posted @ 2024-04-15 21:13 FLY_lai 阅读(10) 评论(0) 推荐(0) 编辑
摘要:传送门 题意:给定初始 a 数组,每次可以选一个长度为奇质数的区间取反。问全变成 0 要多少次操作。 和 Password、Xor Replace 的套路相同,做一个差分。 令 bi=aiai1,目的就是让 b 数组变为全 0 阅读全文
posted @ 2024-04-09 18:54 FLY_lai 阅读(12) 评论(0) 推荐(0) 编辑
摘要:题意:给定一个序列,要求从中选出 k 个不相交的区间使和最大。n105。 如果 DP,至少 O(n2)。而这题可以模拟费用流做。 【费用流模型】 建立 n+1 个点 p1pn+1,\(p_i\rightarrow p_{i+1}\ 阅读全文
posted @ 2024-04-02 18:28 FLY_lai 阅读(31) 评论(0) 推荐(0) 编辑
摘要:传送门 题意:有 n 个队友和 m 个敌人,每个队友 iai 颗子弹。敌人 jbj 颗子弹。 队友击杀敌人,必须 ai>bj,然后会获得 aibj+wj 的收益。(wj: 每个敌人都有一个参数) 每 阅读全文
posted @ 2024-03-31 10:43 FLY_lai 阅读(66) 评论(0) 推荐(1) 编辑
摘要:传送门 NOI 的题果然是非常的难且有意思。还有就是推荐一下command_block 的题解。 这题的题意比较难。 题意:有 n 种菜,初始每种菜有 ci 个,单价 ai,如果不出售每天会变质 xi 棵。第一次卖这种菜会获得 si 的奖励。每天至多卖 阅读全文
posted @ 2024-03-30 10:17 FLY_lai 阅读(34) 评论(0) 推荐(0) 编辑
摘要:传送门 题意:已知未来 n 天的股价 ci,每天可以买入一支或者卖出一支,求 n 天后利润总额最大是多少。 算法:模拟费用流。 【费用流模型】 把每一天抽象为一个结点:d1dnSd1dn,容量 \(1\ 阅读全文
posted @ 2024-03-29 20:17 FLY_lai 阅读(16) 评论(0) 推荐(0) 编辑
摘要:P1484 种树 有 n 个坑。第 i 个坑种树的价值是 ci,相邻坑不能同时种。可以种 k 颗树,求最大价值。 模拟费用流,建图类似这样: 中间两层结点之间有 7 条边,表示 n=7 的情况。相邻两条边,例如 1,2 总流入量为 1 阅读全文
posted @ 2024-03-29 19:15 FLY_lai 阅读(23) 评论(0) 推荐(0) 编辑
摘要:P5470:NOI2019 序列 题意:给定两个长度 n 的序列 a,b。 要求各选出 k 个数,使得这 2k 个数之和最大,且两个序列选出的数至少有 l 个位置相同。 n2×105。 算法:模拟费用流。 【费用流模型】 关键点在 阅读全文
posted @ 2024-03-27 22:13 FLY_lai 阅读(30) 评论(0) 推荐(0) 编辑
摘要:模拟费用流。 传送门 题意:共 n=x+y+z 个人,每个人可以选择获得 ai 个金币或 bi 个银币或 ci 个铜币。要选 x 个人拿金币,y 个人拿银币,z 个人拿铜币。问币数总和最大是多少。n105。 先建出费用流 阅读全文
posted @ 2024-03-25 21:37 FLY_lai 阅读(27) 评论(0) 推荐(0) 编辑
摘要:算法:线段树维护,模拟费用流。 传送门 你需要生产 k 张光盘。每张光盘都要经过两道工序:先在 A 工厂进行挤压,再送到 B 工厂涂上反光层。 你知道每天 A、B 工厂分别加工一张光盘的花费。你现在有 n 天时间,每天可以先送一张光盘到 A 工厂(或者不送),然后再送一张已经在 A 阅读全文
posted @ 2024-03-25 21:36 FLY_lai 阅读(18) 评论(0) 推荐(0) 编辑
摘要:模拟费用流,顾名思义,就是直接跑费用流会超时,于是尝试用数据结构模拟费用流的过程。 在某些题里,模拟费用流就是 "反悔贪心"。 标一下 command_block 的博客 LOJ574:黄金矿工 LOJ6405:征服世界 UOJ455:雪灾与外卖 P6122:Mole Tunnels 【普通模型】 阅读全文
posted @ 2024-03-22 20:30 FLY_lai 阅读(55) 评论(0) 推荐(0) 编辑
摘要:题意:有 K 个城市,第 i 城市至多有 N[i] 个人,每个城市有一个属性 Q[i]。 对于 N=N[i] 个人,每个人有一个属性 P[i] 和价值 W[i],把第 i 个人放进第 j 个城市中,当且仅当 \(P[i 阅读全文
posted @ 2024-03-18 21:12 FLY_lai 阅读(14) 评论(0) 推荐(0) 编辑
摘要:传送门 这玩意是 T2 ??? 观察到 k=2n2k=2n1,所以我们可以尝试让每个栈里面都保持两张牌。同时保留一个空栈,用来消栈底。 记这个保留的空栈为 sp。 策略 1: 如果当前牌堆顶的牌能消,必然消; 否则除了 sp,如果存在一个没有填到两张牌的栈, 阅读全文
posted @ 2024-03-02 16:56 FLY_lai 阅读(8) 评论(0) 推荐(0) 编辑

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