题解_杂
文章平均质量分 86
.
Hypoc_
这个作者很懒,什么都没留下…
展开
-
codeforces 1503D Flip the Cards 题解
题目传送门题目大意: 有 nnn 张卡片,给出他们正反面的数字,求最少翻转几张卡片,使得排序后,从第一张卡片到最后一张卡片,正面数字递增,反面数字递减。题解个人感觉是很优美的一个题,可惜博主脑子笨赛时并不会做。考虑最后排完序数字应该是什么样的,不难想象,111 ~ nnn 这些数字一定分成了两个递增子序列,一部分在前 kkk 张卡的正面,一部分逆序出现在后 n−kn-kn−k 张卡的背面。注意到这样是不可能存在一张卡拥有两个 ≤n\leq n≤n 的数字的,这是第一个判无解的条件。对于 i≤ni\原创 2021-04-05 20:17:34 · 531 阅读 · 0 评论 -
洛谷省选计划后期 2021 仙人掌 题解
题目传送门 然而大部分人基本不能看……题目大意: 好像也不方便写……题解据说正解好像是 n2n^2n2 的,但是勉强把我这个 n3n^3n3 的给放过去了qwq。考虑统计以每个节点为好链的最后一个节点的好链数量。先考虑树的情况,令 fif_ifi 表示以 iii 为最后一个节点的好链数量,那么转移的时候暴力枚举子树内的点,假如 j<ij<ij<i 那么令 fif_ifi 加上 fjf_jfj,最后 fif_ifi 加一 也就是新建一条好链。然后考虑仙人掌,先建出圆方树便于原创 2021-04-01 12:46:46 · 525 阅读 · 0 评论 -
CTSC 2014 随机数 题解
题目传送门题目大意: 好像题目描述已经没法压缩了……大家看原题吧qwq题解(废话)这部分作者神志不清的自说自话大家跳过也无妨的qwq……这题做的人少的吓人,我也是听了f321dd巨佬讲课才来尝试做一做,个人觉得还是很有趣的题qwq。话说这题网上题解似乎只有不超过 333 篇啊……像我这种菜鸡水平的人没什么题解看就很难受,所以千辛万苦过了这题来记录一下。话说做这题的时候还有一个有趣的事儿,就是中途用瞪眼法已经再也瞪不出bug的时候,我去偷了一手Picks爷的代码对拍,结果拍出来四五个,手算之后发现原创 2021-03-31 10:50:44 · 249 阅读 · 0 评论 -
CF414E Mashmokh‘s Designed Problem 题解
题目传送门题目大意: 给一棵以 111 为根的树,边有序号,维护三种操作:1、求两点距离;2、支持将一棵子树拔下来插到另一个节点上,成为他的最后一个儿子;3、从根出发dfs,求最后一个dfs到的深度为 kkk 的节点。题解边有序号大概就是暗示你这棵树dfs序唯一,但是这题dfs序没有什么好的性质,但这时候我们灵机一动发现一个叫欧拉序的东西也是唯一的,拿过来用一用。我们考虑用splay来维护,以欧拉序为key,深度为value。先看第二个操作,记 inx,outxin_x,out_xinx,outx原创 2021-03-30 11:34:30 · 125 阅读 · 0 评论 -
洛谷省选计划后期 2021 人数统计题 题解
题目传送门 然而大部分人基本不能看……题目大意: 好像也不方便写……题解赛时并没有调出来,主要是博主十分的菜而且赛时摸了很久的鱼qwq。照例将总贡献和总方案数分开算,先看总贡献(下面为了简洁,将 gcd(∣x1−x2∣,∣y1−y2∣)\gcd(|x_1-x_2|,|y_1-y_2|)gcd(∣x1−x2∣,∣y1−y2∣) 记做 ggg):12∑x1=1n∑y1=1m∑x2=1n∑y2=1mg×(nm−2)−2g(g−1)\frac 1 2\sum_{x_1=1}^n\sum_{y_原创 2021-03-24 20:35:47 · 274 阅读 · 0 评论 -
NOI 2016 循环之美 题解
题目传送门题目大意: 问有多少个值不相同的分数 xy(x∈[1,n],y∈[1,m])\dfrac x y(x\in[1,n],y\in[1,m])yx(x∈[1,n],y∈[1,m]),满足在 kkk 进制下是个纯循环小数。纯循环:即小数存在循环节(可以是 000),且从小数点后第一位就开始循环。题解假设 kkk 为 101010,循环节为 x1x2...xcx_1x_2...x_cx1x2...xc,那么小数点部分就可以表示为这样的分数:x1x2...xc999...99\dfrac {x原创 2021-03-23 19:00:52 · 202 阅读 · 0 评论 -
APIO 2017 考拉的游戏 题解
题目传送门题目大意: 交互题,太长了不想写了qwq。题解task1随便在一个物品旁放一个石子就好了,如果这个物品是最小的那么肯定会被考拉舍弃掉,否则一定把最小的物品的那个石子拿过来然后在这个物品旁放两个,那么只需要看其他物品中哪个没有石子就是最小的。int minValue(int n, int w) { memset(B,0,sizeof(B));B[0]=1; playRound(B,R); if(R[0]<2)return 0; for(int i=1;i<n;i+原创 2021-03-09 08:32:16 · 466 阅读 · 0 评论 -
洛谷省选计划后期 2021 数数题 题解
题目传送门 然而大部分人基本不能看……题目大意: 好像也不方便写……题解大概就是给以后的自己看的东西。画一个矩阵,第 iii 行第 jjj 列为 111 表示 iii 位置可以选 jjj 这个数,那么画出来就是个正方形左下角缺了个 SSS 大小的直角三角形,右上角缺了个 TTT 大小的直角三角形。问题变成在 111 位置上放 nnn 个棋子,两两棋子行列互不相同。假设 SSS 为 000,那么剩下问题的答案就是 (n−T)T(n−T)!(n-T)^T(n-T)!(n−T)T(n−T)!,你从 11原创 2021-03-08 17:11:58 · 469 阅读 · 0 评论 -
hdu #4336.Card Collector 题解
题目传送门题目大意: 每次购买有 aia_iai 的概率得到卡片 iii,求期望购买几次得到所有卡片。题解做法1好像还没有发现别人写这样的笨b做法。。考虑一个顺推的dp,令 fSf_SfS 表示已经拥有 SSS 内的卡片,期望需要的步数;hSh_ShS 表示从 f∅f_{\empty}f∅ 转移到 fSf_SfS 的概率——你可以看做 所有 得到 SSS 这些卡片的方案 的概率之和;gS=∑i∈Sai,p=1−∑i=1naig_S=\sum_{i\in S}a_i,p=1-\sum_{i原创 2021-03-05 16:45:08 · 212 阅读 · 1 评论 -
bzoj #2813.奇妙的Fibonacci 题解
题目传送门题目大意: 令 fif_ifi 为斐波那契数列第 iii 项,问有多少个 jjj 满足 fj∣fif_j|f_ifj∣fi,并求出 jjj 的平方和。题解fj∣fif_j|f_ifj∣fi 等价于 gcd(fi,fj)=fj\gcd(f_i,f_j)=f_jgcd(fi,fj)=fj,而斐波那契有个神奇的结论:gcd(fi,fj)=fgcd(i,j)\gcd(f_i,f_j)=f_{\gcd(i,j)}gcd(fi,fj)=fgcd(i,j),代入进去就是 fgc原创 2021-03-05 08:48:17 · 199 阅读 · 1 评论 -
CTSC 2008 祭祀 题解
题目传送门题目大意: 给出一张DAG,选出若干个点组成点集 VVV,满足对于任意 x,y∈Vx,y\in Vx,y∈V,xxx 不能到达 yyy 且 yyy 不能到达 xxx,最大化 ∣V∣|V|∣V∣,输出一种方案,并且输出每个点是否有可能在 VVV 内。题解前置知识——偏序关系及Dilworth定理。自己手玩这题各种性质的证明还是相当有趣的假如将 xxx 能到达 yyy 看成一个偏序关系,那么题目要求的其实就是最大反链。根据Dilworth定理,等价于求最小链划分。假如建一张新图,如果原图中原创 2021-02-26 08:35:13 · 186 阅读 · 0 评论 -
BJOI 2019 光线 题解
题目传送门题目大意: 有 nnn 层玻璃叠在一起,第 iii 层的透光率和折射率分别为 ai,bia_i,b_iai,bi,求从第 111 层摄射入 111 单位光最后有多少能穿过全部玻璃。题解答案其实就是 nnn 层玻璃总的透光率,这启示我们多层玻璃是有总透光率的,那么就可以考虑递推。设 fif_ifi 表示前 iii 层玻璃从上往下射一束光线的总透光率,手玩一下就发现还需要求出从下往上射一束光线的总反射率才能递推,将其设为 gig_igi。考虑从上一层射过来了 fi−1f_{i-1}f原创 2021-02-04 16:39:45 · 192 阅读 · 0 评论 -
USACO 19 FEB Mowing Mischief P 题解
题目传送门题目大意: 给出 nnn 个平面上的点,你要选定若干个点,满足 xi−1<xi,yi−1<yix_{i-1}<x_i,y_{i-1}<y_ixi−1<xi,yi−1<yi,然后在选出点最多的前提下使相邻的两个点围成的矩形面积之和最小。题解由于要使选出点最多,所以先将 xxx 排序然后跑个最长上升子序列,记以 iii 结尾的 lislislis 为 lil_ili,那么要将点按 lil_ili 分组,每组内的点只能从上一组的点转移过来。由于一组原创 2021-01-26 07:55:07 · 249 阅读 · 0 评论 -
WC 2018 州区划分 题解
题目传送门题目大意: 有一张 nnn 个点 mmm 条边的图,你要将所有点划分为若干组,每组内的点不能形成欧拉回路,第 iii 组的贡献为:这组内 www 之和占前 iii 组的 www 之和的百分比的 ppp 次幂,一个划分方案的贡献问所有组的贡献之积,求所有划分方案的贡献和。题解判断欧拉回路只需要看度数是否都为偶数即可,这个相信大家都会。然后 ppp 是没什么用的。不难得出dp方程:fSf_{S}fS 表示 SSS 集合内的点的所有划分方案下的贡献和,则有 fS=∑S′∈SfS′gS⊕S′∑原创 2021-01-25 14:56:41 · 199 阅读 · 0 评论 -
CodeForces 708E Student‘s Camp 题解
题目传送门题目大意: 有一个 n+2n+2n+2 行 mmm 列的矩阵,上下两行不能被侵蚀,下面经过 kkk 天,每天每一行最左边和最右边的一个格子可能会被侵蚀,问最后最上面一行和最下面一行连通的概率是多少?题解相当经典的前缀和优化dp。假如 kkk 天后,一行的前面被侵蚀了 iii 个,这种情况的概率就是 Ai=(ki)pi(1−p)k−iA_i=\binom k i p^i(1-p)^{k-i}Ai=(ik)pi(1−p)k−i,可以预处理出 AAA。然后先考虑一个暴力dp:fi,l,rf原创 2021-01-24 20:36:06 · 143 阅读 · 0 评论 -
NOI 2019 回家路线 题解
题目传送门题目大意: 一只猫要从 111 号站点坐车到 nnn 号站点,第 iii 班车从 xix_ixi 开到 yiy_iyi,在 pip_ipi 发车,qiq_iqi 到达,假如在 aaa 时刻下车等到 bbb 时刻再上车,那么烦躁值会增加 A(b−a)2+B(b−a)+CA(b-a)^2+B(b-a)+CA(b−a)2+B(b−a)+C。如果在 ccc 时刻到达了 nnn 号站点,那么烦躁值会再增加 ccc,求最小烦躁值。题解设 f(i)f(i)f(i) 表示搭第 iii 班车后的最小烦原创 2021-01-21 18:58:43 · 317 阅读 · 0 评论 -
CQOI 2015 标识设计 题解
题目传送门题目大意: 在一个网格图上放置 333 个L,要求两两L不重叠且不放在装饰品上。题解比较明显的插头dp,注意到轮廓线上最多只有 333 个插头,如果用二进制记录需要 2302^{30}230 的大小,发现其中其实有很多无用状态,可以用哈希压一下,不过实际上直接记录三个插头的位置就好,303=2700030^3=27000303=27000,完全可以接受,然后还需要记录一下现在放了几个L。关于转移,分四种情况讨论:一开始想得很简单,然后越写越多问题,代码改了很多地方,上面的思路也是改过之原创 2021-01-19 19:30:41 · 247 阅读 · 0 评论 -
bzoj #3453.tyvj 1858 XLkxc 题解
题目传送门题目大意: 令 f(x)f(x)f(x) 为自然数幂和,g(x)g(x)g(x) 为 fff 的前缀和,求 ∑i=0ng(a+id)\sum_{i=0}^n g(a+id)∑i=0ng(a+id)。题解其实就是个拉格朗日插值的裸嵌套。由于 fff 是个k+1k+1k+1 次多项式,而 ggg 做差后得到 fff,所以 ggg 是个 k+2k+2k+2 次多项式。令 h(n)=∑i=0ng(a+id)h(n)=\sum_{i=0}^n g(a+id)h(n)=∑i=0ng(a+id),原创 2021-01-15 07:57:46 · 203 阅读 · 1 评论 -
JLOI 2016 成绩比较 题解
题目传送门题目大意: 有 nnn 个人(包括B神),有 mmm 门科目,第 iii 门科目最高分为 UiU_iUi,给出B神每门科目的分数排名,以及有 kkk 个人被B神碾压(即所有科目分数 ≤\leq≤ B神的),问有多少种分数方案?题解考虑先确定每个人拿到的每门科目的排名,然后再确定具体分数。由于碾压了 kkk 个人,则剩下的 n−k−1n-k-1n−k−1 个每个至少有 111 科比他高。令 Fi,jF_{i,j}Fi,j 表示这 n−k−1n-k-1n−k−1 个人中,至多有 iii 个原创 2021-01-14 20:30:50 · 165 阅读 · 0 评论 -
TJOI 2018 教科书般的亵渎 题解
题目传送门题目大意: 场上有除了某 mmm 种以外血量为 111 ~ nnn 的随从,设 kkk 为杀死他们需要的亵渎数量,每张亵渎产生的贡献是:假如一只血量为 xxx 的随从被伤害了,那么提供贡献 xkx^kxk(一张亵渎多次伤害只计算最开始的那次),求贡献和。题解kkk 是容易求出来的,不难发现,每张亵渎收获的贡献和就是个自然数幂和,再减去其中不存在的随从的贡献即可,时间复杂度 O(m2)O(m^2)O(m2)。代码如下:#include <cstdio>#include <原创 2021-01-14 15:34:11 · 731 阅读 · 1 评论 -
洛谷 P5850 calc加强版 题解
题目传送门题目大意: 同这题,但是对于 111 ~ mmm 内的每个 nnn 都要求解,且 m≤5×105m\leq 5\times 10^5m≤5×105。题解先不考虑顺序,最后乘 n!n!n! 即可。每个元素之多选一个,要选出 nnn 个来,且贡献为他们的乘积,那么生成函数形式就是 ∏i=1k(1+ix)\prod_{i=1}^k (1+ix)∏i=1k(1+ix),答案就是 xnx^nxn 的系数。用付公主的背包的套路,求个 ln\lnln,得到:ln(1+ix)=−∑j=1∞(−i原创 2021-01-14 12:52:30 · 132 阅读 · 0 评论 -
集训队互测 2012 calc 题解
题目传送门题目大意: 一个合法的数列满足:长度为 nnn;每个数的值在 [1,k][1,k][1,k] 内;任意两个数不同。一个数列的值为所有数的乘积,求所有合法数列的值的和。题解考虑只统计上升的数列,最后答案乘 n!n!n! 即可。设 f(i,j)f(i,j)f(i,j) 表示前 iii 个数的值在 [1,j][1,j][1,j] 内的所有方案的贡献和,考虑第 iii 个数选不选 jjj,可以得到dp方程:f(i,j)=f(i,j−1)+f(i−1,j−1)×jf(i,j)=f(i,j-1)+f(原创 2021-01-13 21:34:40 · 236 阅读 · 0 评论 -
NOIp 2020 微信步数 题解
题目传送门题目大意: 有一个 kkk 维空间,你要从每一个位置出发走一条循环路线,直到走出边界为止,求走过的总步数。题解将 nnn 步看成一轮,那么每轮内在一维上走过的一定是个区间。设 一轮内,走到第 iii 步时,在维度 jjj 上最左离起点 li,jl_{i,j}li,j 步,最右离起点 ri,jr_{i,j}ri,j 步,那么在走到第 iii 步还没有走出边界的点,就需要满足 1+li,j≤xj≤wj−ri,j1+l_{i,j}\leq x_j\leq w_j-r_{i,j}1+li,j原创 2021-01-13 19:08:28 · 1274 阅读 · 1 评论 -
DZY Loves Chinese/DZY Loves Chinese II 题解
题目传送门1 \, 题目传送门2题目大意: 给一张无向图,每次询问删掉一些边,然后问图是否连通,强制在线。题解1DZY Loves Chinese 和 DZY Loves Chinese II 的区别就是强制在线时 kkk 是否需要异或。DZY Loves Chinese 是需要的,而这就成了一个大性质:你可以通过读入数据得到真正的 kkk,异或上他给的 kkk 就能求出前面有多少个Connected,所以你可以借此得到前 q−1q-1q−1 个询问的答案……最后一问暴力做即可。代码如下:#i原创 2020-11-16 22:34:38 · 801 阅读 · 0 评论 -
codeforces 436E Cardboard Box 题解
题目传送门题目大意: 有 nnn 轮游戏,第 iii 轮游戏拿 111 颗星的代价为 aia_iai,拿 222 颗星的代价为 bib_ibi,不拿代价为 000,问拿到恰好 www 颗星的最小代价。题解考虑带反悔策略的贪心。增加一颗星时,有四种情况:把一个 000 星变成 111 星,代价增加 aia_iai。把一个 111 星变成 222 星,代价增加 bi−aib_i-a_ibi−ai。把一个 111 星变成 000 星,把另一个 000 星变成 222 星,代价为 bj−a原创 2020-10-30 08:59:48 · 248 阅读 · 0 评论 -
codeforces 23E Tree 题解
题目传送门题目大意: 给出一棵树,你可以断掉一些边,最后每个连通块的节点数量的乘积就是得分,问最大得分是多少。题解考虑 dp\text{dp}dp,设 fi,jf_{i,j}fi,j 表示 iii 所在的连通块大小为 jjj 时的最大得分。转移很显然,对于一个儿子 yyy,考虑是否断这条父子边,如果断,那么贡献为:fi,j=fi,j×maxk=1szy{fy,k}f_{i,j}=f_{i,j}\times\max_{k=1}^{sz_y}\{f_{y,k}\}fi,j=fi,j×k=1原创 2020-10-20 18:32:49 · 223 阅读 · 0 评论 -
codeforces 1120D Power Tree 题解
题目传送门题目大意: 给出一棵树,根是 111,如果你控制一个点,那么你可以给他的子树加一个随意的权值,且控制这个点有一个代价 wiw_iwi。问你需要花费最少多少代价,使得无论每个叶子结点的初始点权是多少,你都可以通过操作使它们权值清 000。题解做法十分巧妙。先求一遍 dfsdfsdfs 序,把叶子节点按照 dfsdfsdfs 序拎出来造一个序列,那么就转化成了一个区间问题,再差分一下,假如控制了一个节点,他管理的区间为 [l,r][l,r][l,r],则给 [l,r][l,r][l,r] 加原创 2020-10-20 13:18:02 · 204 阅读 · 0 评论 -
2020牛客NOIP赛前集训营-提高组(第一场)D-牛牛的RPG游戏 题解
题目传送门题目大意: 在一个棋盘上,你要从 (1,1)(1,1)(1,1) 走到 (n,m)(n,m)(n,m),只能向右或向下走,每一个格子有一个事件,你可以选择触发或不触发,如果触发你可以得到 vali,jval_{i,j}vali,j 的收益,并且得到一个 buffi,jbuff_{i,j}buffi,j,在这个 buffbuffbuff 的加成下,每走一步会获得 buffi,jbuff_{i,j}buffi,j 的收益,直到下一次触发事件,身上的 buffbuffbuff 才会改变,求最大收原创 2020-10-20 12:40:36 · 504 阅读 · 0 评论 -
JSOI 2008 Blue Mary开公司 题解
题目传送门题目大意: 有 nnn 次操作,每次操作有两种:1、增加一条直线;2、询问 x=Tx=Tx=T 时,在所有直线上 yyy 值的最大值。题解经典的李超线段树做法在这里,这篇博客讲另外一种cdq分治的做法。脑补一下不难发现,最后对答案可能有贡献的那些直线,即处于最上方的那些直线,一定是一个下凸包的形状,像这样:假如按时间顺序加入的直线的斜率递增,那么就可以很方便地维护出这个凸包,但题目并不保证这一点。具体来说,一条直线能对一个询问产生贡献,需要满足:ti<tjt_i<t_jt原创 2020-10-20 10:28:25 · 139 阅读 · 0 评论 -
IOI 2005 Riv 河流 题解
题目传送门题目大意: 给出一棵树,每个点有一些木材,除了根节点外(本身就是伐木场),你需要选 kkk 个点造伐木场,每个点的木材最后会往根节点运送,如果到达了一个伐木场就停下,你要使总运费最小。题解很容易想到 wqswqswqs 二分,感觉 O(n3)O(n^3)O(n3) 的做法既繁琐还跑得慢。给伐木场二分一个权值,然后设dp状态:fx,if_{x,i}fx,i 表示 xxx 往上第一个伐木场的深度为 iii,初值就是自己的木材运上去的运费,转移时在 fy,if_{y,i}fy,i 和 fy,原创 2020-10-16 12:58:42 · 214 阅读 · 0 评论 -
JLOI/SHOI 2016 侦察守卫 题解
题目传送门题目大意: 给出一棵树,有 mmm 个关键点,在一个点放置侦查守卫可以监视距离为 ddd 以内的点,在每个点放侦查守卫有不同代价,求最小代价监视所有关键点。题解不难想到树形 dpdpdp,但这题状态设计十分巧妙,设 fx,if_{x,i}fx,i 表示 xxx 子树内关键点都被监视了,且还能监视到 xxx 距离小于等于 iii 的点最小代价,gx,ig_{x,i}gx,i 表示 xxx 子树内到 xxx 距离小于 iii 的都没被监视,但大于等于 iii 的都被监视了的最小代价。定义上原创 2020-10-16 11:27:41 · 273 阅读 · 0 评论 -
HEOI 2013 SAO 题解
题目传送门题目大意: 给出一张 n−1n-1n−1 条边 nnn 个点的弱连通图,求拓扑排序数。题解设 fi,jf_{i,j}fi,j 表示在 iii 的子树的拓扑序中,iii 在第 jjj 位的方案数。考虑一个节点 xxx 要如何与儿子 yyy 的信息进行合并。假设 xxx 的拓扑序要在 yyy 前面,枚举 i,j,ki,j,ki,j,k 表示 xxx 原本在拓扑序第 iii 位,yyy 原本在拓扑序第 jjj 位,两个序列合并后,xxx 在拓扑序第 kkk 位。由于原本拓扑序在 xxx 前面原创 2020-10-15 19:21:13 · 175 阅读 · 0 评论 -
HNOI 2013 数列 题解
题目传送门题目大意: 有一个长度为 KKK 的严格单调上升序列,最大值不超过 NNN,相邻两项的差不超过 MMM,问这个序列有多少种方案。题解显然需要考虑对这个序列进行差分,差分数组设为 bbb,那么需要满足:∑i=1K−1bi≤N\sum_{i=1}^{K-1} b_i\leq N∑i=1K−1bi≤N。考虑一个差分数组对应多少个原序列,若 ∑i=1K−1bi=c\sum_{i=1}^{K-1}b_i=c∑i=1K−1bi=c,那么序列第一位就有 N−cN-cN−c 种取值,所以方案数为原创 2020-10-13 13:19:10 · 162 阅读 · 0 评论 -
USACO 19JAN Train Tracking 2 P 题解
题目传送门题目大意: 有一个长度为 nnn 的序列 aaa,有一个 kkk,给出每个长度为 kkk 的子段的最小值,问这个序列有多少种可能性。题解容易发现假如 ci−1>cic_{i-1}>c_ici−1>ci,那么就可以确定 ai+k−1=cia_{i+k-1}=c_iai+k−1=ci。所以需要考虑的是一段相同的 cic_ici 要如何处理,即考虑一个子问题:当所有 cic_ici 相等时,这个序列有多少种可能性?设 fif_ifi 表示长度为 iii 的序列的原创 2020-10-12 11:46:17 · 264 阅读 · 0 评论 -
NOI 2020 命运 题解
题目传送门题目大意: 给出一棵树,在上面选定 mmm 条直上直下的链,要求每条链上都有至少一条边的权值为 111,边权可以为 0,10,10,1,问有多少种给边集选定权值的方案。题解一开始容易往容斥的方向想,套上树剖大概就有 323232 分。然后就发现不太能优化……考虑 dp\text{dp}dp,令 fi,jf_{i,j}fi,j 表示 iii 往上第一条权值为 111 的边的深度为 jjj 时,子树的方案数。那么对于每条限制 x,yx,yx,y,相当于令 yyy 的 fy,p=0原创 2020-10-10 07:34:29 · 371 阅读 · 0 评论 -
洛谷 P6694 强迫症 题解
题目传送门题目大意: 有 nnn 个点在圆上,第 iii 个点权值为 aia_iai,一条连接 i,ji,ji,j 的边权值为 ai×aja_i\times a_jai×aj,现在随机生成一幅图,图内任意两条边不相交,问期望边权和。题解可能是一篇比较硬核的题解容易想到的思路是分别考虑每一条边的贡献,设 hih_ihi 表示 iii 个点的图的方案数,则答案为:1hn∑i=1n∑j=i+1naiajhj−i+1hn−(j−i−1)4\frac 1 {h_n}\sum_{i=1}^n\sum原创 2020-10-09 12:54:18 · 112 阅读 · 0 评论 -
SDOI 2019 移动金币 题解
题目传送门题目大意: 一个长度为 nnn 的序列上有 mmm 个金币,两个人轮流操作,一个人可以将一个金币向左移动任意格,但是不能越过别的金币,问有多少种局面先手必胜。题解感觉像这两题(1,2)的合体,不过合的也很巧妙。转化一下这个博弈:相当于有 m+1m+1m+1 堆石子,每次可以将一堆石子中的若干个移到下一堆内,第 m+1m+1m+1 堆的不可以被操作。对于第 iii 堆石子,假如 m+1−im+1-im+1−i 为偶数,那么这堆石子其实是没用的,假如 Alice\text{Alice}Ali原创 2020-10-08 21:59:03 · 963 阅读 · 0 评论 -
SDOI 2011 黑白棋 题解
题目传送门题目大意: 有一个 1×n1\times n1×n 的棋盘,上面有 kkk 颗棋子,一半白一半黑,并且相邻棋子颜色不同,两个人轮流操作,一个人只能将白棋子右移,一个人只能将黑棋子左移,每个人一次最多移动 ddd 颗棋子,问有多少种局面先手必胜(先手操作白棋子)。题解将相邻的一对黑白棋子看成一堆石子,他们之间的距离就是石子数量,那么就一共有 k/2k/2k/2 堆 石子,变成了一个 ddd 阶的 NimNimNim 游戏。考虑 111 阶 NimNimNim 游戏的必败情况:假如所有石头数量原创 2020-10-08 21:03:08 · 393 阅读 · 0 评论 -
USACO 20FEB Help Yourself P 题解
题目传送门题目大意: 在数轴上有 nnn 条线段,如果两条线段相交则称其连通,连通块数量的 KKK 次方称为该线段集合的贡献,求这 nnn 条线段的所有子集(一共 2n2^n2n 个)的贡献之和。题解这个 KKK 次方不好处理,按套路用第二类斯特林数转化一下:∑P∈Sans(P)K=∑i=1Ki!S(K,i)∑P∈SCans(P)i\sum_{P\in S}ans(P)^K=\sum_{i=1}^Ki!S(K,i)\sum_{P\in S}C_{ans(P)}^iP∈S∑ans(P)K=i=1原创 2020-10-05 16:27:18 · 163 阅读 · 0 评论 -
AGC019 F- Yes or No 题解
题目传送门题目大意: 有 n+mn+mn+m 道判断题,有 nnn 道的答案为正确,有 mmm 道的答案为错误,进行 n+mn+mn+m 轮提问,每次随机给你一道题,你不知道它的答案,但是你回答后他会告诉你是否答对了,问你在最优策略下期望能答对多少题。题解显然最优策略是每次答剩余题数较多的那类题,一顿找规律后不难发现一定能答对 max(n,m)\max(n,m)max(n,m) 道题。证明的话,不妨令 n>mn>mn>m,那么此时肯定回答正确,假如答案正确,那么 ans+1,n−原创 2020-10-05 09:10:40 · 284 阅读 · 0 评论