随笔分类 - 洛谷luogu
摘要:提供一种考场做法,在思路上和官方题解的差异蛮大的,虽然结果差不多。 首先需要发现 \([l,r)\) 区间可以算出来的充要条件是: 如果对于每个选中的节点 \(u\),连无向边 \((L_u,R_u)\),则当且仅当 \(l\) 和 \(r\) 连通时区间 \([l,r)\) 可以算出来。 证明的话
阅读全文
摘要:题面传送门 提供一种和其他题解完全不同的解法。 记 \(P_0\) 为题中给出的序列,\(P_1\) 为 \(P_0\) 取反的结果。 记 \(S_{l\sim r}\) 表示 \(S_lS_{l+1}\dots S_{r}\)。 方便起见,\(P\) 下标从 \(0\) 开始,其余的串都是从 \(
阅读全文
摘要:由于大家的做法需要大量分类讨论和代码量,这里提供一种不怎么分类的,容易实现的做法。 首先,由于墙体会随时变化,所以直接对墙体本身维护不是很方便。 我们可以牺牲一点常数,对 \((i,j)\) 建立四个点 \(UL_{i,j},UR_{i,j},DL_{i,j},DR_{i,j}\) 分别表示 \((
阅读全文
摘要:题面 鉴于这题目前还没题解,提供一种时间 \(\Theta(n\sqrt{m})\),空间 \(\Theta(n+m)\) 的做法。 询问 1 可以直接上树分块或者树上莫队,见 P6177 Count on a tree II/【模板】树分块。 但是因为本题询问 2 的做法,所以我采用了树上莫队的做
阅读全文
摘要:题面 提供一种不需要多项式/生成函数的做法。 方便起见,记 \(P(G)=0/1\) 表示 \(G\) 是否不存在非平凡自同构。 首先发现对于图 \(G\) 的补图 \(G'\),显然 \(P(G)=P(G')\)。 那么边数的最大值 \(=\frac{n(n-1)}{2}-\) 边数的最小值。 显
阅读全文
摘要:构造题注意事项 一定要转化思路,不要总是盯着一个特殊点; 多注意特殊点的变化: 例如 P7115 [NOIP2020] 移球游戏,如果总是盯着一个全不是 \(c\) 的栈和一个空的栈对其他栈操作,就会使得步数要翻一倍,然而如果只操作一半,那么此时可以用当前栈作为新的空栈,原来的空栈作为新的全不是 \
阅读全文
摘要:妙妙题。 ### 题意 给定 $F_0(x)=a_{(x-1)\bmod n +1}$。 $$ F_k(n)=F_{k-1}(n)-\sum\limits_{i=2}^n F_k(\lfloor\frac{n}{i}\rfloor) $$ 求 $F_k(m)$。 $1\le n\le 10^4,1\
阅读全文
摘要:思维妙妙题。 赛时的错误做法: - 找到每个点往后进位变优的位置,最多 $O(\log)$ 个; - 然后从前往后能变优就变优,往后贪心进位。 hack 数据: ``` 0 1 3 3 5 100 2 1 0 2 2 ``` 输出:`100` 这样子由于 $1$ 到 $2$ 不优,而 $1$ 到 $
阅读全文
摘要:平衡树好题。 考虑整体直接模拟操作。 - `l -1 x` - $x\in[1,l]$:不用动; - $x\in(l,2l]$:整体减去 $l$ 之后暴力插回去; - $x\in(2l,+\infty)$:整体减 $l$ 与第一段合并。 - `l r x`:区间加即可 复杂度显然是 2log 的,考
阅读全文
摘要:有一个显然的 $O(n^3q)$ 的做法: - 设 $f_{i,l,r,x}$ 表示 $i$ 次操作过后,区间 $[l,r]$ 的数 $\le x$,$a_{l-1},a_{r+1}>x$ 的方案数。 - 转移:$$f_{i,l,r,x}=f_{i-1,l,r,x}\times g_{l,r}+\s
阅读全文
摘要:这类问题大概长这样: 求一个排列 $p_{1\sim n}$,最小(大)化如下值: $$ \sum\limits_{i=1}^{n-1}f(p_i,p_{i+1})\\ f(i,j)= \left\{ \begin{array}{**lr**} g(i)+h(j),ij \end{array} \r
阅读全文
摘要:思维妙妙题+神仙题。 首先发现 $d$ 的限制满足单调性,所以可以转化为 $l\ge p_r$ 的限制。 > 注意:$p$ 是单调不降的 然后就是 $p_r\le l\le r,\max\limits_{i=l}^r\{c_i\}\le r-l+1$。 这个 $\max$ 想到转化到笛卡尔树上操作。
阅读全文
摘要:很容易考虑到计算贡献。 > 该问题的关键在于——如何使得钥匙和宝箱的对应关系不算重 > Warning:有这样的二元对应关系,可以考虑一下转化为括号序列! 转化为括号序列之后,发现路径上括号串的对应关系能够预处理出来。 套个虚树和扫描线,就做完了。 ### 代码 ```cpp #include us
阅读全文
摘要:>tarjan 多测的时候 dfn 数组要清空!!! >树剖多测的时候 son 数组要清空!!! > 点双 tarjan 时可用 vector 建边,边双时用 vector 需要无重边 本题直接建圆方树,然后答案就是关键点构成的虚树上非关键原点个数。 ### 代码 ```cpp #include u
阅读全文
摘要:要点不多,记一下即可。 $G$ 的对偶图记为 $G^*$。 - $G^*$ 为连通图,若 $G$ 联通,则 $G^{*}{^*}=G$ - $G^*$ 中的简单环对应着 $G$ 中的极小割,(简单对应极小),利用该性质,可以把平面图上的最小割问题转化为对偶图上的最短路问题 - 平面图欧拉公式:$V-
阅读全文
摘要:[link](https://www.luogu.com.cn/problem/P6545) 思维好题。 - 找到结论,即包住所有点的充要条件 两次最短路的思想确实很妙。 > 结论:找到 $(0,0)$ 到每个标记方格左上角的最短路,那么一定存在包住这些路径的最优解。 证明考虑反证,比较好证的。 #
阅读全文
摘要:> 引用:这是一道非常棒的思维题,可以说没有用到任何高深的知识点,却极大地考验了做题人的思维能力和创造性。 本题分为两步。 - 根据线性规划对偶或贪心,转化题意。 - 对 $m$ 根号分治,然后分别进行分治。 > $m\le \sqrt{n}$分治比较好想,$m>\sqrt{n}$ 的根号分治比较难
阅读全文
摘要:有如下背包问题: - $n$ 种物品,体积为 $v_i$,价值为 $w_i$,不限量,要求选 $m$ 件物品,且总体积为 $V$,求总价值的最大(小)值。 解决方法: - 不妨令 $v_i$ 升序,首先先选 $m$ 个 $1$ 号物品,计算体积 $V_0=m\times v_1$,然后每选一件物品,
阅读全文
摘要:其他题解都是大码量的直接构造,来一发 dp 的题解。 思路很明确,直接 dp,然后输出路径即可。 考虑先把 $1\to n$ 的路径找出来,记为 $a_i(1\le i\le m)$。 那么肯定存在一种路径依次经过这些点的子树,然后遍历完 $a_i$ 的子树后再遍历 $a_{i+1}$ 的子树。 这
阅读全文
摘要:提供一种简介易懂的做法。 首先曼哈顿距离的绝对值比较难处理,所以可以转成切比雪夫距离。 具体地说,就是 $(x,y)$ 变成 $(x+y,x-y)$(接下来所述的坐标都是变换后的)。 这样 $(x,y),(a,b)$ 之间的距离就是 $\max{|a-x|,|b-y|}$。 虽然这里还有绝对值,但是
阅读全文

浙公网安备 33010602011771号