10 2022 档案
BZOJ 2194 快速傅里叶之二 题解
摘要:题目描述 求:。 推导 一般卷积是和一定,然而这个是差一定,于是我们考虑把 反过来(其实反 也可以)。 则 。 令 $d_k=\sum^{n-1
CF 464C Substitutes in Number 题解
摘要:前置知识:。 同余定理使用后不能再修改数字。那么为了能用这个公式,我 们倒序处理每个数字。 定义 为 的位数 次幂对 取模的值(数 经转化后的位数),
accoders NOI #5014. 树上询问(query) 题解
摘要:昨天刚刚做过一道类似的题,没想到在模拟赛当中出现了。 题目描述 有一棵 个结点的树,有 次询问,每次询问给你两个整数 ,问存在多少个整数 使得从 沿着 到 的简单路径走 步恰好到达 。 思路 考虑将一条 到 的路
AcCoders 10477:【省选基础数据结构 树链剖分】【GDOI2016】疯狂动物城 题解
摘要:算法:树链剖分,可持久化线段树。 题目大意 给定 个结点的一棵树, 次操作,操作有三种: 将 至 最短路径上的所有点的权值加上 。 对于 至 最短路径上的所有点 ,求 $\sum\sum^{\operatorname{dis}(u,y
CF 1012C. Hills 题解
摘要:题目传送门:Link。 算法:DP。 设计状态 第一眼看着道题就感觉像是 DP,再观察数据范围大概是 的时间复杂度。 因为要求多个 的答案,那么状态第一维显然是令多少个数满足条件,第二位就是算到第几个数。 表示前 个数有 个满足条件
洛谷 P3224 [HNOI2012]永无乡 题解
摘要:查询第 小值想到权值线段树。 合并操作想到线段树合并。 维护连通性想到并查集。 并查集合并方向应与线段树合并方向一致。 查询时,先求出并查集的根再在线段树上询问。 /* * Title: P3224 [HNOI2012]永无乡 * Source: 洛谷 * URL: https://www.
洛谷 P1552 [APIO2012] 派遣 题解
摘要:算法:线段树合并,离散化。 考虑任意一点 为领导者的情况。 显然,选出以 为根的子树中薪水 最少的 个结点(忍者),满足 的情况下使 尽可能大,这样 为领导者的最大满意度为 。 考虑如何高效地求
POJ 1389. Area of Simple Polygons 题解
摘要:关于扫描线的介绍可以去看 OI Wiki。 但那上面的参考代码并不好,下面给出了带注释的 POJ 1389 题代码。 /* * Title: Area of Simple Polygons * Source: POJ * URL: http://poj.org/problem?id=1389 * A
AcCoders 10665:【省选基础 模拟】魔兽世界终极版 题解
摘要:一句话,大模拟,对着题意敲就完了。 干就完了,奥利给! 正正好好 618 行~ // 10665 Problem G:【省选基础 模拟】魔兽世界终极版 #include <iostream> #include <cstdio> #include <cstring> #include <string>
accoders NOI #5011. 小j 的组合 题解
摘要:哈密顿回路需要把每个点经过且只经过一遍,而在树上,这只能是一条链。 手推一下可以发现,操作相当于把每个点复制一遍,等同于给允许这个点多经过一次,有了这个结论就容易了许多。 在树上 DFS,每次返回到父亲就操作一次,但这样不能保证操作最少(当然,最后不需要回到根节点)。 不需要返回的点构成了一条链,剩
AcCoders 10699:多校B层冲刺NOIP20221015城市游历 题解
摘要:30pts 针对 的数据,暴力对每个询问的接受程度跑一遍,时间复杂度 。 70pts 显然,在 MST 上走最优。 针对 的数据,考虑预处理接受程度为 时能去的不同种类的景点数 ,答案为 $\su
AcCoders 10692:【2022NOIP联测10 10月17日】交换(swap) 题解
摘要:考虑把一次交换产生的贡献记录在交换的两个数字中较小的那个数字上。则构造一个好的序列的过程可以看成是:按照从小到大的顺序枚举每个数,每次选择将这个数放在序列的左边或右边。 不难发现,每次放到左边或右边需要移动的次数是初始序列中左边或右边比这个数大的数的个数,与其它数选择放在左边还是右边无关。 直接用树
POJ 3760. 魔兽世界(修订版) 题解
摘要:一句话,大模拟,照着题意敲就完了。 写的期间甚至因为疫情导致程序被锁在了机房 www //3760. 魔兽世界(修订版) #include <iostream> #include <cstring> #include <string> using namespace std; /**********
Ynoi 题解
摘要:0. 洛谷 P3987 我永远喜欢珂朵莉~ 算法:树状数组。 模型抽象 Trick:,最多 次 使得 。 证明:每次最少会使 减半,最多 次就可以变为 。 所以修改的复杂度
洛谷 P2158 [SDOI2008] 仪仗队 题解
摘要:来一发莫比乌斯反演的题解。 $$ \begin{split} ans & =\sum^{n-1}{i=1} \sum^{n-1}{j=1} [\gcd(i,j)=1]\ & = \sum^{n-1}{i=1} \sum^{n-1}{j=1} \sum_{d|\gcd(i,j)} \mu(d)\ &
洛谷 P3488 [POI2009]LYZ-Ice Skates 题解
摘要:错解 每次跑二分图匹配,时间复杂度显然爆炸。 ~~时间复杂度:我被杀手皇后摸过了~~ 正解 Hall 定理 Hall 定理:设二分图中 ,则 G 中 存在 到 的完美匹配当且仅当 $\forall S \sub V
洛谷 P2387 [NOI2014] 魔法森林 题解【动态加点 SPFA】
摘要:题目大意 给定一个由 个点 条边的无向图,每条边有权值 ,求一条路径使这条路径上的 最小。 思路 正解应该是 LCT 动态维护 MST,本篇题解介绍一种“歪解”——动态加点 SPFA。 我们先只考虑一个权值,那么这就是最单纯的
CF 373C. Counting Kangaroos is Fun
摘要:刚开始看到 Acc 上这题标签线段树的时候我还是很惊讶的,这不就是一个小小的贪心吗? ~~暴力,暴力怎么做?贪心!贪心!贪心!然后大力出奇迹。~~ 首先我们将这个数组排序。然后,我们可以发现,对于每个大袋鼠可以装的小袋鼠集合,选取集合中最大的袋鼠最优。 我们就可以把数组以 $\dfrac{n}{2}
CF 547D. Mike and Fish 题解
摘要:Solution 1 二分图染色 显然这题是构造染色方案,于是我们考虑将矩阵转化成图进行染色。 结论:将同一行的点两两配对,将同一列的点两两配对,形成的一定是二分图。 证明:由于每个点最多连出一条横边和一条竖边,那么这张图上的环一定是横竖边交替排列的,即所有的环都为偶环。 所以我们对这张二分图进行黑
BZOJ 2453 维护队列 题解
摘要:带修莫队模板,双倍经验,注意 add 和 del 的顺序以及数据范围(洛谷上)。 //bzoj#2453. 维护队列 #pragma GCC optimize(2) #include <bits/stdc++.h> using namespace std; const int MAXN=140000
洛谷 P2709 小B的询问 题解
摘要:莫队板子。 //P2709 小B的询问 #include <bits/stdc++.h> using namespace std; typedef long long ll; const int MAXN=50005; struct Query { int l,r,id; }q[MAXN]; int
洛谷 P2567 [SCOI2010]幸运数字 题解
摘要:主要思路 显然我们需要求出所有范围内的合法幸运号码,然后容斥。 容斥就是暴搜+剪枝。 剪枝&优化 一个幸运号码是另一个幸运号码的倍数,则这个数不会产生任何贡献,剪枝。 选定数的 LCM 大于 则直接退出。 将幸运号码从大到小排序,这样搜索的时候能更快突破上界。 对于所有大于 $\dfrac{
洛谷 P1494 [国家集训队] 小 Z 的袜子 题解
摘要:区间相同颜色个数,可以离线,我们想到用普通莫队解决。 设 表示颜色为 的袜子的数量,则取到两只同颜色的袜子的方案数为 ,总方案数为 。 注