首页 > TAG信息列表 > PKUWC2018

P5298[PKUWC2018]Minimax (线段树合并)

题目链接   思路:因为所有点的权值是互不相同的,并且概率\(0 < p_x < 1\),也就是所有的点都会被选到。所以用\(dp[i][j]\)来表示节点\(i\)权值为\(j\)的概率。首先考虑叶子节点,叶子节点都没有子节点所以他们的权值是确定的,\(dp[i][j] = [i = val]\);再考虑只有一个子节点的节点,那

luogu P5492 [PKUWC2018]随机算法

题面传送门 考虑到这样做得到的图的性质,不难发现对于一个点,要么是最大独立集里面的点,要么周围有至少一个点在最大独立集内。 可以发现如果我们限定了当前最大独立集里面是什么点,那么其余的点都会被限定在一个固定的集合里面,且完全包含最大独立集,直接dp可以得到一个\(O(3^n)\)的做

luogu P5298 [PKUWC2018]Minimax

题面传送门 我们先来考虑一个很sb的\(O(n^2)\)的dp 设\(dp_{i,j}\)为\(i\)这个节点为\(j\)权值的概率,那么显然的可以枚举两个儿子的权值然后暴力转移。 因为这个时间复杂度弱于每个叶子向上暴力跳的复杂度,还可以过随机的\(10\)分。 然后发现这个东西是和前后缀和有关所以可以写个

P5644-[PKUWC2018]猎人杀【NTT,分治】

正题 题目链接:https://www.luogu.com.cn/problem/P5644 题目大意 n n n个人,每个人被选中的权重是 a i

[PKUWC2018] 随机算法

\(\text{Problem}:\)[PKUWC2018] 随机算法 \(\text{Solution}:\) 发现 \(n\) 很小,可以考虑状压 \(dp\)。设 \(f_{S}\) 表示得到集合 \(S\) 最大独立集的概率,\(g_{S}\) 表示集合 \(S\) 最大独立集的大小。 首先预处理 \(g\),枚举 \(S\) 中的元素 \(x\) 并删掉集合 \(S\) 内与 \(x\)

[PKUWC2018] Slay the Spire

\(\text{Problem}:\)[PKUWC2018] Slay the Spire \(\text{Solution}:\) 最优方案显然为:从大往小取强化牌,直到已经打出 \(k-1\) 张牌或强化牌没有了为止,然后从大往小取攻击牌。证明:将一张强化牌换为攻击牌后,因为这张攻击牌不是严格最大,故不优于原来的方案。 首先将强化牌和攻击牌从

[PKUWC2018] 猎人杀

\(\text{Problem}:\)[PKUWC2018] 猎人杀 \(\text{Solution}:\) 将操作方式改为:每次都由你(即 \(n\) 个猎人外的人)随机选择一个猎人开枪,如果选择的猎人死亡就重复以上过程,否则结束。不难发现,这种操作方式与题目给出的方式是等价的(即每次操作中,活着的猎人被击中概率的比值相同)。 考虑

[PKUWC2018] 猎人杀

一、题目 听说过这题很久了,这么经典怎么能不做呢? 点此看题 二、解法 由于概率一直在变算着麻烦得很,有一个神奇 \(\tt idea\) 就是我们乱开枪,如果这一枪在鞭尸那么就再开一枪,知道打死第一个人为止。这种策略的证明也不难,对于一个人被打到的概率都只和 \(w_i\) 的比值有关。 然后还

[PKUWC2018] 猎人杀

题解 神仙题啊( 我们发现如果把一个杀死后去除会影响概率的分母,很不好搞。我们考虑不把一个人去除,而只是打上死亡标记,且这个标记可以打很多次。考虑为什么这样是对的? 设全部 \(w\) 的和为 \(W\),死去的人的 \(w\) 的和为 \(W'\),原先的概率为 \(P=\frac{w_i}{W-W'}\),然后后面一种考虑

洛谷P5644 [PKUWC2018] 猎人杀

