随笔分类 -  题解

上一页 1 2 3 4 5 6 7 ··· 9 下一页
摘要:假设当前在确定玩家 p 是否能成为唯一的赢家。 假设 p 能赢下所有不确定的比赛,令 win 表示他赢的数量。 如果 win=0 显然他不能成为唯一的赢家,下面都假设 win1。 考虑网络流建图。 建立源点 S,汇点 TAi,j 表示玩家 i 与 $ 阅读全文
posted @ 2022-11-09 15:47 Kobe303 阅读(17) 评论(0) 推荐(0) 编辑
摘要:乘积是立方数说明分解质因数之后每个质数的指数都是 3 的倍数,于是可以对每个数的质因数进行哈希,指数对 3 取模,哈希之后求一遍前缀和,如果 Hr=Hl1 就说明是立方数,否则不是。 Code: #include <bits/stdc++.h> using namespace 阅读全文
posted @ 2022-11-09 15:05 Kobe303 阅读(19) 评论(0) 推荐(0) 编辑
摘要:对于一个 p×m 的矩阵 A,与 m×q 的矩阵 B,定义广义矩阵乘法 A×B=C 的结果是一个 p×q 的矩阵 C,满足: $$C_{i,j}=(A_{i,1}\otimes B_{1,j})\oplus(A_{i,2}\ 阅读全文
posted @ 2022-11-09 14:50 Kobe303 阅读(29) 评论(0) 推荐(0) 编辑
摘要:先来研究没有初始球情况下的简单版本: n 个小球,m 个盒子,每个小球等概率地放到盒子里,这样有 nm 种方案,每种方案的贡献是每个盒中球个数的乘积,计算所有方案贡献总和。 设 xi.j 表示第 i 个盒子中是否放入了第 j 个球,取值只有 0 或者 1。 对 阅读全文
posted @ 2022-11-09 12:55 Kobe303 阅读(25) 评论(0) 推荐(0) 编辑
摘要:首先有一个 O(N2) 做法。 考虑容斥掉条件一,令 g(i) 表示恰好有 i 个花园空着的方案数,f(i) 表示钦定有 i 个花园空着,剩下无限制的方案数。 则有 g(0)=Ni=0(1)if(i)。 而 $$f(i 阅读全文
posted @ 2022-11-08 22:33 Kobe303 阅读(25) 评论(0) 推荐(0) 编辑
摘要:考虑重新刻画一个序列的生成,设原数列为 (0,0),将所有数从小到大排序后依次加入。 例如 (2,3,1) 是这样生成的: (0,0)(0,1,0)(0,2,1,0)(0,2,3,1,0)
于是问题变成多少种方案使得这样的序列存在 k+1 个位置 i 满足 阅读全文
posted @ 2022-11-08 21:52 Kobe303 阅读(64) 评论(0) 推荐(0) 编辑
摘要:首先可以想到枚举每条边上的白色石子个数,记为 k。 则最终答案为 d+1k=0f(k)f(x) 表示每条边的石子个数为 x 时的答案。 那么可以想到一个暴力的 dp 状态,设 fi,j,k 表示考虑了前 i 条边,最开始的点的颜色是 阅读全文
posted @ 2022-11-08 20:55 Kobe303 阅读(25) 评论(0) 推荐(0) 编辑
摘要:首先显然能想到二分,随后想想怎么判定。 ~~这里我卡住了(~~ 看了题解发现是一个常用的技巧。 先把所有 Y 的位置存下来,记为数组 A,记 Bi=Aii,那么发现交换就相当于把 B 中某个值加一或减一,接下来就是 check 能否在 K 次内形成一段连续的相同的值,由于 阅读全文
posted @ 2022-11-08 20:10 Kobe303 阅读(32) 评论(0) 推荐(0) 编辑
摘要:首先题目要求删去边权和最小的边使得图变成一张二分图,那么看到二分图就想到染色,那么题目的意思就是让同色节点之间的边权之和最小。不失一般性的,强制 0 节点为白色。 由于原图是一个环,这不好处理,考虑断开 N1 之间的边,那么这样就能设计出一个 DP 状态,fi,j,k阅读全文
posted @ 2022-11-08 19:51 Kobe303 阅读(29) 评论(0) 推荐(0) 编辑
摘要:直接连边是 O(N2) 的,考虑优化建图。构建 M 个虚点,分别是 ¯0,¯1,,¯M1。然后对于 k[0,M1],连边 $\overline{k}\to \over 阅读全文
posted @ 2022-11-08 14:59 Kobe303 阅读(25) 评论(0) 推荐(0) 编辑
摘要:前置:ABC214D 那题只要求 max,将边按照边权从小到大排序后依次加入,用并查集维护连通块大小并更新答案即可。 Code 于是这题也一样,把 maxmin 分别求出来,然后减一减就好了。 但是有一个问题,这题是点权,如何转化成边权呢? 假设当前求 max。 那么将 阅读全文
posted @ 2022-11-08 11:02 Kobe303 阅读(14) 评论(0) 推荐(0) 编辑
摘要:套路题。 设 M=105。 设 f(i) 表示路径的 gcd 恰好为 i 时候的贡献,则答案为 Mi=1i×f(i)。 套路的,将限制变成路径的 gcdi 的倍数,设 g(i) 表示此时的贡献。 则有 $f(i)=g(i)-\ 阅读全文
posted @ 2022-11-08 10:54 Kobe303 阅读(23) 评论(0) 推荐(0) 编辑
摘要:设 fi,j,0/1 表示考虑前 i 列,删去了 j 条边,目前上方和下方连不连通的方案数。 则有转移: fi,j,1=fi1,j,1+3×fi1,j1,1+fi1,j,0
$$f_{i,j,0}=2\times f_{i-1,j 阅读全文
posted @ 2022-11-07 22:03 Kobe303 阅读(23) 评论(0) 推荐(0) 编辑
摘要:首先先把颜色都离散化。 设 f 为所求答案,那么对于 f(1)f(n) 分别计算其期望。因为期望的线性性,分别考虑每种颜色被选中至少一个的概率(因为每种颜色对答案的贡献是 1 所以期望就等于概率)。 设有 m 种不同颜色,第 i 种颜色出现次数为 cnti,则有: 阅读全文
posted @ 2022-11-07 20:25 Kobe303 阅读(19) 评论(0) 推荐(0) 编辑
摘要:不难发现一定是拔高一段后缀。 所以设 fi,j 表示考虑前 i 个位置,拔高 j 次,第 i 个位置强制选的 LIS 的长度。 则有 $f_{i,j}=\max\limits_{1\le x\lt i,0\le y\le j,a_x+y\le a_i+j}\left{f_{x, 阅读全文
posted @ 2022-11-07 13:48 Kobe303 阅读(21) 评论(0) 推荐(0) 编辑
摘要:可以发现直接将每种颜色的第 i 个球分给第 i 个人就可以取到最优解。证明在下面。在这个方案中将每个人的第 i 个球标上 i,能取到最优解的方案中,标 1 的必须仍然是某人的第一个球,标 3 的必须仍是某人的第三个球。O(n) 正反扫两遍分别计算标 $2 阅读全文
posted @ 2022-11-06 20:55 Kobe303 阅读(22) 评论(0) 推荐(0) 编辑
摘要:设 fi,j,k 表示从 i 往前,第一个与 ai 颜色不同的位置是 j,第一个颜色与 ai,aj 都不相同的位置是 k 的方案数,其中某个值为 0 表示这个位置不存在。当然 i>j>k(特别地,当 j=0k 可以为 0 阅读全文
posted @ 2022-11-06 16:36 Kobe303 阅读(11) 评论(0) 推荐(0) 编辑
摘要:寄,这都没看出来( 考虑把涂绿色看成同时涂上红色和蓝色,显然这是等效的。 这样红色和蓝色就独立了,枚举红色的个数即可。 时间复杂度 O(n)。 Code: #include <bits/stdc++.h> using namespace std; typedef long lo 阅读全文
posted @ 2022-11-06 10:58 Kobe303 阅读(22) 评论(0) 推荐(0) 编辑
摘要:设 fi,j 表示前 i 个位置使用 j1 的方案数。 转移很简单:fi,j=fi1,j+fi1,j1 但是有些状态是非法的,所以对于每个 i 求出其前缀可以操作的最右的位置 Ri,以及 prei 表示前缀 1 的数量。 于 阅读全文
posted @ 2022-11-06 10:20 Kobe303 阅读(28) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2022-11-06 08:51 Kobe303 阅读(0) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 ··· 9 下一页
点击右上角即可分享
微信分享提示