![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
历年真题
文章平均质量分 74
逍遥Fau
为伊蕾娜献上心脏!
展开
-
2022东北四省赛 F. Tree Path (树剖 + 线段树维护堆)
题目链接: Tree Path大致题意给定一棵有nnn个节点的树, 其中有kkk条有权路径(保证不同路径边权互不相同), 有mmm次如下操作:0: 删除树中权值最小的路径1 x: 询问树中删除x节点后, 剩余连通边权中的最小值.解题思路相似题目参考本题的查询操作, 属于上题的强制在线版本, 因此我们可以用上题中类似的方式实现.推荐大家先去做上面这道题, 题解思路都详细一些. 做完后再回来看这道题, 你会发现处理手段几乎是一模一样的.首先我们考虑查询操作, 我们需要每次对删除节点x后的连通原创 2022-05-25 16:21:44 · 406 阅读 · 1 评论 -
2022 蓝桥杯省赛 C++ B组 解题代码
第十三届蓝桥杯省赛C++ B组题解随便聊聊前言: 本题解不保证代码正确, 主要提供一种博主在比赛过程中的做题思路, 仅供参考. 如果您对本文有什么看法, 欢迎大佬们评论区交流.本文首发于 2022.4.9试题 A: 九进制转十进制解题思路我们可以通过进制转换的通俗写法, 把(2022)9(2022)_9(2022)9 转化成10进制.或者, 直接计算 2∗90+2∗91+0∗92+2∗932 * 9^0 + 2 * 9^1 + 0 * 9^2 + 2 * 9^32∗90+2∗91+0∗92原创 2022-04-09 19:47:04 · 3985 阅读 · 15 评论 -
2018CCPC桂林站 G. Greatest Common Divisor (gcd 差分 质因数分解)
题目链接: Greatest Common Divisor大致题意给定一个长度为nnn的序列, 可以执行任意多次操作: 给所有位置的数值+1.问: 最少执行多少次操作, 使得gcd({a1,a2,...,an})≠1gcd(\{ a_1, a_2, ..., a_n \}) \ne 1gcd({a1,a2,...,an})=1. 若无解则输出−1-1−1.解题思路差分这类区间加 且 求gcdgcdgcd的题目, 我们比较容易的想到转化成差分的思路进行求解.对于本题而言, 每次是使区间原创 2022-01-24 15:01:11 · 449 阅读 · 0 评论 -
2021ICPC江西省赛 Magic Number Group (普通莫队/回滚莫队 维护区间众数)
题目链接: Magic Number Group大致题意给定一个长度为nnn的序列, 有mmm次询问.每次询问[l,r][l, r][l,r]中, 有相同公共质因子的最大数量.解题思路莫队考虑到值域范围只有10610^6106, 因此对于每个数的不同质因子数量最多只有888个.2×3×5×7×11×13×17>1062 \times 3 \times 5 \times 7 \times 11 \times 13 \times17 > 10^62×3×5×7×11×13×17>原创 2021-11-11 15:40:10 · 393 阅读 · 0 评论 -
2021ICPC网络赛第2场 Euler Function (势能线段树 + 欧拉函数)
题目链接: Euler Function (进入教育商店后可购买)大致题意给定长度为nnn的序列, a1,a2,a3,...,ana_1, a_2, a_3, ..., a_na1,a2,a3,...,an, 有mmm次操作:0 l r c 给[l,r][l, r][l,r]区间上的每个数乘ccc.1 l r计算∑i=lrϕ(ai) mod 998244353\displaystyle \sum_{i = l}^r \phi(a_i) \ mod\ 998244353i=原创 2021-10-19 22:45:43 · 218 阅读 · 0 评论 -
2021CCPC东北四省赛 解题报告
2021CCPC东北四省赛A. Matrix大致题意你需要用[1,n2][1, n^2][1,n2]的所有数字去填充一个n×nn \times nn×n的矩阵.定义a[]a[]a[], 其中aia_iai为矩阵中第iii行中的最小值. 定义S={a1,a2,...,an}∩{1,2,...,n}S = \{ a_1, a_2, ..., a _n\} \cap \{ 1, 2, ..., n\}S={a1,a2,...,an}∩{1,2,...,n}.我们需要计算所有情况的∑∣S∣\sum原创 2021-09-05 16:31:07 · 1494 阅读 · 0 评论 -
Joy of Handcraft (线段树) (CCPC2020 绵阳站)
题目链接: Joy of Handcraft大致题意有n个灯, ti和xi分别表示第i个灯的亮灯周期以及亮度. 对于第i个灯, 会在[2kt + 1, 2kt + t]的时候亮, [2kt + t 1, 2kt + 2t]熄灭.给定一个数字m, 表示询问[1, m]区间. 对于区间内的每一秒, 应当输出当前的亮度(如果有多个灯同时亮, 则亮度为所有灯中亮度的最大值. 如果没有灯亮, 则为0).解题思路这个题一拿到, 直觉告诉我就在考数据结构. 因为又涉及到区间问题, 很容易猜到是用线段树处理区间求原创 2020-11-09 23:13:37 · 224 阅读 · 0 评论 -
CCPC2020 长春 Strange Memory (dsu on tree)
题目链接: Strange Memory大致题意给定一棵有n个点的树, 根节点为1.对于两个点a, b. 若满足 w[lca(a, b)] = w[a] ⊕ w[b] (w数组为该点的权值) , 则称(a, b)为满足要求的一个pair.**pair(a, b)的权值为 a⊕b. **问: 所有满足要求的pair的权值总和是多少. PS: pair(a, b)和pair(b, a)我们认为是同一个pair解题思路dsu on tree我们先稍作分析:由于题目中节点的权值≥1, 因此我们原创 2021-05-27 20:05:52 · 161 阅读 · 0 评论 -
2020CCPC长春 The Tortoise and the Hare (树套树 / 整体二分)
题目链接: Stone Games大致题意题目背景大概是说龟兔赛跑的事情.龟兔赛跑的总路程为m, 有n个乌龟, 当兔子跑到终点的时候第i个乌龟已经跑了ai. 接下来有d天, 每天有两种事件. 事件一: 兔子拉着[l, r]区间内的乌龟去赛跑, 当他即将跑到终点后, 他会睡觉, 每一时刻他可以使得k个乌龟停留在原地, 剩下的乌龟会前进1. 兔子最终希望赢得比赛, 问最多能睡多久. 事件二: ai会变化为c.解题思路考虑到事件一, 我们发现, 如果可以睡觉的时间t, 则距离终点超过t(即: a原创 2021-04-11 16:42:11 · 237 阅读 · 0 评论 -
icpc2019 银川 Pot!!(线段树 + 结构体封装)
题目链接: Pot!!大致题意给定一个长度为n的序列, 初始所有元素都为1. 有如下两种操作: ① MULTIPLY l r x, 给[l, r]都乘上数x. ② MAX l r, 询问[l, r]区间所有数字中, 单个数字质因子出现的最大次数.解题思路线段树 做题之前我先看了看大佬们的博客, 都被吓傻了, 四棵线段树解题QAQ. 为什么不能用一棵树来维护四个值呢?首先分析一下这个题的突破点, 重点是x的取值范围, 只有2~10, 这是什么概念呢? 10之内的质数实际上只有2, 3, 5原创 2021-05-09 13:04:22 · 239 阅读 · 0 评论 -
Just Another Game of Stones(线段树 + 博弈) icpc2020 南京
题目链接: Just Another Game of Stones大致题意有n堆石子, 有两种操作: ①把[l, r]区间的所有石子和x取一个max, 即: 原先石子不足x的, 补足到x, 反之不变. ②将[l, r]区间的所有石子和x放在一起, 凑成r - l + 2堆石子进行尼姆游戏, 问先手第一次取石子有多少种不同的必胜取法. 只要取的石子数目不同, 或者数目相同堆不同, 都算不同的取法.解题思路首先这道题的操作①是很明显的吉老师线段树的修改操作. 重点是在于操作②.对于操作②而原创 2021-04-15 08:40:48 · 334 阅读 · 0 评论 -
M. Stone Games(主席树) ICPC 昆明站
题目链接: Stone Games大致题意有n堆石子, 从1~n标号, 每堆石子有ai个.每次询问给出一个区间 [l, r], 表示你可以选择的石子堆编号. 每次你可以选择一个子集. 子集内的石子总数加和即为所得.问: 不能凑出的最小正整数是多少.解题思路大概分析个人感觉, 这个题的难点主要还是在思维方面, 代码难度不高.题目中的询问相当于是MEX询问, MEX是对于自然数集的询问, 而当我们一堆石子都不选的时候, 相当于就凑出了0, 即: 0是总能被满足的.那么我们其实很容易发现, 如果原创 2021-04-09 15:32:32 · 330 阅读 · 0 评论 -
Fireworks(三分) icpc2020 南京
题目链接: Fireworks大致题意你可以用n时间做一个烟花, 花m时间点燃所有烟花, 每个烟花有p的概率是完美的.问: 放出一个完美烟花花费的时间期望.解题思路我们读完题目后可以知道, 我们如果做的烟花过少, 或者烟花过多都不能取到最优解. (可以直接猜, 也可以求导)因此函数一定存在一个最小值, 我们可以通过三分答案来求解.AC代码#include <bits/stdc++.h>#define rep(i, n) for (int i = 1; i <= (n);原创 2021-04-12 17:39:34 · 246 阅读 · 0 评论 -
ICPC2018南京网络赛 Set (01Trie的合并)
题目链接: Set大致题意给出n个集合, 初始集合i内有数字aia_iai.有m个操作:1 x y如果axa_xax和aya_yay不在同一个集合, 则把两个数字所在集合合并.2 x 给axa_xax所在的集合中的所有数字加一3 x k c 询问axa_xax所在集合中的所有数字在%2k2^k2k的情况下有多少个和ccc相同.解题思路01Trie我们先考虑查询操作, 我们如何查询若干个数字的后k位数否和一个数字相同呢?我们发现可以用01Trie来维护. 每个节原创 2021-08-05 21:33:42 · 188 阅读 · 0 评论 -
2019ICPC 上海 B.Prefix Code (字典树)
题目链接: Prefix Code大致题意给定n个数字组成的字符串, 问是否所有的数字都不是其余数字的前缀.解题思路Trie我们可以用字典树来存储所有的数字, 在树中记录所有数字的前缀出现情况.存储后再对每一个数字判断是否该数字只出现过一次即可.感觉牛客机子还是挺玄学的, 理论上每次memset会比手写清空慢, 然而实际上memset快到飞起.AC代码#include <bits/stdc++.h>#define rep(i, n) for (int i = 1; i &l原创 2021-08-04 17:18:59 · 124 阅读 · 0 评论