摘要:
3.13 Day-18: [ [ARC158A] +3 +5 +7 ](https://www.luogu.com.cn/problem/AT_arc158_a) [ [ARC158B] Sum-Product Ratio ](https://www.luogu.com.cn/problem/AT_ 阅读全文
posted @ 2023-07-17 23:13
HQJ2007
阅读(45)
评论(1)
推荐(0)
摘要:
P1758 [NOI2009] 管道取珠 看见方案数平方,考虑两个人分别取,两两匹配。 P1912 [NOI2009] 诗人小G 决策单调性,用队列维护。 P1963 [NOI2009] 变换序列 二分图+字典序,倒序考虑。 P6843 [BalticOI 2015] File Paths 仔细读题 阅读全文
posted @ 2023-07-17 23:13
HQJ2007
阅读(43)
评论(0)
推荐(0)
摘要:
[ T312819 命题工作 ](https://www.luogu.com.cn/problem/T312819) 直接容斥。 总方案 - 一题出现四次 - 一题出现三次 - 一题出现两次。 一题出现两次的情况略有不同,注意考虑周全。 复杂度 $O(n)$。 [code](https://www. 阅读全文
posted @ 2023-07-17 23:12
HQJ2007
阅读(46)
评论(0)
推荐(0)
摘要:
练了好久 CF&AT 的题,现在要回归省选计划了! #### 知识回顾 - 巩固:二维树状数组 - 深入了解:可持久化数据结构 - 简单了解/没学明白: #### 练题 [P3567 [POI2014]KUR-Couriers](https://www.luogu.com.cn/problem/P3 阅读全文
posted @ 2023-07-17 23:11
HQJ2007
阅读(28)
评论(0)
推荐(0)
摘要:
### 知识回顾 - 巩固:Lucas,网络流,二分图 - 深入研究:背包DP,树形DP,区间DP,状压DP。 - 简单了解/没学明白:博弈论,插头DP ### 练题 [Working routine](https://www.luogu.com.cn/problem/CF706E) 读完题后以为矩 阅读全文
posted @ 2023-07-17 23:10
HQJ2007
阅读(13)
评论(0)
推荐(0)
摘要:
### 知识回顾 - 巩固:线段树,贪心 - 深入研究:数论,容斥,除法分块,根号分治 - 简单了解:lucas,prufer序列,莫比乌斯反演 ### 练题 [P2606 [ZJOI2010]排列计数](https://www.luogu.com.cn/problem/P2606) 可以发现这符合 阅读全文
posted @ 2023-07-17 23:10
HQJ2007
阅读(35)
评论(0)
推荐(0)
摘要:
# 第四周 ### 知识回顾 - 巩固:2-SAT - 深入研究:概率与期望 - 简单了解/没学明白: ### 练题 [P3825 [NOI2017] 游戏](https://www.luogu.com.cn/problem/P3825) 很麻烦的 2-SAT。 如果没有 x,就是个传统的问题。 然 阅读全文
posted @ 2023-07-17 23:09
HQJ2007
阅读(49)
评论(0)
推荐(0)
摘要:
### 知识回顾: - 巩固:概率DP,错排,组合数 - 深入研究:组合数,后缀数组,tarjan,2-SAT - 简单了解/没学明白: ### 练题: [[ABC280F] Pay or Receive](https://www.luogu.com.cn/problem/AT_abc280_f) 阅读全文
posted @ 2023-07-17 23:09
HQJ2007
阅读(27)
评论(0)
推荐(0)
摘要:
### 知识回顾: - 巩固:二分,倍增,优化DP,莫队,分数规划,网络流,二分图,贪心,set/map,KMP - 深入研究:分治(线段树分治),后缀数组,费用流 - 简单了解/没学明白:线性基,边分治,数位DP,博弈论 ### 练题: [[SCOI2015]国旗计划](https://www.l 阅读全文
posted @ 2023-07-17 23:08
HQJ2007
阅读(51)
评论(0)
推荐(0)
摘要:
### 知识回顾: - 巩固:生成树,DP,分层图,简单数论,线段树。 - 深入研究:网络流。 - 简单了解/没学明白:FFT。 ### 练题: [P6144 [USACO20FEB]Help Yourself P](https://www.luogu.com.cn/problem/P6144) 定 阅读全文
posted @ 2023-07-17 23:08
HQJ2007
阅读(27)
评论(0)
推荐(0)
摘要:
[[ARC154A] Swap Digit](https://www.luogu.com.cn/problem/AT_arc154_a) 和一定差小积大,竟可能的使两个数差大即可。 复杂度 $O(n)$。 ```cpp #include using namespace std; typedef lo 阅读全文
posted @ 2023-07-17 23:07
HQJ2007
阅读(44)
评论(0)
推荐(0)
摘要:
[Everybody Likes Good Arrays!](https://www.luogu.com.cn/problem/CF1777A) 简单题。 因为偶乘偶为偶,奇乘奇为奇,所以直接找有多少个奇偶性相同的块即可。 最后修改次数就是 $n-cnt$。 复杂度 $O(n)$。 ```cpp # 阅读全文
posted @ 2023-07-17 23:07
HQJ2007
阅读(31)
评论(0)
推荐(0)
摘要:
tourist 场 Orz。 [Parallel Projection](https://www.luogu.com.cn/problem/CF1781A) 分类讨论题。 1. 将 $x$ 坐标对齐,然后前后绕。 2. 将 $y$ 坐标对齐,然后左右绕。 两种情况取最小值即可。 复杂度 $O(1)$ 阅读全文
posted @ 2023-07-17 23:07
HQJ2007
阅读(22)
评论(0)
推荐(0)
摘要:
[GamingForces](https://www.luogu.com.cn/problem/CF1792A) 贪心,从小到大排序。 对于当前怪物,如果血量大于 $1$,则直接杀死,否则和下一个怪物各扣一滴血。 复杂度 $O(n\log n)$。 ```cpp #include using nam 阅读全文
posted @ 2023-07-17 23:06
HQJ2007
阅读(32)
评论(0)
推荐(0)
摘要:
[Make it Beautiful](https://www.luogu.com.cn/problem/CF1783A) 构造题。 如果元素互不相同,我们可以降序排列。 如果有相同元素的话,就多构造几个降序排列拼在一起,可以证明符合条件。 复杂度 $O(n)$。 [Matrix of Differ 阅读全文
posted @ 2023-07-17 23:06
HQJ2007
阅读(27)
评论(0)
推荐(0)
摘要:
[[ABC286C] Rotate and Palindrome](https://www.luogu.com.cn/problem/AT_abc286_c) 容易发现两种操作互不干扰,所以考虑枚举换位操作个数,再计算出相应的替换操作个数,最后取最小值即可。 复杂度 $O(n^2)$。 [[ABC2 阅读全文
posted @ 2023-07-17 23:05
HQJ2007
阅读(119)
评论(0)
推荐(0)
摘要:
[[ABC285D] Change Usernames](https://www.luogu.com.cn/problem/AT_abc285_d) 依据题意直接连边,判断有没有环即可。 复杂度 $O(n)$ [[ABC285E] Work or Rest](https://www.luogu.co 阅读全文
posted @ 2023-07-17 23:05
HQJ2007
阅读(50)
评论(0)
推荐(0)
摘要:
[[ARC153A] AABCDDEFE](https://www.luogu.com.cn/problem/AT_arc153_a) 第一眼看上去让人以为是数位 DP,但看一眼样例 2 就知道直接枚举就行了。 六层循环暴力枚举。 复杂度 $O(10^6)$。 [[ARC153B] Grid Rot 阅读全文
posted @ 2023-07-17 23:04
HQJ2007
阅读(29)
评论(0)
推荐(0)
摘要:
[[ABC284D] Happy New Year 2023](https://www.luogu.com.cn/problem/AT_abc284_d) 暴力肯定不行,尝试简单讨论一下。 1. 如果 $q > \sqrt n$,那么 $p^2 \sqrt n$,那么 $p < \sqrt n$,因 阅读全文
posted @ 2023-07-17 23:04
HQJ2007
阅读(57)
评论(0)
推荐(0)
摘要:
[A1&A2.Gardener and the Capybaras (hard version)](https://www.luogu.com.cn/problem/CF1775A2) 超级诈骗题。 直接 $O(n^3)$ 枚举肯定不行。 我们考虑两种情况: 1. B 最小:直接看最小的字符是否在区 阅读全文
posted @ 2023-07-17 23:04
HQJ2007
阅读(26)
评论(0)
推荐(0)
摘要:
换根 DP。 本蒟蒻最初没想到换根,把自己写自闭了... 定义 $f_u$ 为子树 $u$ 中的每个结点走到 $u$ 的贡献和,$l_u$ 为大于 $a_u$ 的最小的 $10$ 的幂次方数,$sum_u$ 为 $\sum\limits_{v\in son(u)}{f_v}$。 转移方程为:$f_u 阅读全文
posted @ 2023-07-17 23:02
HQJ2007
阅读(25)
评论(0)
推荐(0)
摘要:
不难推理出当初始绳长为 $len$,需要下降的距离为 $d$,并且满足 $d\le lenf_j\land v_j\ge v_i\end{cases}$$ 开两棵线段树,第一棵 $t_1$ 维护 $\min(f_j)(h_j+\frac{f_j}{2}\ge h_i)$,第二棵 $t_2$ 维护 $ 阅读全文
posted @ 2023-07-17 23:01
HQJ2007
阅读(37)
评论(0)
推荐(0)
摘要:
带有小 trick 的点分治。 建议先做完 [弱化版](https://www.luogu.com.cn/problem/P4186) 再看。 假如奶牛在 $u$,那么所需的最少农夫数为 $\sum\limits_{v\in son(u)}[dis(u,v)\ge g_v][dis(u,fa_v) 阅读全文
posted @ 2023-07-17 23:00
HQJ2007
阅读(37)
评论(0)
推荐(0)
摘要:
神奇的分块。 假如没有 $2$ 操作,我们可以直接用主席树解决。 我们考虑将询问分块,每遍历完一块就将这一块内出现的所有修改更新。如果在块内,就把当前块之前的所有修改暴力算,当然只有修改的节点在询问的节点的子树内才会发生。 具体的来说,我们可以用分块维护 dfs 序,并将块内的元素排序,询问 $O( 阅读全文
posted @ 2023-07-17 22:59
HQJ2007
阅读(58)
评论(0)
推荐(0)
摘要:
点分树。 本题的核心问题在于不好直接确定补给站的位置。 但是仔细思考后我们发现,对于当前节点,如果存在一个儿子的答案比它优,那么补给站一定在那个儿子的子树中。 增量为 $w\times(sum_u-2\cdot sum_v)$。当 $v$ 优于 $u$ 时,$2\cdot sum_v>sum_u$。 阅读全文
posted @ 2023-07-17 21:57
HQJ2007
阅读(36)
评论(0)
推荐(0)
摘要:
点分树模板题。是个神奇的算法。 点分树就是将分治重心按照层级连边,每个节点父亲的联通块都包含了当前节点的联通块,且高度为 $\log n$。可以解决不考虑树的形态的多次询问带修改的问题。 对于这道题,我们可以在点分树的每个节点上记录两棵树状数组,分别与当前节点距离为 $k$ 的节点的权值和,以及与当 阅读全文
posted @ 2023-07-17 21:56
HQJ2007
阅读(56)
评论(0)
推荐(0)
摘要:
点分治。 考虑当前的分治重心的城市被完全联通。 这可以用队列接解决。每次放入一种城市,就把那些城镇的父亲加入队列,如果存在城镇不在当前分治重心的联通块内,那么说明必定存在另一个分治重心能算到它,直接退出即可。 剩下的和模板没有任何区别。 复杂度 $O(n\log n)$。 code: ```cpp 阅读全文
posted @ 2023-07-17 21:55
HQJ2007
阅读(26)
评论(0)
推荐(0)
摘要:
点分治模板题。 点分治适合处理大规模的树上路径信息问题 暴力做法:dfs 每个点 $u$,算出其子树内每个点到 $u$ 的距离,统计经过 $u$ 的所有路径,复杂度 $O(n^2)$。 容易发现,复杂度和子树大小有关。 对于当前子树,我们可以求出其重心,计算经过重心的所有路径,删掉重心,递归每个联通 阅读全文
posted @ 2023-07-17 21:55
HQJ2007
阅读(28)
评论(0)
推荐(0)
摘要:
这题有紫?? 对于询问节点 $u$,倍增地跳到它的 $k$ 级祖先,求其子树内有多少深度为 $dep_u$ 的节点。 我们考虑把询问离线,再通过 dfs 序把树拍平,然后扫一遍直接求就行了。 复杂度 $O(n\log n)$。 code: ```cpp #include using namespac 阅读全文
posted @ 2023-07-17 21:54
HQJ2007
阅读(31)
评论(0)
推荐(0)
摘要:
树上带修莫队。 **带修莫队复杂度分析:** 带修莫队比普通莫队多了一个时间戳,排序的时候先排左端点,再排右端点,如果左右端点所在块对应相等,则按时间戳排序。 设区间长度为 $n$,询问数为 $q$,修改数为 $c$,块长为 $B$。 我们分别考虑时间戳、左端点和右端点的移动次数。 时间戳:对于每一 阅读全文
posted @ 2023-07-17 21:53
HQJ2007
阅读(33)
评论(0)
推荐(0)
摘要:
构造题。 首先判断无解。每选一条边贡献两个度数,所以如果没有 $-1$ 的点,且度数和为奇数,那么无解。 接下来考虑构造。我们考虑从图中扣下来一棵树(dfs 树),如果度数为奇数,令 $-1$ 的点为根,否则随便选一个。 定义 $tp_i$ 表示第 $i$ 个节点是否需要与父亲连边,$0$ 表示不用 阅读全文
posted @ 2023-07-17 21:52
HQJ2007
阅读(25)
评论(0)
推荐(0)
摘要:
找规律。 我们看有哪些数的 $path$ 经过 $x$。 当 $x$ 为奇数时,有:$x,2x,2x+1,4x,4x+1,4x+2,4x+3...$ 当 $x$ 为偶数时,有:$x,x+1,2x,2x+1,2x+2,2x+3,4x,4x+1...$ 规律很明显,不解释。 因为当 $x$ 为奇数和 $ 阅读全文
posted @ 2023-07-17 21:51
HQJ2007
阅读(21)
评论(0)
推荐(0)
摘要:
如果 $y$ 不是 $x$ 的倍数,答案为 $0$。 否则计算有多少种数列满足所有数 $\gcd$ 为 $1$ 且和为 $\frac{y}{x}$。 定义 $f_i$ 表示和为 $i$ 且 $\gcd$ 为 $1$ 的数列的数量。 显然有如下等式: $$2^{x-1}=\sum\limits_{d\ 阅读全文
posted @ 2023-07-17 21:51
HQJ2007
阅读(16)
评论(0)
推荐(0)
摘要:
小清新 DP 题。 定义 $f_{i,j}$ 表示在时刻 $i$,干扰了 $j$ 次,最小贡献。 定义 $nex_i$ 表示在时刻 $i$ 会收集哪个红包。 那么转移方程为: $$f_{d_{nex_i}+1,j}=\min(f_{i,j}+w_{nex_i})$$ $$f_{i+1,j+1}=\m 阅读全文
posted @ 2023-07-17 21:50
HQJ2007
阅读(26)
评论(0)
推荐(0)
摘要:
不错的题,需要点思维和码力。 容易发现,左右和上下互不影响,可以分开处理,这里以左右举例。 定义向左走一格 $-1$,向右走一格 $+1$,求个前缀和找到最大值和最小值,和出现最值的最早时间与最晚时间。定义为 $l,r,l2,r2$。 只有当我们放了一个 A 或 D 使得所有最大值 $-1$ 且最小 阅读全文
posted @ 2023-07-17 21:50
HQJ2007
阅读(21)
评论(0)
推荐(0)
摘要:
观察数据范围,$T$ 很大,$n$ 很小,用矩乘。 对于一条边 $(u,v,w)$,我们将 $u$ 拆成 $w-1$ 个点,并连接 $(u_0,u_1,0),(u_1,u_2,0)...(u_{w-2},u_{w-1},0)$ 和 $(u_{w-1},v_0,c_{v})$,总点数 $5n$。 将美 阅读全文
posted @ 2023-07-17 21:49
HQJ2007
阅读(28)
评论(0)
推荐(0)
摘要:
容易发现,如果把字母表映射到 $[1,26]$ 上,那么无论怎么操作总和都不变。 于是可已将问题转化为:有多少种长度为 $n$ 的序列,满足每个元素在 $[1,26]$ 之间,总和为 $sum$。 定义 $f_{i,j}$ 表示处理到第 $i$ 个元素,总和为 $j$ 的合法方案数。 转移方程为 $ 阅读全文
posted @ 2023-07-17 21:48
HQJ2007
阅读(32)
评论(0)
推荐(0)
摘要:
期望 DP。 定义 $f_i$ 表示第 $i$ 个镜子照成功的期望天数,$p_i$ 为第 $i$ 天成功的概率,$q_i$ 为第 $i$ 天失败的概率。 根据题意容易列出方程: $$f_i=(f_{i-1}+1)\cdot p_i+(f_{i-1}+1+f_i)\cdot q_i$$ 移项得: $$ 阅读全文
posted @ 2023-07-17 21:47
HQJ2007
阅读(21)
评论(0)
推荐(0)
摘要:
好题啊好题。 定义 $a_i$ 为有多少个区间包含 $i$。 拍脑袋一想,当且仅当存在顺序的三个坐标 $(i,j,k)$ 满足 $a_i>a_j$ 且 $a_j using namespace std; const int N=1e5+5; int n,m,a[N],f[N],g[N],c[N]; 阅读全文
posted @ 2023-07-17 21:47
HQJ2007
阅读(28)
评论(0)
推荐(0)
摘要:
考虑朴素 DP。定义 $f_{i,j,i2,j2}$ 表示两个人分别在 $(i,j),(i2,j2)$ 时获得的最大收益。复杂度 $O(n^4)$,不行。 我们换种方法,定义 $f_{st,x,y}$ 表示两人同时走了 $st$ 步,分别向右走了 $x,y$ 步。显然如果向右的步数确定了,向下的也确 阅读全文
posted @ 2023-07-17 21:46
HQJ2007
阅读(15)
评论(0)
推荐(0)
摘要:
有个显然的小 trick:如果两个数相乘为平方数,那么消去平方因子后这两个数相等。 于是我们可以暴力枚举,每出现一个新数就加一,用 unordered_map 维护,然后就 T 了。 考虑优化。我们对于每个数预处理出上一个与它相等的数的位置。这样每次枚举的时候只需要看 $pre_i$ 是否小于左边界 阅读全文
posted @ 2023-07-17 21:45
HQJ2007
阅读(23)
评论(0)
推荐(0)
摘要:
贪心+DP。 对于一个点,后选显然比先选好,也就是说每个点都对应了唯一一个来源。 于是我们可以把每个点所能回溯到的点的收益值从大到小排序,贪心地选前缀。 定义 $f_{i,j}$ 表示考虑了前 $i$ 个点,剩下 $j$ 个人,最大收益。 转移方程和 $01$ 背包的一样。 $$f_{i,j}=f_ 阅读全文
posted @ 2023-07-17 21:45
HQJ2007
阅读(18)
评论(0)
推荐(0)
摘要:
数据结构之小清新思维题。 容易想到把 $2n\times2m$ 棋盘中每个 $2\times 2$ 的部分压缩,其中必须含有恰好一个棋子。 对于每个 $2\times 2$ 分两种情况讨论(可能同时具备或不具备以下两种): 1. 左上角不能用,记为 $L$。 2. 右下角不能用,记为 $R$。 然后 阅读全文
posted @ 2023-07-17 21:44
HQJ2007
阅读(23)
评论(0)
推荐(0)
摘要:
带有小 trick 的 DP,长知识了。 $m$ 很大,需要离散化。 为了方便,采用扫描线的方式,不对其进行实际意义上的离散,而是对于第 $i$ 个区间 $[l,r]$,插入 $(l,i),(r+1,-i)$ 两个 pair,最后排个序。这样相邻两个 pair 之间的部分就缩成了一个点。 同时我们还 阅读全文
posted @ 2023-07-17 21:43
HQJ2007
阅读(42)
评论(0)
推荐(0)
摘要:
经典 DP。 定义 $f_{i,j}$ 表示 $i$ 个节点,深度小于等于 $j$ 的二叉树的个数。 则转移方程为: $$f_{i,j}=\sum\limits_{k=0}^{i-1}f_{k,j-1}\cdot f_{i-k-1,j-1}$$ 最终答案为 $f_{n,n}-f_{n,h-1}$。 阅读全文
posted @ 2023-07-17 21:42
HQJ2007
阅读(24)
评论(0)
推荐(0)
摘要:
有趣的 BFS 题。 首先发现,一个数最多乘 $2^{17}$ 次后超过上限,所以我们可以考虑 BFS。 将 $a$ 数组元素从大到小排序,定义 $(x,y,t)$ 表示当前长为 $x$,宽为 $y$,操作了 $t$ 次。每次操作将两个数中没超过上限的乘上 $a_i$。 由于可以旋转 $90^\ci 阅读全文
posted @ 2023-07-17 21:41
HQJ2007
阅读(33)
评论(0)
推荐(0)
摘要:
小清新思维题。 先找一个不是叶子的节点,令它为根。 那么当且仅当,对于每一个非叶子节点,它包含的叶子节点到它的异或路径相等时,才满足题目要求。 考虑第一问,显然如果每个叶子的深度奇偶性相同,可以全填一样的数字,答案为 $1$。反之为 $3$(可以在一条链上试一试)。 对于第二问,定义 $f_i$ 表 阅读全文
posted @ 2023-07-17 21:40
HQJ2007
阅读(48)
评论(0)
推荐(0)
摘要:
贪心+DP。 先从小到大排序。 定义 $f_i$ 表示序列 $[1,i]$ 能否分组。 转移为 $f_i|=f_j[a_i-a_j\le d,j\le i-k+1]$。 右区间可以直接算出来,左区间可以二分或根据单调性弄个指针。 定义 $sum_i=\sum\limits_{t=1}^{i}f_t$ 阅读全文
posted @ 2023-07-17 21:40
HQJ2007
阅读(30)
评论(0)
推荐(0)
摘要:
$m\le 20$,状压 DP。 首先可以根据每个人的 $k$ 从小到大排序。 定义 $f_{i,j}$ 表示考虑到第 $i$ 个人,完成了 $j$ 状态的题目,不考虑显示器所需的最小价格。 转移显然为 $f_{i,j|s_i}=\min(f_{i-1,j}+x_i)$。 最终答案为 $ans=\m 阅读全文
posted @ 2023-07-17 21:39
HQJ2007
阅读(24)
评论(0)
推荐(0)
摘要:
基础 DP 题。 定义 $f_{i,j,k}$ 表示从第一行走到 $(i,j)$,且数字总和模 $p$ 等于 $k$。 转移方程为: $$ f_{i+1,j-1,(k+a_{i+1,j-1})\bmod p}=\max (f_{i,j,k}+a_{i+1,j-1}) $$ $$ f_{i+1,j+1 阅读全文
posted @ 2023-07-17 21:38
HQJ2007
阅读(24)
评论(0)
推荐(0)
摘要:
题解太高深,自己整理一份。 **阶的定义:** 若 $\gcd(a,m)=1$,则使 $a^l\equiv1\pmod{m}$ 的最小的 $l$ 称为 $a$ 关于模 $m$ 的阶,记为 $\operatorname{ord}_m a$。 **阶的性质:** 根据欧拉定理,$a^{\varphi(m 阅读全文
posted @ 2023-07-17 21:37
HQJ2007
阅读(71)
评论(0)
推荐(0)
摘要:
感觉题解区不是写的太高深,就是写的太高深。所以给初中、小学和幼儿园的萌新准备一篇简单易懂的良心题解~ 前置知识 一、多项式的系数表示法和点值表示法。\(A(x)=\sum\limits_{i=0}^{n-1}a_i\cdot x^i\) 系数:\((a_0,a_1,a_2...a_{n-2},a_{ 阅读全文
posted @ 2023-07-17 21:37
HQJ2007
阅读(82)
评论(0)
推荐(0)
摘要:
恶心题。 每次操作,相当与把第 $i$ 个数置换到 $p_i$,于是可以连边。 因为 $i$ 和 $p_i$ 互不相同,所以对于每一个点,有且仅有一条出边和一条入边,即若干个简单环。 那么最少操作 $\operatorname{lcm}(a_1,a_2,a_3...a_{x-2},a_{x-1},a 阅读全文
posted @ 2023-07-17 21:36
HQJ2007
阅读(41)
评论(0)
推荐(0)
摘要:
[更好的阅读体验](https://www.luogu.com.cn/blog/leleleeee/ti-xie-cf840c-on-the-bench) 这是一篇简洁易懂的良心题解,提供了多种做法。 对于两个数 $x,y$,定义 $x=n^2 \cdot tx,y=m^2 \cdot ty$。如果 阅读全文
posted @ 2023-07-17 21:36
HQJ2007
阅读(54)
评论(1)
推荐(1)
摘要:
组合容斥问题。 定义 $\operatorname{sum}(i)$ 为至少有 $i$ 组人会讨论的方案数。 那么最终答案就为 $\sum\limits_{i=0}(-1)^i\times \operatorname{sum}(i)$。 在 $n$ 个人中选 $m$ 组人讨论的方案数为 $\dbin 阅读全文
posted @ 2023-07-17 21:34
HQJ2007
阅读(26)
评论(0)
推荐(0)
摘要:
有意思的题,927ms 拿下最优解。 点数最多 $10^{10}$ 个,没法暴力拼接,考虑简化大树。 每次拼接,我们记录 $x$,$to$ 和 $to$ 所在大树的根节点 $rt$。然后连两条边: $(rt,to)$ 和 $(to,x)$。本质上相当于把每次接上来的子树缩成一个点。 这样大树的点数最 阅读全文
posted @ 2023-07-17 21:32
HQJ2007
阅读(31)
评论(0)
推荐(0)
摘要:
[Score of a Tree](https://www.luogu.com.cn/problem/CF1777D) 思维题。 我们考虑一个点 $u$ 在所有时刻内的点权为多少。 可以发现,假如 $u$ 的深度为 $0$,那么 $t$ 时刻时它的权值为其子树内所有深度为 $t$ 的点的初始权值异或 阅读全文
posted @ 2023-07-17 21:31
HQJ2007
阅读(78)
评论(0)
推荐(0)
摘要:
[Bracket Insertion](https://www.luogu.com.cn/problem/CF1781F) 神仙 DP 题,不愧是 tourist。 容易发现,括号序列一共有 $1\cdot 3\cdot 5...\cdot (2n-1)$ 种生成方式。 假如 `(` 为 $1$,` 阅读全文
posted @ 2023-07-17 21:30
HQJ2007
阅读(49)
评论(0)
推荐(0)
摘要:
[P4322 [JSOI2016]最佳团体](https://www.luogu.com.cn/problem/P4322) 分数规划+树形背包。 可以根据推荐关系建出一颗树,然后如果选了一点,则该点到根上的所有点都必须选。 二分 $mid$,定义每个结点的权值,然后判断选 $k+1$ 个节点的最大 阅读全文
posted @ 2023-07-17 21:28
HQJ2007
阅读(40)
评论(0)
推荐(0)
摘要:
[Yet Another Minimization Problem](https://www.luogu.com.cn/problem/CF868F) 神仙题。 第一眼看上去就是 DP。 定义 $f_{i,j}$ 表示当前点 $i$,分 $j$ 段的最小费用。 $f_{i,j}= \min(f_{i 阅读全文
posted @ 2023-07-17 21:28
HQJ2007
阅读(91)
评论(0)
推荐(0)
摘要:
[[ARC153B] Grid Rotations](https://www.luogu.com.cn/problem/AT_arc153_a) 有思维含量的一题。 我们横纵坐标分开考虑,对于每一个矩形,每次操作会使其内部元素的横坐标上下对调。 纵坐标也同理,左右对调。 而这种反转操作我们显然可以直 阅读全文
posted @ 2023-07-17 21:27
HQJ2007
阅读(25)
评论(0)
推荐(0)
摘要:
[The Human Equation](https://www.luogu.com.cn/problem/CF1775E) 思维题。 我们考虑每次 $a$ 数组加一减一对于其前缀和 $sum$ 的影响。 可以发现,假设相邻两次加一和减一的位置分别为 $l$ 和 $r$,那么 $sum$ 在 $[l 阅读全文
posted @ 2023-07-17 21:26
HQJ2007
阅读(42)
评论(0)
推荐(0)
摘要:
[Friendly Spiders](https://www.luogu.com.cn/problem/CF1775D) 带有技巧的最短路。 如果 $u$ 能到 $v$,说明 $\gcd(u,v)>1$,也就是有相同因子。 所以我们考虑对于每个数 $u$,向他的所有质因子连一条长度为 $1$ 的边, 阅读全文
posted @ 2023-07-17 21:25
HQJ2007
阅读(39)
评论(0)
推荐(0)
摘要:
来一篇简单易懂的良心题解。  由于数值不是 $0$ 就是 $1$,我们可以考虑将逆序对的统计方式化简。 以左区间为例,设 $x$ 为 $1$ 的个数,$p_i$ 为第 $i$ 阅读全文
posted @ 2023-07-17 21:24
HQJ2007
阅读(36)
评论(0)
推荐(0)
摘要:
很容易想到分类。 我们可以把 $1$ 到 $i-1$ 的球分为两类,一类是权值小于 $val_i$,另一类是权值大于 $val_i$。 对于第一类,$sum$ 加上小于 $val_i$ 的球的个数乘以 $val_i$。 对于第二类,$sum$ 加上所有大于 $val_i$ 的球的权值。 这显然可以用 阅读全文
posted @ 2023-07-17 21:23
HQJ2007
阅读(32)
评论(0)
推荐(0)
摘要:
看题目限制,可以发现如果将机器人作为点,指控和保护关系作为边,可以建出一个森林,就下来就是传统的树形背包了。 设 $f_{i,j,0/1}$ 表示当前点为 $i$,子树内有 $j$ 个狼人,当前点是否为狼人的方案数。 初始化:$f_{u,0,0} = f_{u,1,1} = 1$ 当前点为狼: - 阅读全文
posted @ 2023-07-17 21:21
HQJ2007
阅读(38)
评论(0)
推荐(0)
摘要:
### 题面描述 给定一颗树,求分成三部分后的最小差异值。 ### 题解 暴力:每次枚举两个点,将其父边断掉,如果存在祖先关系则特判一下,复杂度 $O(n^2)$,预计 50pts。 正解:dfs 搜索每个结点,砍掉它的父边,剩下的尽量等分(易证)。 这一步可以用 multiset 维护。 对于一个 阅读全文
posted @ 2023-07-17 21:20
HQJ2007
阅读(54)
评论(0)
推荐(0)
摘要:
显然,答案不好直接求,我们考虑用总数减去不合法的方案数。 为了不算重,我们每次只考虑当前点与圆心连线交圆周于一点所形成的半圆内的不合法情况,然后用组合数算出剩下两个点的选择方案数。 
评论(0)
推荐(0)
摘要:
一道推式子的数学题。 $$ \begin{aligned} \sum\limits_{i=l}^{r}\sum\limits_{j=1}^{i}\left\{\dfrac{j}{i}\right\} &=\sum\limits_{i=l}^{r}\sum\limits_{j=1}^{i}\left( 阅读全文
posted @ 2023-07-17 21:19
HQJ2007
阅读(24)
评论(0)
推荐(0)
摘要:
暴力1:直接 dfs 枚举每个位置状态,复杂度 $O(2^n)$,预计 10pts。 暴力2:考虑贪心,如果一个左括号有多个合法的右括号匹配,则一定选最靠右的,而一对括号匹配当且仅当字符相同且中间部分可以完全匹配。 怎么判断能否一段连续区间可以完全匹配呢?我们可以用栈模拟! 假设该区间为 $[l, 阅读全文
posted @ 2023-07-17 21:18
HQJ2007
阅读(34)
评论(0)
推荐(0)
摘要:
暴力1:按照题意模拟即可,复杂度 $O(32n^2)$,预计 30pts。 暴力2:将 IP 地址用 `unsigned int` 存下来,比较 $a$,$b$ 是否匹配就只需要用位运算 $O(1)$ 判断即可,复杂度 $O(n^2)$,预计 50pts。 正解:考虑将当前插入的所有 IP 地址建成 阅读全文
posted @ 2023-07-17 21:16
HQJ2007
阅读(66)
评论(0)
推荐(0)
摘要:
## T1 辣椒树 ### 题面描述 给定一颗树,求分成三部分后的最小差异值。 - 子任务一,$20$分,保证 $N ≤ 200$; - 子任务二,$30$分,保证 $N ≤ 2000$; - 子任务三,$50$分,$N ≤ 2 × 10^5$。 ### 题解 暴力:每次枚举两个点,将其父边断掉,如 阅读全文
posted @ 2023-07-17 21:15
HQJ2007
阅读(21)
评论(1)
推荐(0)
摘要:
首先可以观察到一个非常重要的性质:对于一次前进的操作,如果前面有奇数次转向,则走上下,否则走左右。(当然如果一开始就前进就只能走右) 于是我们可以将其拆成许多的“块”,并分成两类,即前进方向为左右还是上下。 
评论(0)
推荐(0)
摘要:
通过观察,可以发现此题和最小生成树十分相似(两个地点之间途经的最小值最大)。 于是可以考虑这么做: 1. 通过 bfs 将每一个块预处理出来,并记录其编号、高度、类型(是否为高地)以及边缘的点。 2. 将每一个块按高度从大到小排序。 3. 依次枚举每个块: - 对于当前要处理的块,枚举其边界的所有点 阅读全文
posted @ 2023-07-17 21:13
HQJ2007
阅读(45)
评论(0)
推荐(0)
摘要:
首先我们定义“圈”为与原点距离相等的点集。 ``` . . . 3 . . . . . 3 2 3 . . . 3 2 1 2 3 . 3 2 1 0 1 2 3 . 3 2 1 2 3 . . . 3 2 3 . . . . . 3 . . . ``` ### 暴力: 把圈放到堆里,然后每次取出代 阅读全文
posted @ 2023-07-17 21:11
HQJ2007
阅读(29)
评论(0)
推荐(0)
摘要:
首先可以观察出一颗 $n$ 个节点的二叉树,当其字典序最小的时候,其形态为一条向右偏的链,当其字典序最大的时候,是一条向左偏的链。 由于每一种编码对应唯一的一颗二叉树,我们可以先建树。 然后考虑树上分治,尝试以下三种方式: 1. 变大右子树的字典序 2. 变大左子树的字典序,并将右子树变成一条链 3 阅读全文
posted @ 2023-07-17 21:09
HQJ2007
阅读(91)
评论(0)
推荐(0)

浙公网安备 33010602011771号