有个结论,原问题可以转化为每次开枪的概率中的分母不变,当射到一个已经死掉的猎人时,就继续开枪,不难发现这样射中第 \(i\) 个人的概率和原问题一样,设 \(W=\sum\limits_{i=1}^n w_i\),\(T\) 为已经死掉的猎人的 \(w_i\) 的和,得: \[\large\left( \sum_{j=0}^\infty \left(\frac{T}{W}\rig

Luogu P5298 [PKUWC2018]Minimax

题面 首先有树形 DP 。 设 \(P_{u,val}\) 表示 \(u\) 节点值为 \(val\) 的概率,\(lc\) 表示左儿子, \(rc\) 表示右儿子。 有转移: \(P_{u,val} \gets P_{lc,val} \times p_u \times \sum_{i=0}^{val-1} P_{rc,i}\) \(P_{u,val} \gets P_{rc,val} \times p_u \times \sum_{i=0}^{val-1

Luogu P5298 [PKUWC2018]Minimax

好劲的题目啊,根本没往线段树合并方面去想啊 首先每种权值都有可能出现,因此我们先排个序然后一个一个求概率 由于此时数的值域变成\([1,m]\)(离散以后),我们可以设一个DP:\(f_{x,i}\)表示节点\(x\)的权值为\(i\)的概率 转移的话分\(x\)有几个子节点讨论,若没有或是只有一个都是随便转移

LG5492 [PKUWC2018]随机算法

题意 有一种贪心求最大独立集的算法: 随机一个排列 按顺序加入独立集,如果一个点能加入,就加入\({S}\) 给出一张图,问得出正确答案的概率。 \(n \leq 20\) 传送门 思路 用 \(dp[i][s]\) 表示排列集合为 \(i\),最大独立集的大小为 \(s\) 的方案数,\(a[x]\)表示与\(x\)相连的点集。 考虑

「PKUWC2018」Minimax

Link Solution  开始做完全没想到是线段树合并QAQ、  朴素的做法是直接树形dp。设\(f[u][x]\)表示在u点权值取到x的概率。  有转移:   如果x在左子树 \(f[u][x]=f[ls][x]\times \sum\limits_{y\in T_{rs},y<x}f[rs][y]\times p[u]+f[ls][x]\times \sum\limits_{y\in T_{rs},

loj2540. 「PKUWC2018」随机算法

题意 略。 题解 听说考场上暴力搜出独立集有90分 这道题的状态还是挺难找的。 初始排列为空。考虑设\(f_{s, i}\)表示当前状态,独立集为\(s\),已经不在独立集里面(即与\(s\)中的点有连边)且还没有加入排列的点数为\(i\)。 则有初始状态\(f_{0, 0} = 1\)。 考虑转移,如果某一个点可以加

「PKUWC2018」随机算法

题面 Solution 考虑状压DP。按照题意我们按顺序加点,如果该点不能加入独立集,那么这个点可以插在之后排列的某一个位置中。 我们记在独立集中的点的集合和不在独立集中的点的个数,设 \(F(S,i)\) 表示当前独立集点的集合为 \(s\),还有 \(i\) 个点没有插入排列。 可以用高维前缀和预处理

PKUWC/SC 做题笔记

去年不知道干了些啥,什么省选/营题都没做。 现在赶应该还来得及(?) 「PKUWC2018」Minimax 「PKUWC2018」Slay the Spire 「PKUWC2018」斗地主 「PKUWC2018」随机算法 「PKUWC2018」猎人杀 「PKUWC2018」随机游走 「PKUSC2018」真实排名 以上这些全都不会。 「PKUSC2018」最大前缀和 之

「PKUWC2018」Slay the Spire

国际惯例不放题干 扯淡 其实题目翻译过来是杀戮尖塔,某steam上的卡牌游戏,我也曾热衷刷榜 题解 首先题目中要求的期望是假期望,结合题目中所给的阶乘就可以看出这其实是从$2*n$张牌中选择$m$张牌使用,并且所有情况都取最大值时的和 首先排序贪心最大 再说一个非常显然的结论,有强化牌

「PKUWC2018」随机游走

题意 给定一棵 \(n\) 个结点的树,你从点 \(x\) 出发,每次等概率随机选择一条与所在点相邻的边走过去。 有 \(Q\) 次询问,每次询问给定一个集合 \(S\),求如果从 \(x\) 出发一直随机游走,直到点集 \(S\) 中所有点都至少经过一次的话,期望游走几步。 \(1\leq n\leq 18\),\(1\leq Q\leq 5000\)

「PKUWC2018」猎人杀

https://loj.ac/problem/2541 题解 考虑容斥,令集合S为我们钦定S集合必须要在1号节点后面,那么答案为。 \[ ans=\sum_{S}(-1)^{|S|}P(S) \] 然后这个\(P(S)\)为\(\frac{w_1}{w_1+w_S}\)。 这个需要想一想,或者我们考虑一个事情,就是每次死一个人概率的分母不会变,所以我们可以把它补成一

LOJ2537. 「PKUWC2018」Minimax [DP,线段树合并]

传送门 思路 首先有一个\(O(n^2)\)的简单DP:设\(dp_{x,w}\)为\(x\)的权值为\(w\)的概率。 假设\(w\)来自\(v1\)的子树,那么有 \[ dp_{x,w}=dp_{v1,w}\times (p\times \sum_{w'>w}dp_{v2,w'}+(1-p)\sum_{w'<w}dp_{v2,w'}) \] 其中\(p\)表示\(x\)选较小权值的概率。 由于每个点的状态数

「PKUWC2018」Slay the Spire

题目链接 题意分析 这个题其实不是期望 就是一共有\(C_{2n}^m\)种情况 每一种情况选择\(k\)张牌 然后求最大攻击值的总和 我们考虑 当前抽出了选出了\(i\)张强化牌 \(m-i\)张攻击牌 首先 可以肯定的是 能出强化牌就尽量出强化牌 我们去枚举\(i\) 如果\(i<k\) 那么就出\(i\)张强化牌

[PKUWC2018]猎人杀

题解 感觉是一道神题,想不出来 问最后\(1\)号猎人存活的概率 考虑怎么求? 发现根本没法记录状态 每次转移的分母也都不一样 可以考虑这样一件事情: 如果一个人被打中了 那么不急于从所有人中将ta删除,而是给ta打上一个标记,然后继续保留 下一回合如果打中的是一个已经死掉的就