ZS Shuffles Cards 题解】的更多相关文章

考虑统计每一轮(以抽到小丑为一轮)的贡献,不难发现答案即期望轮数*每轮期望次数 关于期望轮数,当前牌堆里已经在$S$中的卡实际上没有意义,不妨将这一类卡从牌堆中删除 此时,定义$f_{i}$表示$S$中含有$n-i$个元素,之后期望还需要几轮(包括当前这轮) 显然$f_{0}=1$,问题即求$f_{n}$,不难得到转移为$f_{i}=\frac{m}{m+i}(f_{i}+1)+\frac{i}{m+i}f_{i-1}$ 将其化简,即有$f_{i}=f_{i-1}+\frac{m}{i}$,因此…
Codeforces 题面传送门 & 洛谷题面传送门 真·两天前刚做过这场的 I 题,今天模拟赛就考了这场的 H 题,我怕不是预言带师 提供一种奇怪的做法,来自于同机房神仙们,该做法不需要 Min-Max 容斥,也不用爆推组合数,只需要比较强的眼力的初中数学求解二元一次方程组知识. 期望题没往 Min-Max 容斥的方向去想,不愧是我(大雾 首先我们先考虑一些复杂度比较高的多项式复杂度做法.注意到对于任何一个局面而言,我们并不用关心 \(S\) 里究竟具体有哪些数,也不用关心牌堆中具体有哪些数字…
\(\mathcal{Description}\)   Link.   打乱的 \(n\) 张编号 \(1\sim n\) 的数字排和 \(m\) 张鬼牌.随机抽牌,若抽到数字,将数字加入集合 \(S\):否则,还原牌堆(但不清空 \(S\)).若 \(S=[1,n]\) 且抽到鬼牌时结束抽牌.求期望抽牌次数.   \(n,m\le2\times10^6\). \(\mathcal{Solution}\)   称从初始牌堆开始抽牌一直到抽到鬼牌为一轮操作,发现结束时必然抽了若干个完整的轮且不能中…
题面 首先发现:一个数最多会出现1次: 然后深入推出:一个数不会既用它又用它的相反数: 这样就可以依次考虑每一位了: 如果所有的数都不含有这一位,那么就直接把所有的数除以2 如果含有,那么就减去这一位的数,再除以2: 2 当含有的时候搜索就可以了: 注意需通过去重来优化dfs,否则会TLE掉: #include <bits/stdc++.h> #define N 100010 using namespace std; int a[N],b[21][N],ans[N],st[N],top=0;…
Content 有 \(n\) 张卡牌,每张卡牌上只会有大小写字母和 \(0\sim 9\) 的阿拉伯数字.有这样一个描述:"如果卡牌正面写有元音字母(\(\texttt{A,E,I,O,U}\) 五个字母中的一个),那么它的反面必然是偶数".你很想知道这个描述是否正确,因此你可以选择翻开一些卡牌来验证这个描述.求最坏情况下至少需要翻开的牌的数量. 数据范围:\(1\leqslant n\leqslant 50\). Solution 我们只需要找到元音字母和奇数的牌翻开就行.为什么是…
Content 有一个长度为 \(n\) 的数组 \(a_1,a_2,a_3,...,a_n\),试在其中找到 \(\dfrac{n}{2}\) 对数,使得每个数对的元素的和都相等. 数据范围:\(2\leqslant n\leqslant 100,1\leqslant a_i\leqslant 100\).\(n\) 保证是偶数. Solution 我们先算出这些数的总和 \(s\),然后每个数对的和就是 \(\dfrac{s}{\dfrac{n}{2}}=\dfrac{2s}{n}\),又由…
题目链接 luogu P1446 [HNOI2008]Cards 题解 题意就是求染色方案->等价类 洗牌方式构成成了一个置换群 然而,染色数限制不能用polay定理直接求解 考虑burnside引理 对于一个置换群其等价类的个数为置换中不动点的平均数 先暴力求出置换中的轮换,然后01背包DP求出不动点方案数 代码 #include<cstdio> #include<cstring> #include<iostream> #include<algorithm…
Description Petya and Vasya decided to play a game. They have n cards (n is an even number). A single integer is written on each card. Before the game Petya will choose an integer and after that Vasya will choose another integer (different from the n…
Hongcow Buys a Deck of Cards 啊啊啊, 为什么我连这种垃圾dp都写不出来.. 不是应该10分钟就该秒掉的题吗.. 从dp想到暴力然后gg, 没有想到把省下的红色开成一维. #include<bits/stdc++.h> #define LL long long #define fi first #define se second #define mk make_pair #define PLL pair<LL, LL> #define PLI pair&…
看到这道题,网上没有中文版的官方题解,于是就自己翻译了一遍. 不是机器翻译,是一个字一个字纯手翻译的,如果有错误欢迎指正. 比如我们有一张卡片,三个参数分别是 a1 = 4, b1 = 2, c1 = 3. 方便起见,我们令 p = q = r = 5. 考虑什么样的卡片能够击败这张. 我们可以固定一个参数c,来观察对于不同的c,有什么特殊的性质:   注意在第c个坐标系中,坐标为(a,b)的绿色方格代表一张卡片 (a, b, c) 可以击败我们这张卡片 (4, 2, 3). 因此,对于所有c个…