摘要: 算法目录: 浅谈随机化 题解目录: P14556 [ROI 2013 Day2] 星际航程 题解 UVA11350 Stern-Brocot Tree 题解 P14121 [SCCPC 2021] Don't Really Like How The Story Ends 题解 P1962 斐波那契数 阅读全文
posted @ 2026-03-03 22:25 Python_enjoy 阅读(8) 评论(0) 推荐(0)
摘要: 很有趣的一道题,尝试使用滑动窗口的思想。 以 \(start\) 标记当前有效子段的起始位置,\(end\) 遍历序列作为子段终点。当 \(end\) 位置导致连续三个元素单调时,说明当前子段不符合要求,将起点更新为 \(end-1\);若未出现连续单调的三个元素,则更新最长有效子段的长度。记录的最 阅读全文
posted @ 2026-03-12 13:31 Python_enjoy 阅读(2) 评论(0) 推荐(0)
摘要: 比较模板的离散化 使用两个 map<int, vector<int>>: a[y]:存储所有纵坐标为 \(y\) 的点的横坐标列表 b[x]:存储所有横坐标为 \(x\) 的点的纵坐标列表 读入所有点后,对每个 vector 排序,以便二分查找。 定义函数 \(f(v, l, r)\),返回数组中值 阅读全文
posted @ 2026-03-12 13:00 Python_enjoy 阅读(2) 评论(0) 推荐(0)
摘要: 很明显,这道题是一道 BFS。 首先做操作转化:Riffle 操作下,前 \(n\) 张的位置 \(x\) 会变为 \(2x-1\),后 \(n\) 张的位置 \(x\) 会变为 \(2 (x-n)\);Scuffle 操作下,奇数位置 \(x\) 变为 \(x+1\),偶数位置 \(x\) 变为 阅读全文
posted @ 2026-03-12 12:59 Python_enjoy 阅读(1) 评论(0) 推荐(0)
摘要: 这题是非常好的题,适合用来巩固 STL 的运用。 我们使用一个 map 来记录有没有访问过这个格子,然后按照题意模拟。切记一个一个格子走。如果当前这个格子没访问过,就标记一下;如果访问过了,就给答案加一。最后输出答案即可。 设每次移动的最大距离为 \(k\),时间复杂度为 \(\Theta(km\l 阅读全文
posted @ 2026-03-12 12:57 Python_enjoy 阅读(4) 评论(0) 推荐(0)
摘要: 这道题是一道有一定思维难度的 DP 题目。 首先讲 \(\Theta(n^2)\) 做法:预处理每一个行星最远能够直接到达的那个行星,记作 \(nxt_i\)。接着上转移方程。设 \(f_i\) 为到达第 \(i\) 个行星需要执行的最小加注次数。初始 \(f_1=0,f_2=f_3=\cdots= 阅读全文
posted @ 2026-03-03 22:16 Python_enjoy 阅读(10) 评论(0) 推荐(0)
摘要: 一道很简单的题,按照题意模拟就可以了。 设 \(la = 0, lb = 1, ra = 1, rb = 0\),代表 \(L = \frac{la}{lb},R = \frac{ra}{rb}\)。每次移动设 \(MID = \frac{mida}{midb}=\frac{la+ra}{lb+rb 阅读全文
posted @ 2026-03-03 22:16 Python_enjoy 阅读(6) 评论(0) 推荐(0)
摘要: 今天考试的题,顺便写一个题解。 思路 这道题让我们还原一个 DFS 序, 思路很简单:我们从第一个点开始,如果当前的点到的下一个点没有边了话,就建一条边。然后跳转到下一个点。 思路清楚了,只要注意代码实现就可以了。 AC 代码: #include <bits/stdc++.h> #define in 阅读全文
posted @ 2026-03-03 22:16 Python_enjoy 阅读(3) 评论(0) 推荐(0)
摘要: 题目大意 求斐波那契额数列的第 \(n\) 项。 做法 我们看到数据范围就会知道:不可以用递推。 此时我们可以使用矩阵来加速! 想到下面这个式子: \[\begin{bmatrix} F_n \\ F_{n-1} \end{bmatrix} = \begin{bmatrix} F_{n-1} \\ 阅读全文
posted @ 2026-03-03 22:15 Python_enjoy 阅读(6) 评论(0) 推荐(0)
摘要: 很明显的随机化,直接开始分析。 我们设一开始的 \(p\) 为标准排列,计算此时的 \(\bigoplus\limits_{i=1}^n (p_i+k\times i)\),然后进行多次随即操作,每次随机挑选两个位置 \(a,b\),交换 \(p_a,p_b\),计算此时的值(注意这里的计算必须是 阅读全文
posted @ 2026-03-03 22:15 Python_enjoy 阅读(4) 评论(0) 推荐(0)