合集-NOIP2024集训

摘要:NOIP2024集训Day20 DP常见模型1 - 序列 A. [JOI2022 Final] Let's Win the Election 贪心+DP。 首先,一定是所有协作者同时在同一个州演讲,这样才最优。 然后,假设我们已经知道所有州的方案(支持、支持+协作、反对),那我们一定是先按照从小到大 阅读全文
posted @ 2024-09-04 15:40 Leirt_Abu 阅读(20) 评论(0) 推荐(0)
摘要:NOIP2024集训Day21 DP常见模型2 - 背包 A. [BZOJ 4987] Tree 树形背包dp 先考虑几个显而易见的性质: 选出的点一定是相邻的 对于选出的点,如果从 \(a_k\) 再走回 \(a_1\),那么就相当于每条边经过了两次 由于题目没有包含 \(dis(a_k,a_1) 阅读全文
posted @ 2024-09-04 15:40 Leirt_Abu 阅读(34) 评论(1) 推荐(0)
摘要:NOIP2024集训Day22 DP常见模型1 & 2 - 序列 & 背包 A. [SCOI2003] 字符串折叠 因为前面折叠了会对后面产生影响,所以很显然不能贪心。 考虑区间DP。 定义 \(f_{i, j}\) 表示 \(i\) 到 \(j\) 范围内可以折叠到的最短长度。答案为 \(f_{1 阅读全文
posted @ 2024-09-04 15:41 Leirt_Abu 阅读(26) 评论(0) 推荐(0)
摘要:NOIP2024集训Day23 DP常见模型3 - 区间 A. [CSP-S 2021] 括号序列 区间 dp,令 \(f_{l, r}\) 表示从位置 \(l\) 到位置 \(r\) 一共的合法序列总情况数量。 一共有六种不同的转移情况,所以将 \(f_{l, r}\) 扩充到三维。 全是 * ( 阅读全文
posted @ 2024-09-05 09:54 Leirt_Abu 阅读(40) 评论(0) 推荐(0)
摘要:NOIP集训Day24 DP常见模型3 - 区间 A. [CF1572C] Paint 设 \(f_{i, j}\) 表示区间 \([i, j]\) 涂成一种颜色的最小染色次数。可以发现对于区间 \([i, j]\),一定有一个最优方案使得整个区间最后染色成 \(a_j\)。 证明: \(j\) 在 阅读全文
posted @ 2024-09-06 10:33 Leirt_Abu 阅读(29) 评论(0) 推荐(0)
摘要:NOIP2024集训Day27 DP常见模型4 - 树形 C. [ARC101E] Ribbons on Tree 直接容斥。题目要求每一条边都被覆盖,那么我们就容斥至少有几条边没有被覆盖。 那么没有被覆盖的几条边一个可以把整棵树划分成很多连通块,每一块的贡献就是 \(g(sz - 1)\),定义 阅读全文
posted @ 2024-09-12 16:18 Leirt_Abu 阅读(32) 评论(0) 推荐(0)
摘要:NOIP2024集训Day32 DP常见模型6 - 数位 C. [CF55D] Beautiful numbers 如果当前数能够被它所有数位整除,意味着它能够被所有数位的 lcm 整除。 所以 dp 的时候前面所有数的 lcm 要压进 dp 值中。 但是 lcm 的余数是有意义的,又不能暴力记录, 阅读全文
posted @ 2024-09-19 16:06 Leirt_Abu 阅读(16) 评论(0) 推荐(0)
摘要:NOIP2024集训Day36 DP优化 A. [NOIP2023] 天天爱打卡 前段时间才看过这道题。dp + 线段树优化 + 离散化。经典。 考虑朴素 dp。定义 \(f_i\) 表示考虑到第 \(i\) 个位置,并钦定第 \(i\) 天跑步的最大能量值。 枚举最后一段跑步时间,有:\(f_i 阅读全文
posted @ 2024-09-23 22:17 Leirt_Abu 阅读(28) 评论(0) 推荐(0)
摘要:NOIP2024集训Day37 DP A. [CQOI2011] 放棋子 设 \(f_{i, j, k}\) 表示前 \(k\) 种棋子放了任意 \(i\) 行、\(j\) 列。决策是:在哪些位置填同种颜色的棋子。 于是美剧上一个状态的 \(i, j\)(表示为 \(l, r\)),上一状态 \(k 阅读全文
posted @ 2024-09-28 15:58 Leirt_Abu 阅读(17) 评论(0) 推荐(0)
摘要:NOIP2024集训Day39 DP A. [AGC002F] Leftmost Ball 反向考虑,从最终状态,倒退它能指向多少种初始状态。 dp 策略:从左往右放,每次对最左边的一个空位,要么放一个白球,要么放一个有颜色的球,同时把该种颜色剩下的球都放到后面的位置去。 具体的:定义 \(f_{i 阅读全文
posted @ 2024-09-26 16:01 Leirt_Abu 阅读(23) 评论(0) 推荐(0)
摘要:NOIP2024集训Day43 博弈论 怎么说,这些题就是想得出来就想得出来,想不出来就是想不出来 A. [ABC261Ex] Game on Graph 假设图是一个有向无环图,那么直接 DAG 上 dp 即可。轮到 Alice 时在所有后继节点中取最小值,轮到 Bob 时在所有后继节点中取最大值 阅读全文
posted @ 2024-10-04 18:56 Leirt_Abu 阅读(38) 评论(0) 推荐(0)
摘要:NOIP2024集训Day44-45 图论 A. [BZOJ3706] 反色刷 欧拉回路,易于发现有解的充要条件是没有奇点。 我们需要注意到,白边不一定不走,只要走偶数次就可以。 所以我们可以将白边堪称两条黑边,这样对每个点的奇偶性是没有影响的,而且同样是求欧拉回路。 用并查集先维护出连通块之后,只 阅读全文
posted @ 2024-10-05 09:56 Leirt_Abu 阅读(24) 评论(0) 推荐(0)
摘要:NOIP2024集训Day47 生成树+二分图 B. [THUPC2022 初赛] 最小公倍树 直接建边显然不行,考虑优化建边。 对于两个点 \(u\),\(v\),\((u, v)\) 的边权为 \(\displaystyle\operatorname{lcm}(u, v) = \frac{u\t 阅读全文
posted @ 2024-10-08 21:48 Leirt_Abu 阅读(27) 评论(3) 推荐(0)
摘要:NOIP2024集训Day49 图论 A. [BZOJ2348 中山市选2011] 杀人游戏 最优决策一定是我们找到一个点,使它能够尽可能到达更多的点,然后我们会发现必须询问的人缩点后就是入度为 \(0\) 的点。如果剩下了一个人,那么这个人是可以被推出来的。 即:入度为 \(0\) 的点是一定要被 阅读全文
posted @ 2024-10-14 16:04 Leirt_Abu 阅读(15) 评论(0) 推荐(0)
摘要:NOIP2024集训Day50 图论 A. [JSOI2012] 越狱老虎桥 先边双缩点,建出边双生成树。 在不额外加边的情况下,割掉树边会使子树内部断开;在加入边的情况下,若加入一条 \(1 - u\) 的边,则形成了一个 \(1 - u\) 的环,环无法通过割一条边断开;而连接树上两个节点 \( 阅读全文
posted @ 2024-10-14 16:05 Leirt_Abu 阅读(22) 评论(0) 推荐(0)
摘要:NOIP2024集训Day52 图论 A. [CF1253F] Cheap Robot 先用 Dijkstra 求出每个点离他最近的关键点的距离,设点 \(u\) 的距离为 \(dis_u\)。 设 \(u\) 的容量为 \(x_u\),那么一定满足 \(c - dis_u \ge x_u \ge 阅读全文
posted @ 2024-10-15 19:24 Leirt_Abu 阅读(22) 评论(0) 推荐(0)
摘要:NOIP2024集训Day53 图论 A. [BZOJ4144 AMPPZ2014] Petrol 首先注意到起点和终点都是加油站。 假设中途经过某个非加油站的点 \(u\),\(u\) 连到 \(v\),离 \(u\) 最近的加油站是 \(x\),那么从 \(u\) 到 \(x\) 加油后回到 \ 阅读全文
posted @ 2024-10-17 17:11 Leirt_Abu 阅读(16) 评论(0) 推荐(0)
摘要:新高一暑假第一期集训恢复性训练【DP版块】(补) A. [CEOI2017] MUSEUM 树形 dp。 设 \(f_{i, j},g_{i, j}\) 表示以 \(i\) 为根的子树中,访问了 \(j\) 个点,回到 \(i\) 和不必回到 \(i\) 的代价。 转移的时候做类似于背包一样的东西。 阅读全文
posted @ 2024-10-20 19:23 Leirt_Abu 阅读(24) 评论(1) 推荐(0)
摘要:新高一暑假第一期集训恢复性训练【数据结构-并查集】(补) C. [POJ1417] True Liars 先将题目中的好人和坏人转换一下,也即是如果 \(x\) 说 \(y\) 是好人,则他们两属于同一组,反之则不属于同一组。 然后我们可以想到带权的并查集,用 \(val_x\) 代表 \(x\) 阅读全文
posted @ 2024-10-21 14:57 Leirt_Abu 阅读(15) 评论(0) 推荐(0)
摘要:NOIP2024集训Day57 哈希 A. [CF213E] Two Permutations 考虑到都是排列,值域连续,于是 \(a\) 都加 \(x\) 之后相当于在值域上平移了一段,也是连续的。由于要进行比较,个很容易想到哈希。\(a\) 的哈希值很好维护,每次平移一位加上 \(\sum ba 阅读全文
posted @ 2024-10-21 20:50 Leirt_Abu 阅读(17) 评论(0) 推荐(0)
摘要:NOIP2024集训Day58 字符串 C. [CEOI2011] Matching 发现要做的是排名串的匹配。 考虑把它转成这个位置之前有多少个数小于当前这个数,这样就只要每个位置都对应相等的,那就一定是合法的。 然后就可以类似 KMP 的预处理出一个 \(nxt\) 数组,然后再类似 KMP 的 阅读全文
posted @ 2024-10-22 20:27 Leirt_Abu 阅读(40) 评论(0) 推荐(0)
摘要:新高一暑假第一期集训恢复性训练【数据结构-杂题小练】(并查集)(补) A. [JOISC2014 Day2] 交朋友 首先,我们把从 \(x\) 连出去两条边的都合并,然后再去合并从 \(x\) 连出去一条原有边与一条新边的情况。 第一种情况直接枚举就行,第二种情况来一个多源 bfs 即可。 B. 阅读全文
posted @ 2024-10-22 23:54 Leirt_Abu 阅读(15) 评论(0) 推荐(0)
摘要:新高一暑假第一期集训恢复性训练【数据结构-晚测】(并查集)(补) [CF1290C] Prefix Enlightment 带权扩展域并查集。 任意三个子集的交集为空集,显然,一个点最多只能在两个集合中出现,这样所有集合的大小之和是 \(\Theta(n)\) 的。 一个在两个集合中出现的点ii相当 阅读全文
posted @ 2024-10-23 21:18 Leirt_Abu 阅读(13) 评论(0) 推荐(0)
摘要:新高一暑假第一期集训恢复性训练【树状数组巩固小练】(补) A. [POJ2182] Lost Cows 不难发现要从后往前确定每头牛的身高,这样每头牛的身高就是 \(1\sim n\) 中没被选过的第 \(a_i + 1\) 大的数(因为有 \(a_i\) 头比自己矮),那么我们只需用树状数组维护一 阅读全文
posted @ 2024-10-24 00:14 Leirt_Abu 阅读(14) 评论(0) 推荐(0)
摘要:新高一暑假第一期集训恢复性训练【数据结构-线段树晚测】(补) A. [CF1045G] AI robots 我们先按视野降序排序,这样一个一个考虑,如果后面的能看到前面,那前面的也肯定能看到后面。 这样,就是对于每一个机器人,在他前面有几个智商在 \([q-k,q+k]\),位置在 \([x-r,x 阅读全文
posted @ 2024-10-24 18:41 Leirt_Abu 阅读(25) 评论(0) 推荐(0)
摘要:NOIP2024集训Day65 贪心 A. [NOI2015] 荷马史诗 简化题意,即构造一颗 \(k\) 叉树,每个节点的权值为其所有孩子的权值之和,给定的 \(n\) 个数必须使用,其余空缺处用 \(0\) 补全。 考虑使用优先队列,首先弹入 \(n + (n-1) \% (k-1)\) 个元素 阅读全文
posted @ 2024-10-31 19:30 Leirt_Abu 阅读(34) 评论(0) 推荐(0)
摘要:新高一暑假第一期集训新课【笛卡尔树】(补) B. Beautiful Pair 如果构建一棵笛卡尔树的话那么两个点之间的 \(max\) 就在笛卡尔树的 \(\operatorname{LCA}\) 位置。 所以对于每个位置维护一个线段树,然后每次暴力枚举小的那棵子树在大子树的线段树中查询即可。然后 阅读全文
posted @ 2024-11-05 21:38 Leirt_Abu 阅读(20) 评论(0) 推荐(0)
摘要:NOIP2024集训Day71 贪心 A. [BalticOI2016 Day2] 交换 看到 \(x\) 和 \(\displaystyle\left\lfloor\frac{x}{2}\right\rfloor\) 我竟然没有想到树形结构,怕不是要废了 将 \(x\) 和 \(\displays 阅读全文
posted @ 2024-11-07 11:01 Leirt_Abu 阅读(23) 评论(0) 推荐(0)