随笔分类 -  学习总结

摘要:P11052 [IOI 2024] 象形文字序列 做一个题的通用思路,就是考虑问题的若干特例,即找部分分做法,然后做“启发式搜索”找最有思路的。 因为最长公共子序列是 NP-Hard,这里要 O(n2) 所以我们不能先求出最长公共子序列再判断。 考虑 A 是一个排列的部分分,那么考 阅读全文
posted @ 2025-02-13 21:11 s1monG 阅读(15) 评论(0) 推荐(0) 编辑
摘要:CF1286D LCC 这个题还是比较简单的,考虑拆贡献,将所有碰撞情况拿出来考虑其出现的概率,显然只有相邻的。 按照时间排序。假设我们钦定了 (i,i+1) 这对碰撞为最先碰撞的,那么需要满足若干条件: 例如若 j 向右,j+1 不能向左等,因为限制只存在于相邻两位,我们可 阅读全文
posted @ 2025-01-18 22:15 s1monG 阅读(10) 评论(0) 推荐(0) 编辑
摘要:P3514 [POI2011] LIZ-Lollipop 我们需要重点利用值只有 1,2 的性质。我们可以用 12 分段模型化题目。 一个想法是选最左边的 1 为左端点,往右二分到第一个 x 的位置,如果是 x+1 就将左端点右移。 但是 阅读全文
posted @ 2025-01-10 19:28 s1monG 阅读(8) 评论(0) 推荐(0) 编辑
摘要:新年好,各位。 P7054 [NWRRC2015] Graph 我们假设 k=0,那么我们求最小字典序就是通过一个小根堆维护当前入度为 0 的点,每次取出最小。 那么如果 k0,我们就可以阻止“取出最小”这个过程,也就是给当前最小这个点一个入边。 我们重复给当前最小 阅读全文
posted @ 2025-01-01 19:44 s1monG 阅读(13) 评论(0) 推荐(0) 编辑
摘要:实在是难以相信我竟然又来到了机房训练。 P10141 [USACO24JAN] Merging Cells P 一个简单的 dpi,l,r 表示最后如果剩下的是 i,当前 i 所处的区间是 [l,r] 的概率。 区间往外拓展当前仅当当前 [l,r] 区间 阅读全文
posted @ 2024-12-12 21:57 s1monG 阅读(27) 评论(0) 推荐(0) 编辑
摘要:这大概是最后一篇近期练习了。 P8365 [LNOI2022] 吃 与 CF2023F 很相似,对于 ai 分类,ai 相同的最多只会选 bi 大的前 logaiV 用于加。 所以考虑 dp,设 fv 表示少乘了 v 的贡献后最多 阅读全文
posted @ 2024-11-18 21:37 s1monG 阅读(46) 评论(0) 推荐(0) 编辑
摘要:板刷 ARC,再不刷就退役了。 ARC185A mod M Game 2 猜结论题,两个人牌的总和是 n×(n+1)。若 n×(n+1)modm=0>n 先手获胜。 显然手牌还有大于 1 张的时候不可能失败。 和取模 m 阅读全文
posted @ 2024-10-31 22:04 s1monG 阅读(51) 评论(0) 推荐(1) 编辑
摘要:CF1442D Sum 很显然可以设 fi,j 表示当前处理了前 i 个数组,选了 j 个数的最大值,然而转移需要 O(k)。 考虑挖掘题目数据元素非降的性质。猜个结论呢? 因为元素是逐渐变大的,所以越往后选就一定越优。所以,至多只有一个数组没有被选完。 这个很 阅读全文
posted @ 2024-10-16 21:57 s1monG 阅读(20) 评论(0) 推荐(0) 编辑
摘要:CF1993F2 Dyn-scripted Robot 这个题非常的一眼,首先翻转路径的操作可以转化为翻转矩形。 也就是,如果触碰了边界不改变行走的路径,而是继续走下去,只不过对应的位置需要对称回去。 那么,计算走到 (0,0) 的次数,也就是在反转后的坐标系里的 \((2k_1w,2k_2 阅读全文
posted @ 2024-10-05 20:16 s1monG 阅读(13) 评论(0) 推荐(0) 编辑
摘要:CF1261F Xor-Set 我们把 A,B 集合分别处理,把其拥有的区间放到字典树上,就会拆成 O(nlogV) 个区间。 考虑其两两组合,每个区间都是形如前面若干位确定,后面 x 位任意。 两个区间组合,就是取 x 更大的那个后面都是任意的,前面的若干位合并 阅读全文
posted @ 2024-09-26 15:44 s1monG 阅读(9) 评论(0) 推荐(0) 编辑
摘要:CF461E Appleman and a Game 我们可以先建出 SAM,设 dpi,u 表示当前处理到 i 位,SAM 上到 u 节点当前最小答案。 由于答案具有单调性,考虑二分答案,也就是二分 mid,考虑如何检验最短的串是否不超过 n阅读全文
posted @ 2024-09-22 21:03 s1monG 阅读(7) 评论(0) 推荐(0) 编辑
摘要:CF1930E 2..3...4.... Wonderful! Wonderful! 我们相当于计算 01 串的个数,0 表示删除了,1 表示还保留着。 考虑 01 串合法的条件:首先 0 的个数为 2k 的倍数;其次存在 1 使得其左侧和右侧 阅读全文
posted @ 2024-09-19 14:52 s1monG 阅读(8) 评论(0) 推荐(0) 编辑
摘要:P5044 [IOI2018] meetings 会议 对于 hi20 的数据,我们每个点维护单调栈,其代价为 x 的时候,取的位置是一个区间。 很显然已经有一个莫队算法,支持区间加,区间查询即可。然而不优。 其实单调栈与笛卡尔树是相似的,考虑建出笛卡尔树。 我们假设就对 阅读全文
posted @ 2024-09-07 07:51 s1monG 阅读(13) 评论(0) 推荐(0) 编辑
摘要:P3349 [ZJOI2016] 小星星 我们想到状压 dp,设 dpS,u,rt 表示 u 子树由 S 集合的点构成,根节点是 rt 的方案数。 这样的话,转移需要枚举子集,是过不了的。这里应该使用容斥。 尝试把编号是一个 1n 的排列这一条 阅读全文
posted @ 2024-09-04 21:59 s1monG 阅读(20) 评论(1) 推荐(0) 编辑
摘要:CF1677E 本题转化之后就是矩阵覆盖,矩阵查询被覆盖的点数。现在将讲解线段树如何实现这个。 扫描线的话将转化为求区间为 0 个数的历史和,历史和是很难的。 注意到我们每次把当前序列加入历史和去也就是把区间为 0 的位置加 1。 所以我的想法是在线段树节点上加一个标记 tm 阅读全文
posted @ 2024-08-23 14:51 s1monG 阅读(9) 评论(0) 推荐(0) 编辑
摘要:AGC060C 由于 A,B 分别位于树的左链和右链,所以我们不妨把这两个链剥出来。 考虑从小到大加数,从根开始向叶子加。 不妨设 fi,j 表示左链加 i 个数,右链加 j 个数,并且最后分别是 i 先的概率。 传统外向树拓扑序是 \(n!\prod 阅读全文
posted @ 2024-07-19 16:46 s1monG 阅读(17) 评论(0) 推荐(0) 编辑
摘要:P3488 [POI2009] LYZ-Ice Skates 我们对于鞋码为 x 的人,贪心地,显然先把鞋小的给他穿。 所以就有了一个暴力的检验方法:从左往右扫,并对应修改。但是这样太慢。 这是一个二分图匹配问题,考虑 Hall 定理。 对于任意 1lrn,当 阅读全文
posted @ 2024-07-17 19:25 s1monG 阅读(13) 评论(0) 推荐(0) 编辑
摘要:P3354 [IOI2005] Riv 河流 如果我们设 fu,j 表示子树 u 内放了 j 个伐木场的答案,发现很难转移。 我们多加状态,设 fu,i,j 表示子树 u 放了 j 个伐木场,木材全部运到 i 去最小代价。i 阅读全文
posted @ 2024-05-06 22:16 s1monG 阅读(43) 评论(0) 推荐(0) 编辑
摘要:P6619 [省选联考 2020 A/B 卷] 冰火战士 对于一次战斗,冰火两方能量较少的那方会耗尽,答案为这个能量的两倍。 我们就是要找一个中间值,左边的冰战士能量值之和与右边火战士能量值之和最小值最大。 离散化,我们可以二分找到第一个冰的前缀和大于火的后缀和的位置 p,答案为 \(p-1 阅读全文
posted @ 2024-04-28 22:17 s1monG 阅读(20) 评论(0) 推荐(0) 编辑
摘要:CF1924D 先考虑一个串的最长合法序列,维护一个栈,答案就是右括号加入时栈非空的次数。 我们看成从 (0,0) 走到 (n,m),发现没被匹配的右括号个数就是 xy 的最大值。 要想只有 k 个匹配,那么要和 xy=mk “相切”。 若 \(f(k) 阅读全文
posted @ 2024-04-23 22:01 s1monG 阅读(20) 评论(0) 推荐(0) 编辑

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