Loj #3045. 「ZJOI2019」开关】的更多相关文章

Loj #3045. 「ZJOI2019」开关 题目描述 九条可怜是一个贪玩的女孩子. 这天,她和她的好朋友法海哥哥去玩密室逃脱.在他们面前的是 \(n\) 个开关,开始每个开关都是关闭的状态.要通过这关,必须要让开关达到指定的状态.目标状态由一个长度为 \(n\) 的 \(01\) 数组 \(s\) 给出,\(s_i = 0\) 表示第 \(i\) 个开关在最后需要是关着的,\(s_i = 1\) 表示第 \(i\) 个开关在最后需要被打开. 然而作为闯关者,可怜和法海并不知道 \(s\).因…
Loj #3044. 「ZJOI2019」Minimax 搜索 题目描述 九条可怜是一个喜欢玩游戏的女孩子.为了增强自己的游戏水平,她想要用理论的武器武装自己.这道题和著名的 Minimax 搜索有关. 可怜有一棵有根树,根节点编号为 \(1\).定义根节点的深度为 \(1\),其他节点的深度为它的父亲的深度加一.同时在叶子节点权值给定的情况下,可怜用如下方式定义了每一个非节点的权值: - 对于深度为奇数的非叶子节点,它的权值是它所有子节点的权值最大值. - 对于深度为偶数的非叶子节点,它的权值…
Loj #3042. 「ZJOI2019」麻将 题目描述 九条可怜是一个热爱打麻将的女孩子.因此她出了一道和麻将相关的题目,希望这题不会让你对麻将的热爱消失殆尽. 今天,可怜想要打麻将,但是她的朋友们都去下自走棋了,因此可怜只能自己一个人打.可怜找了一套特殊的麻将,它有 \(n(n \ge 5)\) 种不同的牌,大小分别为 \(1\) 到 \(n\),每种牌都有 \(4\) 张. 定义面子为三张大小相同或者大小相邻的麻将牌,即大小形如 \(i, i, i(1 \le i \le n)\) 或者\…
题目传送门:LOJ #3045. 题意简述 略. 题解 从高斯消元出发好像需要一些集合幂级数的知识,就不从这个角度思考了. 令 \(\displaystyle \dot p = \sum_{i = 1}^{n} p_i\). 我们考虑一个操作序列 \(\{a_1, a_2, \ldots , a_k\}\),其中 \(1 \le a_j \le n\),就表示第 \(i\) 次按下了开关 \(a_j\). 那么按 \(k\) 次后恰好得到这个序列的概率就是 \(\displaystyle \pr…
传送门 Description 有一些一开始全都是关的开关,每次随机选择一个(每个开关概率不同)开关并改变它的状态,问达到目标状态的期望步数 Solution  \(P=\sum_{i=1}^{n}p_i\) 求出\(k\)步达到目标状态的概率的\(EGF\) \[ F(x)=\prod_{i=1}^n\frac{e^{\frac{p_ix}{P}}+(-1)^{s_i}e^{-\frac{p_ix}{P}}}{2} \] 再求出\(k\)步回到原来的状态的概率的\(EGF\) \[ G(x)=…
还是来致敬一下那过往吧 题目分析 先丢代码 #include<bits/stdc++.h> ; ; ; struct node { int top,son,fa,tot; }a[maxn]; struct point { int u,v; point(, ):u(a),v(b) {} }; struct tree { int ls,rs,cov,val; }f[maxNode]; int n,m,tot; long long ans,det; int chain[maxn],chTot,rt[…
目录 @description@ @solution@ @accepted code@ @details@ @description@ 九条可怜是一个喜欢数据结构的女孩子,在常见的数据结构中,可怜最喜欢的就是线段树. 线段树的核心是懒标记,下面是一个带懒标记的线段树的伪代码,其中 tag​ 数组为懒标记: 其中函数 \(Lson(Node)\) 表示 \(Node\) 的左儿子,\(Rson(Node)\) 表示 \(Node\) 的右儿子. 现在可怜手上有一棵 \([1,n]\) 上的线段树,…
目录 @description@ @solution@ @accepted code@ @details@ @description@ 九条可怜是一个喜欢规律的女孩子.按照规律,第二题应该是一道和数据结构有关的题. 在一个遥远的国度,有 n 个城市.城市之间有 n - 1 条双向道路,这些道路保证了任何两个城市之间都能直接或者间接地到达. 在上古时代,这 n 个城市之间处于战争状态.在高度闭塞的环境中,每个城市都发展出了自己的语言.而在王国统一之后,语言不通给王国的发展带来了极大的阻碍.为了改善…
LOJ#3046. 「ZJOI2019」语言 先orz zsy吧 有一个\(n\log^3n\)的做法是把树链剖分后,形成logn个区间,这些区间两两搭配可以获得一个矩形,求矩形面积并 然后就是对于一个点把树链的log个区间加进去然后线段树合并,这是\(n \log^2 n\)的 链并会形成一棵树,如果我们把经过某个点的链的端点按dfn序排序的话,相邻两项算一下距离,首尾两项再算一下,我们就可以获得链并的这棵树的边权和×2,由此可以求树上的点的个数 我们要求的就是经过每个点的链并-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]\),\(…