传送门 思路 题目给了一个提示:对于\(n\)个\([0,1]\)的随机变量,其中第\(k\)小的期望大小是\(\frac{k}{n+1}\). 这引导我们枚举边的相对大小的全排列,然后求最小生成树 设\(P(x)\)表示最小生成树中最大一条边的排名是\(x\)的概率,那么有 \[ ans=\frac 1 {m+1}\sum_x xP(x) \Leftrightarrow (m+1)ans=\sum_x xP(x) \] 恰好是\(x\)比较麻烦,再设\(f_x\)表示最大排名大于\(x\)的概…
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3925 题意概述: 给出一张N点M边的最小生成树,其中每条边的长度为[0,1]的实数,求最小生成树中最大边的期望大小是多少.N<=10,M<=N(N-1)/2. 由于本人实在太弱所以细节会描述的比较多.(精简版本见下方) 整理一下手里有的信息: 1.题目告诉我们N个大小在[0,1]的随机变量中第i大的期望大小为i/(N+1). 2.由于两个[0,1]的随机变量大小相同的概率为0(小到为0…
Description 傲娇少女幽香是一个很萌很萌的妹子,而且她非常非常地有爱心,很喜欢为幻想乡的人们做一些自己力所能及的事情来帮助他们. 这不,幻想乡突然发生了地震,所有的道路都崩塌了.现在的首要任务是尽快让幻想乡的交通体系重新建立起来. 幻想乡一共有 \(n\) 个地方,那么最快的方法当然是修复 \(n-1\) 条道路将这 \(n\) 个地方都连接起来. 幻想乡这 \(n\) 个地方本来是连通的,一共有 \(m\) 条边.现在这 \(m\) 条边由于地震的关系,全部都毁坏掉了.每条边都有一个…
题目:https://www.luogu.org/problemnew/show/P3343 1.那个时间与边的大小排名有关,所以需要求一下最大边的期望排名就行. 2.期望排名是这样算的:(排名为1的概率 * 1(1的值) + 排名为2的概率 * 2 + ……) / (m+1) 仔细一想可以变成这样:(排名>=1的概率 + 排名>=2的概率 + ……) / (m+1) 可以是这样?——(连0时不能联通的概率 + 连1时不能联通的概率 + ……) / (m+1) 这里的0.1等可以看作是“前几条…
题面传送门 鸽子 tzc 竟然来补题解了,奇迹奇迹( 神仙题 %%%%%%%%%%%% 解法 1: 首先一件很明显的事情是这个最小值可以通过类似 Kruskal 求最小生成树的方法求得.我们将所有边按边权从小到大排序并依次加入图中,如果加入边权为 \(v\) 的边后图首次连通,那么这张图对答案的贡献就是 \(v\). 那么怎么求这个期望值呢?我们考虑枚举加入多少条边后图首次连通,记这个数为 \(c\),那么这种情况对期望的贡献就是 \(\dfrac{c}{m+1}\),如果我们能再求出 \(p_…
[BZOJ3925][ZJOI2015]地震后的幻想乡(动态规划) 题面 BZOJ 洛谷 题解 题目里面有一句提示:对于\(n\)个\([0,1]\)之间的随机变量\(x1,x2,...,xn\),第\(k\)小的那个的期望值是\(k/(n+1)\). 显然要求的东西就是一棵最小生成树最大边的期望.而求解最小生成树只需要知道边的排名以及当前点之间的连通性.因为我们知道第\(k\)小的值的期望,所以我们只需知道最小生成树做到了第几条边时联通.那么需要求解的只有在连完第\(k\)条边只有连通的方案数…
题面链接 洛咕 sol %%%_rqy 本来想写正常的状压,看到这篇题解就入坑了... 直接搬题解吧,写的太好了不用解释. 慢慢搬,先咕着QAQ #include<cstdio> #include<cstring> #include<algorithm> #define gt getchar() #define ll long long #define File(s) freopen(s".in","r",stdin),freop…
题目: 洛谷 3343 BZOJ 3925 分析: 谁给我说这是个期望概率神题的,明明没太大关系好吧 「提示」里那个结论哪天想起来再问 Jumpmelon 怎么证. 首先,由于开始修路前 \(e_i\) 就已知了,所以显然是按照 \(e_i\) 从小到大的顺序修,直到连通.代价就是最后加入的边的权值. 这个提示非常地良心,同时结合期望的线性性可以发现答案就是对于所有的 \(k(0\leq k\leq m)\) ,任选 \(k\) 条边 恰好 连通 \(n\) 个点的概率乘上第 \(k\) 大的边…
Problem bzoj & 洛谷 题意简述:给定一个\(n\)(\(n\leq 10\))个点\(m\)条边的无向图,每条边的权值为一个\(0\)到\(1\)之间的连续随机变量,求图的最小生成树中最大边的期望权值 Solution \(m\)个范围\([0,1]\)之间的随机变量中,第\(i\)大的值期望为\(\frac i{m+1}\)(这个式子我只会证最大值期望为\(\frac m{m+1}\),但不会证第\(i\)大的期望,如果有哪位神犇会证,请赐教) upd:现在我会证第\(i\)大的…
Description 傲娇少女幽香是一个很萌很萌的妹子,而且她非常非常地有爱心,很喜欢为幻想乡的人们做一些自己力所能及的事情来帮助他们. 这不,幻想乡突然发生了地震,所有的道路都崩塌了.现在的首要任务是尽快让幻想乡的交通体系重新建立起来.幻想乡一共有n个地方,那么最快的方法当然是修复n-1条道路将这n个地方都连接起来. 幻想乡这n个地方本来是连通的,一共有m条边.现在这m条边由于地震的关系,全部都毁坏掉了.每条边都有一个修复它需要花费的时间,第i条边所需要的时间为ei.地震发生以后,由于幽香是…
题目描述 傲娇少女幽香是一个很萌很萌的妹子,而且她非常非常地有爱心,很喜欢为幻想乡的人们做一些自己力所能及的事情来帮助他们. 这不,幻想乡突然发生了地震,所有的道路都崩塌了.现在的首要任务是尽快让幻想乡的交通体系重新建立起来. 幻想乡一共有n个地方,那么最快的方法当然是修复n-1条道路将这n个地方都连接起来. 幻想乡这n个地方本来是连通的,一共有m条边.现在这m条边由于地震的关系,全部都毁坏掉了.每条边都有一个修复它需要花费的时间,第i条边所需要的时间为ei.地震发生以后,由于幽香是一位人生经验…
Description 傲娇少女幽香是一个很萌很萌的妹子,而且她非常非常地有爱心,很喜欢为幻想乡的人们做一些自己力所能及的事情来帮助他们. 这不,幻想乡突然发生了地震,所有的道路都崩塌了.现在的首要任务是尽快让幻想乡的交通体系重新建立起来.幻想乡一共有n个地方,那么最快的方法当然是修复n-1条道路将这n个地方都连接起来. 幻想乡这n个地方本来是连通的,一共有m条边.现在这m条边由于地震的关系,全部都毁坏掉了.每条边都有一个修复它需要花费的时间,第i条边所需要的时间为ei.地震发生以后,由于幽香是…
洛谷P1879 [USACO06NOV]玉米田Corn Fields \(f[i][j]\) 表示前 \(i\) 行且第 \(i\) 行状态为 \(j\) 的方案总数.\(j\) 的大小为 \(0 \to (1 >> n - 1)\) . 第 \(i\) 行,种植状态为 \(j\) 的方案总数等于所有合法的 \(f[i-1][k]\) 之和. 状态 \(j\) 满足同一行内没有相邻的两块草地(没有共同边). 状态 \(j\) 和 \(k\) 满足相邻两行的种植情况没有两块草地有共同边. \[…
洛谷题面传送门 首先看到 LIS 我们可以想到它的 \(\infty\) 种求法(bushi),但是对于此题而言,既然题目出这样一个数据范围,硬要暴搜过去也不太现实,因此我们需想到用某种奇奇怪怪的方式进行状态压缩 DP,这样一来就可以排除掉不少常用的求 DP 的方法:譬如最常用的从左往右顺着钦定元素并设 \(f_i\) 表示以 \(i\) 结尾的 LIS 的长度的方法,因此考虑换个角度,从小到大添加元素.还是设 \(f_i\) 表示以 \(i\) 结尾的 LIS 的长度,那么考虑在一轮中,我们在…
假设我们用了边权前i小的边使得图连通,那么对答案的贡献为i/m+1 又因为期望的线性性质,我们只需要求用了i条边就可以了 不妨设g(S)(i)表示用了i条边使得点集S连通的概率 设f(S)(i)表示用了i条边使得点集S没有连通的概率 设cnt(S)表示点集S内部的边的数量 我们可以知道f(S)(i)+g(S)(i)=C( cnt(S),i ) 那么我们只需要求出f(S)(i)就可以了 设now是S中的一个点,设T是S的子集且包含now f(S)(i)=sigma( g(T)(i-j) * C(…
CLJ就是喜欢出ctsc上讲的东西,看来还是得找时间把他的那几道题做下 首先记f(x)为答案>x的概率,那么把这个东西从0到1积分就是答案了 f(x)<=>边小于x不能使图联通的概率 这个有点难求,考虑求使图联通的概率 记f(s)为集合s联通的概率,那么f(s)=1-sigma(f(s')*(1-x)^cnt) (s'属于s且s'一定包含某点k,cnt为链接s'与Cs s'的边数) 可以发现f(s)是个多项式,就可以积分了 由于还没用上64位评测系统,double还是不能过,只好用__f…
题目传送门 SOL:不会积分的我瑟瑟发抖. 所以我选择状压DP. 我们有以下一个dp状态: f[S][i],S表示点集,i表示这个点集向外联了i条边. 那么答案就是f[(1<<n)-1][0]了,那么让我们来考虑怎么转移. ...我口胡不下去了. 我们来考虑数学方法. 我们设答案是 EX,那么我们有以下数学推导: (不会打数学公式,只好手写再拍照上传了) 点这里(数学推导第一张) 点这里(数学推导第二张)  就酱紫. 我的代码丑,给你们看看大佬的代码: #include<bits/std…
传送门 思路 首先看到生成树计数,想到Matrix-Tree定理. 然而,这题显然是不能Matrix-Tree定理硬上的,因为还有每个公司只能建一条路的限制.这个限制比较恶心,尝试去除它. 怎么除掉它呢? 容斥! 每当有恶心的限制时,用容斥去除它,也许这是套路? 枚举有哪几所公司承保了所有道路的修建,然后大力Matrix-Tree定理即可. 复杂度\(O(n^32^n)\)有点大,但还是可以过的. 代码 #include<bits/stdc++.h> clock_t t=clock(); na…
神™题........ 这道题的提示......(用本苣蒻并不会的积分积出来的)并没有 没有什么卵用 ,所以你发现没有那个东西并不会 不影响你做题 ,然后你就可以推断出来你要求的是我们最晚挑到第几大的边会形成最小生成树(可以看成是在Kruskal),然后我就开始YY了(一本正经). 首先我想到了枚举边的排列这样比较好做应该可以拿到50分,然后,在此基础上我想到了用Prim式构造最小生成树然后以转移的方式求出对应的每个最晚第几的概率,转移致死....后来我去枚举树的形态,发现不会求每种形态所对应的…
ref 前置技能是bzoj的串珠子.这种子集dp好神啊qwq. 还有这种钦定点转移子集的方法建议按这题的方法写,不要看串珠子qwq #include <iostream> #include <cstdio> using namespace std; typedef long long ll; int n, m, w[15], uu, vv, siz[1105], cnt[1105]; ll c[55][55]; double f[1105][55], g[1105][55]; in…
点此看题面 大致题意: 有\(n\)个点和\(m\)条边,每条边的权值是一个\(0\sim1\)的随机实数,要你用\(n-1\)条边将图联通,问这\(n-1\)条边中边权最大值的期望最小值. 提示 这题应该是一道比较难的\(DP\)题吧. 首先,我们需要注意到提示中的一句话: \(Hint\) 对于\(n\)个\([0,1]\)之间的随机变量\(x_1,x_2,...,x_n\),第\(k\)小的那个的期望值是\(\frac k{n+1}\). 其实,这就很明显在提示我们,只要求出这\(n-1\…
我们只需要考虑$\sum F(x)P(x)$的和, $F(x)$表示第x大边的期望,$P(x)$表示最大为x的概率. 经过一番化简得到$ans=\frac{\sum T(x-1)}{m+1}$ 所以就是考虑x条边不能构成生成树的概率,我们用总方案除以所有情况即可. 然后DP就好了. #include <map> #include <ctime> #include <cmath> #include <queue> #include <cstdio>…
传送门 给积分大佬跪了 再给状压大佬也跪了 //minamoto #include<bits/stdc++.h> #define rint register int #define ll long long using namespace std; #define getc() (p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<21,stdin),p1==p2)?EOF:*p1++) char buf[1<<21],*p1=buf…
这里有一篇很好很强的博客%%% YouSiki大佬的博客 多理解一会就行了- 代码 #include <bits/stdc++.h> using namespace std; typedef long long LL; const int MAXN = 10; const int MAXM = 46; const int MAXS = 1<<10; int n, m, e[MAXN], bitcnt[MAXS], cnt[MAXS]; LL f[MAXS][MAXM], g[MAX…
\(\mathcal{Description}\)   link.   有一个 \(n\) 个结点的无向图,给定 \(n-1\) 组边集,求从每组边集选出恰一条边最终构成树的方案树.对 \(10^9+7\) 取模.   \(2\le n\le17\),边集大小 \(0\le m_i\le\frac{n(n-1)}2\). \(\mathcal{Solution}\)   \(n\) 很小,考虑容斥.枚举这 \(n-1\) 个边集的子集,将子集内的边集的边加入图,用矩阵树定理求出生成树个数,容斥一…
题目描述 Farmer John has purchased a lush new rectangular pasture composed of M by N (1 ≤ M ≤ 12; 1 ≤ N ≤ 12) square parcels. He wants to grow some yummy corn for the cows on a number of squares. Regrettably, some of the squares are infertile and can't b…
题目描述 Yume 最近在玩一个名为<LoveLive! School idol festival>的音乐游戏.他之所以喜欢上这个游戏,是因为这个游戏对非洲人十分友好,即便你脸黑到抽不出好卡,还可以通过在每个月举办的两次活动中达成一定的目标来获得奖励. Yume 很喜欢这一期活动奖励卡的卡面,于是他决定要肝这一期的活动,拿到活动奖励.这一期的活动规则很特殊,玩家需要在活动规定的结束时间前,完成所有指定的歌曲(每首歌曲只能打一次),并获得一定的分数,就可以拿到活动奖励.如果在规定的时间前没有完成…
点此看题面 大致题意: 对于一个序列,求全排列下最大前缀和之和. 状压\(DP\) 考虑如果单纯按照题目中对于最大前缀和的定义,则一个序列它的最大前缀和是不唯一的. 为了方便统计,我们姑且规定,如果一个序列中存在多个最大前缀和,我们取最靠后的一个. 由此我们想到,对于一个序列可以把它分为两部分\([1,k]\)和\([k+1,n]\)满足: \([1,k]\)是\([1,k]\)本身的最大前缀和. \([k+1,n]\)内所有前缀和均小于\(0\). 显然,由于\([1,k]\)是其本身的最大前…
状压dp 应用思想,找准状态,多考虑状态和\(f\)答案数组的维数(这个题主要就是找出来状态如何转移) 题目背景 \(BanG Dream!\)里的所有偶像乐队要一起大合唱,不过在排队上出了一些问题. 题目描述 \(N\)个偶像排成一列,他们来自\(M\)个不同的乐队.每个团队至少有一个偶像. 现在要求重新安排队列,使来自同一乐队的偶像连续的站在一起.重新安排的办法是,让若干偶像出列(剩下的偶像不动),然后让出列的偶像一个个归队到原来的空位,归队的位置任意. 请问最少让多少偶像出列? 输入格式…
正题 题目链接:https://www.luogu.com.cn/problem/P3343 题目大意 给出\(n\)个点的一张无向图,每条边被修复的时间是\([0,1]\)的一个随机实数,求这张图联通期望时间. \(1\leq n\leq 10,m\leq \frac{n(n-1)}{2}\) 解题思路 这个随机实数好像是用来吓人的(但是概率分布函数好像能搞) 假设修好了\(k\)条之后恰好联通了,那么期望需要的时间就是\(\frac{k}{m+1}\) 好了现在要求恰好在\(k\)条边修好之…