摘要: 洛谷传送门 CF 传送门 思路 考虑数列是一个排列怎么做。 套路地,设一个数组 $b_i$ 表示 $i$ 在排列出现的位置,即 $a_{b_i} = i$。则题中交换逆序对的位置就转化成了交换逆序对的值(因为若 $i < j$ 且 $b_i > b_j$ 则 $a_{b_j} > a_{b_i}$) 阅读全文
posted @ 2022-07-21 14:26 zltzlt 阅读(76) 评论(0) 推荐(0) 编辑
摘要: 洛谷传送门 CF 传送门 又是一道小清新构造题。 思路 显然若 $n$ 为合数(除了 $4$,因为 $4$ 可以构造出 $[1,3,2,4]$)则无解,因为一定存在 $x > 1,y > 1,x \ne y$ 且 $xy \equiv 0 \pmod{n}$,而 $n$ 一定要放在排列最后一位使得前 阅读全文
posted @ 2022-07-21 10:33 zltzlt 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 洛谷传送门 CF 传送门 萌萌交互题。 思路 考虑每次询问两个叶子的 $\mathrm{LCA}$,若 $\mathrm{LCA}$ 为两个叶子之一,那么 $\mathrm{LCA}$ 必为根。 每次询问后需要加进来新的叶子。 若询问 $\left\lfloor\dfrac{n}{2}\right\ 阅读全文
posted @ 2022-07-21 09:14 zltzlt 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 洛谷传送门 AtCoder 传送门 思路 考虑正向进行操作并且维护当前棋子能到达的行区间 $[up,down]$ 和列区间 $[left,right]$。则先手每次将区间往外扩展一格,而后手每次尽可能将区间往内缩小。当某一时刻先手执行完操作后区间的最左端或最右端不在棋盘上了,那么输出 NO。执行完所 阅读全文
posted @ 2022-07-21 08:01 zltzlt 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 洛谷传送门 思路 若不能往右走,则本题就是卡特兰数。 现在加上可以往右走的条件,可以在一开始都往右走的前提下任选 $k$ 个右上,$k$ 个右下,并且不能碰到 $y = -1$。因此方案数为: $$\sum\limits_{k=1}^{\left\lfloor\frac{n}{2}\right\rf 阅读全文
posted @ 2022-07-20 21:26 zltzlt 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 洛谷传送门 SPOJ 传送门 比较经典的一道题。 思路 第一个怪物一定是 Digo 杀的,考虑第二个到最后一个怪物,如果忽略掉 Digo 杀的第一只怪物,那么每杀掉一只怪物后,Digo 的击杀数都不少于 Sharry 的击杀数。 假设现在在一个平面直角坐标系,位于点 $(0,0)$,Digo 杀一个 阅读全文
posted @ 2022-07-20 16:43 zltzlt 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 洛谷传送门 思路 设 $f_i$ 为经过第 $i$ 个结点的期望次数,那么炸弹在第 $i$ 个结点爆炸的概率即为 $f_i \times \dfrac{P}{Q}$。 有转移: $$f_u = [u=1] + \sum\limits_{(u,v) \in E} \dfrac{1 - \frac{P} 阅读全文
posted @ 2022-07-19 16:02 zltzlt 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 洛谷传送门 经典根号分治题。 思路 显然有两种暴力: 对于每个地区为 $r_1$ 的结点,计算它的子树内有多少个地区为 $r_2$ 的结点。 对于每个地区为 $r_2$ 的结点,计算它到祖先的链上有多少个地区为 $r_1$ 的结点。 设 $cnt_i$ 为第 $i$ 个地区的数量。若 $cnt_{r 阅读全文
posted @ 2022-07-19 14:11 zltzlt 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 洛谷传送门 LOJ 传送门 思路 显然可持久化 01 trie。 询问一,由于一个结点的子树可以映射到 $\mathrm{dfs}$ 序上一段连续的区间,因此可以对 $\mathrm{dfn}$ 区间建可持久化 01 trie,查询直接做就可以。 询问二,用树剖会多一个 $\log$,很垃圾。考虑差 阅读全文
posted @ 2022-07-19 14:04 zltzlt 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 洛谷传送门 CF 传送门 题意 给一棵树和每个结点消失的概率 $p_i$,有 $q$ 组询问,每组询问要求: 将 $p_u$ 修改为 $x$ 查询森林的期望连通块数量 思路 题中给出的是每个结点消失的概率,那不妨先 $p_i \gets 1 - p_i$ 将 $p_i$ 转化为每个结点出现的概率。 阅读全文
posted @ 2022-07-19 09:27 zltzlt 阅读(21) 评论(0) 推荐(0) 编辑