摘要:
\(\color{red}{Link}\) \(\color{blue}{\text{Solution:}}\) 题目要求构造一个最短的序列,使得异或和为$u$,数列和为$v$. 那么,因为是异或,所以最终序列的$u$对应的二进制位一定出现了奇数次,其他一定是偶数次。 显然$u,v$奇偶性不同或是$ 阅读全文
摘要:
\(\color{purple}{Link}\) \(\text{Solution:}\) 考虑区间$[l,r]\(的最优解。显然它可以由\)[l+1,r]\(或\)[l,r-1]$转移而来。至此出现区间$dp$模型。 因为这个是求双方最优解,显然对于一段区间$[l,r]$,如果对手选择最优解,那么 阅读全文
摘要:
\(\color{purple}{Link}\) \(\text{Solution:}\) 这个题就是给$Nim$游戏做了一个限制。 考虑一下$\text$函数:给定的局面下对应的$SG$函数值,若$=0$则必败。 又有:许多子游戏组成的一个游戏的$SG=\text_^n SG_i.$ 那么对于这个 阅读全文
摘要:
Link \(\text{Solution:}\) 由于有两种操作,不太好搞。 观察到,如果不考虑合并,显然总石子数为奇数则先手必胜,否则必败。 对于一个局面,显然我们最多操作次数是$(\sum a_i)+n-1$ 定义$b=n-1+\sum a_i$,则如果不存在石子数为$1$的堆,同样有$b$为 阅读全文
摘要:
Link \(\text{Solution:}\) 菜鸡自己想出来了状态设计,但是没有实现出来……菜死了 设$dp[i][j]$表示该选第$i$个,最多选$j$个的最优解。注意这里的定义仅仅是最优解,而不是先手最优。 那么,对于每一个$dp[i][j]$都要由下一步的$dp[i+x][x+x]$转移 阅读全文
摘要:
Link \(\text{Solution:}\) 回顾一下$Nim$游戏那个优美结论的$\text$ 将所有石子数量异或起来,若和为$0$则必败,否则必胜。(先手) 那分以下情况考虑: 首先是全$0:$此时必败,显然异或和为$0$. 然后是异或和不为$0$的状态:那我们必定可以找到一个$a_i$, 阅读全文
摘要:
Link \(\text{Solution:}\) 讲实话这题有点烦,不知道为啥改了下$\text$就过了……原版本$dfs$好像没啥错啊…… 其实对于子树问题,我们求出原来树的$dfs$序列,则可以将它转化为一个序列问题。注意题目中说的是有根树,以$1$为根。 那么,我们一遍$dfs$求出序列后, 阅读全文
摘要:
"Link" 题目大意:$n$个数,$m$个询问,每次四个参数,$l,r,a,b$,问区间$[l,r]$中出现过的,数值在$[a,b]$区间中的数的个数以及区间$[l,r]$中数值在$[a,b]$中的数的个数。 注意理解 这两个是不一样的。 $\text{Solution:}$ 观察到区间颜色出现次 阅读全文
摘要:
"Link" 题目大意:单点修改,每次询问一个区间的所有颜色出现次数的$\text{Mex}.$ 例如,区间中三种颜色分别出现了$2,2,3$次,又因为其他颜色出现次数一定是$0$,所以这里的答案是$1.$ $\text{Solution:}$ 这是带修莫队的一道题。 观察到,我们可以$O(1)$来 阅读全文
摘要:
"Link" 这是一道交互题。 $\text{Solution:}$ 观察到猜的数范围只有$2^{14}.$ 我第一次想到的方法是,我们可以确定系统选择的两个数的异或和,用这个异或和去穷举所有目标数,如果有符合条件的就输出。 但是,这样是无法唯一确定答案的。因为选择数是随机的,所以如果这样没梦想的去 阅读全文
摘要:
"Link" 题目大意:给定一个无向图,将它划分为三个点集,要求在一个点集中的点没有边相连,且颜色相同,不同集合中的点互相有边相连。 $\text{Solution:}$ 我们发现,与一个点之间没有边相连的一定在同一个集合。 因为如果有边相连就已经违反了一个性质。 那么我们可以轻易确定一个集合。剩下 阅读全文
摘要:
"Link" 题目大意:对于一个字符串,每次询问一个区间,看看这个区间是不是可以划分为若干区间,这些区间内数字经过排列后可以还原原来区间。 $\text{Solution:}$ 菜鸡笔者字符串构造该好好练练了…… 考虑基本情况: 当区间长度为$1$的时候一定可行。这个不用证明吧。 当区间左右端点不同 阅读全文
摘要:
"Link" $\text{Solution:}$ 后缀数组第一题祭…… 观察一下,这个是让求一个环形的原字符串的后缀,我们可以考虑一下断环为链。 对于$aba$我们扩展成$abaaba,$则一个后缀$baa$对应的就是$baaba,aba$对应的就是$abaaba$. 那么,两个扩展后的后缀如果要 阅读全文
摘要:
"Link" 题目大意:给定序列,将它划分为$m$段使得方差最小,输出$s^2 m^2$(一个整数)。 $\text{Solution:}$ 这题我~~通过题解中的大佬博客~~学到了一般化方差柿子的写法。 下面来推柿子: $$s^2=\frac{\sum_{i=1}^n (x_i \overline 阅读全文
摘要:
"Link" 蒟蒻做的为数不多的环形$dp$,技巧不到位,写题解来总结一下。 $\text{Solution:}$ $dp$柿子还是很好推出来的:$dp[i][j]$表示地$i$个点染色是$j$的方案数。先考虑没有限制的转移: $$dp[i][j]=\sum_{k\not=j} dp[i 1][k] 阅读全文
摘要:
共菜鸡笔者看的……会慢慢更新,也请看到的大佬留意一眼,指出不足。 对于一些对部分点的二维$dp$,状态从左上角继承而来时,对于一个点$(x,y)$,对它编号$x*m+y$,按照这个顺序$dp$,可以保证更新当前值之前前面的已经被更新。 善于发掘题目的性质。对于一些一眼看上去没法$dp$的东西,观察题 阅读全文
摘要:
"Link" 题目大意:给定$n$个二元组,每次可以选择一组,花费是组内最大的长乘以最大的宽。问消掉所有二元组的最小代价。 $\text{Solution:}$ $dp$写的不够啊…… 先挖掘一下题目性质,对于一个二元组,如果它的长和宽都可以被某一个二元组覆盖掉,则它显然是可以被并掉的,于是我们去掉 阅读全文
摘要:
"Link" 题目大意:一段区间的贡献是$ax^2+bx+c,x=\sum v$,求一个划分让总区间的价值最大。分段必须连续。 $\text{Solution:}$ 设计$dp[i]$表示前$i$个人的最佳划分价值。那么有转移: $$dp[i]=\max_{j using namespace std 阅读全文
摘要:
"Link" $\text{Solution:}$ 注意到题目中的编号是倒着的,于是我们的距离要预处理的是后缀和。 考虑如何$n^2$搞: 设$dp[i]$表示选择$i$为第二个中转点的最小代价。 枚举在$i$前面的$j$,代价就是$dp[i]=\min_{j using namespace std 阅读全文
摘要:
"Question" $\text{Solution:}$ 首先有一个基础$dp:$设$dp_i$表示前$i$个物品装完的最小价值,$sum[i]$是$C$的前缀和则: $dp_i=\min_{j=slope(q[tail],i)$的时候,出队。因为它前面的点的斜率是要小于这个点与上一个点所连直线的 阅读全文