![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
题解
文章平均质量分 82
ycw-123
这个作者很懒,什么都没留下…
展开
-
P7413 [USACO21FEB] Stone Game G
理论分析:第 iii 回合中取走的石子数量 sis_isi 必须整除 si+1s_{i+1}si+1。即si+1s_{i+1}si+1 是 sis_isi 的倍数。枚举 s1s_1s1,假设每次都只取 s1s_1s1 个石子,则第 iii 堆需要取 ⌊ais1⌋\lfloor \frac{a_i}{s_1}\rfloor⌊s1ai⌋ 次。这是一道博弈论的题,所以我们先要考虑满足何种性质是后手必胜态,这样就可以将问题转化为:给定原始序列,求进行一次操作后使序列转化为后手必胜态原创 2021-08-28 17:22:30 · 181 阅读 · 0 评论 -
Luogu P7841 生成树
题意给定 nnn 个数的原始权值 wiw_iwi,你要按照某种顺序将它们排序。若第 iii 个数的原始权值为 kkk,则第 i+1i+1i+1 到第 nnn 个数的权值均加上 (−1)i+k+1×k(-1)^{i+k+1} \times k(−1)i+k+1×k。你需要求出一种排序方案,使得 nnn 个数的权值和最大。solution理论分析我们可以看出一个数越靠前,它的贡献效果越明显,那么我们肯定希望贡献大的靠前。所以我们从 111 到 nnn 确定每一位应该放哪个数,最后再计算答案即可。原创 2021-08-24 06:08:16 · 147 阅读 · 0 评论 -
Luogu P7840 「PMOI-4」人赢
Luogu P7840 「PMOI-4」人赢题意给出 n,m,kn,m,kn,m,kaia_iai 满足如下性质:ai={n(i=1)m(i=2)ai−1×ai−2 mod 10a_i= \begin{cases} n&(i=1)\\ m&(i=2)\\ a_{i-1} \times a_{i-2} \bmod 10 \\ \end{cases}ai=⎩⎪⎨⎪⎧nmai−1×ai−2mod10(i=1原创 2021-08-22 18:39:08 · 110 阅读 · 0 评论 -
莫队初步(持续更新中
一.莫队(静态莫队)我们以 Luogu P3901 数列找不同 为例讲一下静态莫队这道题是个绿题,因为数据比较弱,但真是一道良心的莫队练手题莫队是由前国家队队长莫涛发明的莫队算法的精髓就是通过合理地对询问排序,然后以较优的顺序暴力回答每个询问。处理完一个询问后,可以使用它的信息得到下一个询问区间的答案。 优雅的暴力考虑这个问题:对于上面这道题,如果我们知道区间[1,5]每个数的数量,如何求出[2,6]每个数的数量算法 1 :暴力扫一遍。 (废话)算法 2 :可以在区间[1,5]的基础上,去掉位原创 2021-08-22 18:38:01 · 52 阅读 · 0 评论 -
欧拉回路与欧拉路径
Luogu P7771 【模板】欧拉路径题意给定一个 nnn 个点 mmm 条边的有向图,求该图字典序最小的欧拉路径。数据范围对于 50% 的数据,n,m≤103n,m\le 10^3n,m≤103。对于 100% 的数据,1≤u,v≤n≤1051\leq u,v\leq n\leq 10^51≤u,v≤n≤105,m≤2×105m\leq 2\times 10^5m≤2×105。Solution:来系统地整理一下有关欧拉回路和欧拉路径的问题。什么是欧拉路径?通过图中所有边恰好一次且行遍原创 2021-08-22 18:36:08 · 399 阅读 · 0 评论 -
浅谈单调队列
单调队列,顾名思义就是一个元素之间的关系具有单调性的队列我们通过一道例题来讲解最大子序和给定一个长度为 NNN 的整数序列(可能有负数),从中找出一段长度不超过 MMM 的连续子序列,使得子序列中所有数的和最大。 $N,M \le 3 \cdot 10^5 $。计算“区间和”的问题,一般转化为“两个前缀和相减”的形式进行求解。我们先求出 S[i]S[i]S[i] 表示序列里前 iii 项的和,则连续子序列 [L,R][L,R][L,R] 中的数的和就等于 S[R]−S[L−1]S[R] - S[L原创 2021-08-22 18:35:21 · 69 阅读 · 0 评论 -
最大子矩阵和 = 前缀和 + 最大子段和
Luogu P7741简单来说这道题就是求一个 N×MN \times MN×M 的矩阵的最大子矩阵和。(因为求的是黑色石板与白色石板的数量差,所以代表白色石板的“0”可以看作 -1,这样就将问题转化为了求最大子矩阵和)思路:首先,这个子矩阵可以是任意大小的,而且起始点也可以在任何地方,所以,要把最大子矩阵找出来,我们要考虑多种情况。假定原始矩阵的行数为 MMM,那么对于子矩阵,它的行数可以是 1 到 MMM 的任何一个数,而且,对于一个 KKK 行(K≤MK \le MK≤M)的子矩阵,它的第一原创 2021-08-22 18:32:56 · 306 阅读 · 0 评论