随笔分类 - 题解
摘要:here. \(perf:2341\) 草忘写了,赶紧补档。 E 这种题都能被放到 E 了吗。 考虑最小化答案为 \(cnt-1\),\(cnt\) 是联通块个数。 考虑构造答案,首先把能加的边加上,然后用 set 和并查集维护当前联通块集合,对于之前没加过的边,能加就加。 总体复杂度 \(O(m\
阅读全文
摘要:前言 题目链接:here. 这是一个 T1 读错题刚 T2 导致垫底的可怜人的博客。 思路分析 首先这个柿子一看就是魔改的 FWT 的卷积。 考虑分治处理。 对于当前分治层 \(A*B=C\),考虑求出 \(C\)。 如果我们将 \(A,B,C\) 三个序列都分为 \(3\) 段,分别记为 \(A_
阅读全文
摘要:前言 注意到 test_69 没有 69 个 test。 思路分析 我们知道,每次对于一个数取 gcd 时,如果这个数改变,那么至少减小至原来的 \(\frac{1}{2}\)。 然后考虑怎么判断区间每个数的 gcd 是否改变,不难发现维护区间 lcm,如果 k 是 区间 lcm 的倍数,那么区间里
阅读全文
摘要:前言 展现 mkr 极高 OI 水平题。 思路分析 首先考虑在序列上怎么做。 在序列上,考虑这样一种分治算法:每次选取序列的最大值,它一定可以把整个序列吃完,然后考虑左右区间的最大值,它们一定可以吃掉左右区间,如果它们能吃掉整个序列的最大值,它们一定能吃掉整个序列。然后分治左右区间。 不难发现这就是
阅读全文
摘要:前言 不希望被称为减半报警器模板,因为它一不是减半,二就只有这一个题。 思路分析 考虑暴力,预处理出 \(x\) 的质因数集合,每次在对应位置上对所有报警器加,如果有一个炸了就删除它。 考虑优化方向,每次我们在对应位置单点修改,能不能对这个位置上的报警器合并处理? 问题是,我们每个报警器都牵连着它所
阅读全文
摘要:前言 一种很新的排列计数。 思路分析 考虑将排列视作映射,初始令 \(p_i=i\),考虑哪些位置能够进行交换。 设 \(s_i\) 表示 \(p_i\) 的质因子集合,为了方便,考虑用元素乘积刻画这个集合。 不难发现,对于 \(s_i=s_j\) 的任意位置 \((i,j)\),它们是等价的,也就
阅读全文
摘要:前言 比较可做的交互题,瓶颈在于编辑距离的转化。 思路分析 首先考虑编辑距离是困难的,考虑弱化条件。 因为本题要求确定一个字符串,因此,可以尝试将编辑距离转化为判定子序列相关的信息。 具体地,考虑,对于两个字符串 \(S,T\),\(S\) 是 \(T\) 的子序列当且仅当 \(f(S,T)=|S|
阅读全文
摘要:前言 这是最近 VP CF 遇到的。 感觉是套着博弈壳子的树上 DS,做起来思路也很自然,于是记录之。 思路分析 E1 经过手玩样例发现,对于 \(x\),如果存在 \(y\) 不在 \(x\) 子树内且 \(w_y > w_x\),此时 \(w_x\) 最大的 \(x\) 一定是必胜点。 原因是,
阅读全文
摘要:前言 好题。 第一次听说切边等价。 思路分析 首先玩两个环的情况。令环长分别为 \(c_1,c_2\),重合部分的长度为 \(s\),那么答案为: \[\gcd(c_1,c_2,c_1+c_2-2s)=\gcd(c_1,c_2,2s) \]对于大于两个环的情况,我们可以任意拆解成两个环的情况,再进行
阅读全文
摘要:前言 好题。 思路分析 分析一下答案的组成: 令 \(d_i=\sum_{j=1}^{i-1} [p_i<p_j]-\sum_{j=1}^{i-1}[p_i>p_j]\),\(S\) 表示选出的集合,\(cnt\) 表示集合 \(S\) 的逆序对数,\(tot\) 表示这个序列的逆序对数: \[to
阅读全文
摘要:前言 好题。 思路分析 一个朴素的想法是,对于每种字符,我们决策它放的位置,做四路归并,这样复杂度为 \(O(n^4)\)。 但是这样显然没优化前途。考虑做一些观察。 o 存在与否并不重要:o 放在任何位置都是合法的,所以为了最小化代价,我们把 o 放在原来的位置即可; () 的移动方案和 x 的移
阅读全文
摘要:here. 草怎么是贪心专场。 问就是不会 F。 C 注意到操作一至多只会进行一次,进行两次就抵消了。 所以直接枚举所有可能操作取最大值即可。 注意要开 long long。 总体复杂度 \(O(tn^3)\)。 #include<bits/stdc++.h> #define int long lo
阅读全文
摘要:前言 第一次在 OI 中见到求数列极限的题,有点意思。 但是为什么会过这么多人啊。 思路分析 做一点尝试: \[\sum_{i=m} \sum_{j=0}^{m} r_ja_{i-j}=0 \]然后对于相同的 \(a_i\),合并同类项: \[\sum_{i=m}\sum_{j=0}^{m} r_j
阅读全文
摘要:here. 感觉这场难度不大啊,我讨厌手速场。 D 有一些细节的模拟题。 消除的总行数为所有列中方格数量的最小值,下面记为 \(sum\)。 设每个方格在本列中从下到上处在 \(k\) 的位置,那么: \(k \le sum\),这个方格被消除的时间为所有处在 \(k\) 位置的格子中,\(x\)
阅读全文
摘要:前言 诈骗题。 思路分析 首先异或啥的别看了,是假的。 考虑如果要求异或值为 \(x\),如果我们能得到的路径长度为 \(k\),考虑: \(x \le k\),那么可以将 \(k-x\) 的部分分成两半抵消; \(x>k\),那么可以从 \(s\) 出发走到任意一个点再沿反边返回,每次增加 \(2
阅读全文
摘要:前言 需要脑子题。 思路分析 首先受到样例二的启发,如果我们决策这个交换纸币的过程也太困难了。所以需要换一种刻画方式。 考虑把所有纸币都放在桌子上,三个人再分配。代价就是分配之前和分配之后,每种面值的纸币的差。 这样就好 DP 了。 设 \(f_{i,a,b}\) 表示前 \(i\) 中面值的纸币,
阅读全文
摘要:前言 调整法真是好东西。 思路分析 如果你网络流题做得比较多的话,应该能感觉出来这道题有点像。 经过若干手摸,发现根本不存在无解的情况。 每次交叉时,我们一定可以将交叉的两条路径分开,如图: 同时,根据四边形不等式,有蓝线段长度之和大于黄线段长度之和。 因此,我们发现,一定存在一种合法方案,使得连线
阅读全文
摘要:P2540 解题报告 前言 巨大抽象模拟搜索题。 写了一节自习课。 思路分析 首先因为一共就两副牌,可以直接搜索所有可能的情况。 然后就过了原题的数据了。 但是加强版数据有点强,这样写估计会 T 飞。 考虑发扬人类智慧。 如果你玩过斗地主的话,应该知道一些基本的策略。 比如说有顺子肯定不出单牌,四带
阅读全文
摘要:abc283_g 解题报告 前言 首先这个题面就很抽象。 其实就是求序列任意数的异或和中,第 \(l\) 小到第 \(r\) 小的数。 思路分析 其实是模板题。 考虑线性基可以求异或第 \(k\) 小,直接循环枚举 \([l,r]\),直接求就行了。 复杂度 \(O(n \log v)\)。 所以这
阅读全文

浙公网安备 33010602011771号