「ZJOI2019」Minmax搜索】的更多相关文章

传送门 Solution 叶子节点的变化区间是连续的,可得知非叶子节点的权值变化区间也是连续的 由此可知,\(W\)的变化值的可行域也是连续的,所以只需要看它能否变为\(W+1\)或\(W-1\) 对于答案,可以先求消耗能量不超过\(k\)的集合数\(ans_k\),再进行查分 发现\(ans_1=2^{m-1},ans_n=2^{m}-1\) 首先发现,如果要将\(W\)的值\(+1\),那么只会去动那些\(\leq W\)的的节点,让它们的权值变大 类似的,我们发现处理的两类节点无交,所以可…
LOJ3044. 「ZJOI2019」Minimax 搜索 https://loj.ac/problem/3044 分析: 假设\(w(1)=W\),那么使得这个值变化只会有两三种可能,比\(W\)小的值变成\(W+1\),比\(W\)大的值变成\(W-1\),或直接修改\(W\). 先考虑第一部分,设\(f_{x}\)表示只改变权值\(<W\)的节点,\(x\)节点权值\(\le W\)的概率,这样能推出\(dp\)式子 \(f_x=\prod\limits_{t}f_t​\) \((dep_…
Loj #3044. 「ZJOI2019」Minimax 搜索 题目描述 九条可怜是一个喜欢玩游戏的女孩子.为了增强自己的游戏水平,她想要用理论的武器武装自己.这道题和著名的 Minimax 搜索有关. 可怜有一棵有根树,根节点编号为 \(1\).定义根节点的深度为 \(1\),其他节点的深度为它的父亲的深度加一.同时在叶子节点权值给定的情况下,可怜用如下方式定义了每一个非节点的权值: - 对于深度为奇数的非叶子节点,它的权值是它所有子节点的权值最大值. - 对于深度为偶数的非叶子节点,它的权值…
LOJ#3044. 「ZJOI2019」Minimax 搜索 一个菜鸡的50pts暴力 设\(dp[u][j]\)表示\(u\)用\(j\)次操作能使得\(u\)的大小改变的方案数 设每个点的初始答案是\(S[u]\) 每个数大小只和\(S[1]\)的大小关系有关 于是每个数的状态设为-1(比S[1]小),1(比S[1]大),0(和S[1]一样) 状态里设的改变是指在这三种状态里的一种变为另一种 如果\(S[u] == S[1]\)或者\(u\)点取max但是\(S[u] < S[1]\),\(…
题目传送门 容易想到一种暴力 DP:先转化成对于每个 \(k\) 求出 \(\max_{i\in S}|i-w_i|\le k\) 的方案数,最后差分 然后问题转化成每个叶子的权值有个取值区间,注意这时我们可以把每个点的权值分成 \(<W,=W,>W\)(看作 \(0,1,2\) )三类处理,然后 DP \(f[u][0/1/2]\) 然后你会很快发现这么做不行,因为选取某些叶子集合时,根节点的权值可以小于 \(W\) 也可以大于 \(W\) ,直接用 \(2^m-1\) 减掉 \(f[u][…
「ZJOI2019」&「十二省联考 2019」题解索引 「ZJOI2019」 「ZJOI2019」线段树 「ZJOI2019」Minimax 搜索 「十二省联考 2019」 「十二省联考 2019」异或粽子 「十二省联考 2019」字符串问题 「十二省联考 2019」春节十二响…
Loj #3045. 「ZJOI2019」开关 题目描述 九条可怜是一个贪玩的女孩子. 这天,她和她的好朋友法海哥哥去玩密室逃脱.在他们面前的是 \(n\) 个开关,开始每个开关都是关闭的状态.要通过这关,必须要让开关达到指定的状态.目标状态由一个长度为 \(n\) 的 \(01\) 数组 \(s\) 给出,\(s_i = 0\) 表示第 \(i\) 个开关在最后需要是关着的,\(s_i = 1\) 表示第 \(i\) 个开关在最后需要被打开. 然而作为闯关者,可怜和法海并不知道 \(s\).因…
Loj #3042. 「ZJOI2019」麻将 题目描述 九条可怜是一个热爱打麻将的女孩子.因此她出了一道和麻将相关的题目,希望这题不会让你对麻将的热爱消失殆尽. 今天,可怜想要打麻将,但是她的朋友们都去下自走棋了,因此可怜只能自己一个人打.可怜找了一套特殊的麻将,它有 \(n(n \ge 5)\) 种不同的牌,大小分别为 \(1\) 到 \(n\),每种牌都有 \(4\) 张. 定义面子为三张大小相同或者大小相邻的麻将牌,即大小形如 \(i, i, i(1 \le i \le n)\) 或者\…
LOJ#3046. 「ZJOI2019」语言 先orz zsy吧 有一个\(n\log^3n\)的做法是把树链剖分后,形成logn个区间,这些区间两两搭配可以获得一个矩形,求矩形面积并 然后就是对于一个点把树链的log个区间加进去然后线段树合并,这是\(n \log^2 n\)的 链并会形成一棵树,如果我们把经过某个点的链的端点按dfn序排序的话,相邻两项算一下距离,首尾两项再算一下,我们就可以获得链并的这棵树的边权和×2,由此可以求树上的点的个数 我们要求的就是经过每个点的链并-1的和,然后再…
LOJ#3042. 「ZJOI2019」麻将 如何判定一个集合牌有没有胡的子集是不是胡的 就用一个\(dp[j][k][0/1]\)表示有j个连续两个的串,有k个连续1个串,有没有对子,再记一下这个集合里的牌大于等于2的花色数有几个 我们把\(dp[j][k][0/1]\)和大于等于2的花色数作为一副牌的状态,然后给每个状态标号,做一个dp \(f[i][j][S]\)表示考虑到第\(i\)种花色,有\(j\)张牌,状态标号是\(S\)的方案数,记录到第\(j\)张牌还没赢的方案数是\(S(j)…