HDU5036 Explosion(期望&&bitset)
#include <iostream>
#include <cstring>
#include <string>
#include <vector>
#include <cstdio>
#include <algorithm>
#include <cmath>
#include <bitset>
using namespace std; #define maxn 1005 bitset<1100> b[maxn];
int n; int main()
{
int T;cin>>T;int ca=0;
while(T--){
scanf("%d",&n);
for(int i=1;i<=n;++i) b[i].reset();
for(int i=1;i<=n;++i){
int num;scanf("%d",&num);
b[i][i]=true;
while(num--){
int tmp;
scanf("%d",&tmp);
b[i][tmp]=true;
}
}
for(int i=1;i<=n;++i){
for(int j=1;j<=n;++j){
if(b[j][i]) b[j]|=b[i];
}
}
double ans=0;
for(int i=1;i<=n;++i){
int cnt=0;
for(int j=1;j<=n;++j){
if(b[j][i]) ++cnt;
}
ans+=1.0/cnt;
}
printf("Case #%d: %.5lf\n",++ca,ans);
}
return 0;
}
HDU5036 Explosion(期望&&bitset)的更多相关文章
- HDU5036 Explosion(期望 bitset)
题意 题目链接 Sol 和cf上的一道题几乎一摸一样 首先根据期望的线性性,可以转化为求每个点的期望打开次数,又因为每个点最多会被打开一次,只要算每个点被打开的概率就行了 设\(anc[i]\)表示\ ...
- hdu 5036 Explosion(概率期望+bitset)
Problem Description Everyone knows Matt enjoys playing games very much. Now, he to N. Input The firs ...
- HDU 5036 Explosion (传递闭包+bitset优化)
<题目链接> 题目大意: 一个人要打开或者用炸弹砸开所有的门,每个门后面有一些钥匙,一个钥匙对应一个门,告诉每个门里面有哪些门的钥匙.如果要打开所有的门,问需要用的炸弹数量为多少. 解题分 ...
- hdu5036 Explosion 传递闭包
大哲哥的讲课内容 根据期望的线性性,得到总期望为各个点被轰的概率(不会证,好像是这样吧) 传递闭包解决出每个点的祖先(能到达它的点)就能算概率了 bitset能贡献1/w的复杂度,而且导致Floyd只 ...
- HDU5036(bitset加速传递闭包+期望)
HDU5036 题解 题目链接 思路: 求出破坏or打开所有门所需要的期望炮弹数量,那么根据期望的线性性质,我们可以求出每一个门的期望值最后累加起来就行了. 我们最后的目标就是求对于一个门\(i\), ...
- 概率期望+闭包+bitset优化——hdu5036
我们首先得到: 暴力打开这个箱子,能够开那些箱子.这个可以用bitset来进行状态压缩. 用闭包传递来解决这一步 然后,对于每个箱子,我们考虑有多少种方法,使:暴力打开某些箱子,同时能 ...
- Hdu 5036-Explosion 传递闭包,bitset,期望/概率
题目:http://acm.hdu.edu.cn/showproblem.php?pid=5036 Explosion Time Limit: 6000/3000 MS (Java/Others) ...
- hdu 5036 Explosion bitset优化floyd
http://acm.hdu.edu.cn/showproblem.php?pid=5036 题意就是给定一副有向图,现在需要走遍这n个顶点,一开始出发的顶点是这n个之中的随便一个. 如果走了1,那么 ...
- NBUT 1635 Explosion(最小顶点覆盖)
[1635] Explosion 时间限制: 10000 ms 内存限制: 65535 K 问题描述 there is a country which contains n cities connec ...
随机推荐
- pandas库Series类型与基本操作
pandas读取excel的类型是dataFrame,然后提取每一列是一个Series类型 Series类型包括index和values两部分 a = pd.Series({'a':1,'b':5}) ...
- 动态规划:HDU-1203-0-1背包问题:I NEED A OFFER!
解题心得: 动态规划就是找到状态转移方程式,但是就本题0-1背包问题来说转移方程式很简单,几乎看模板就行了. 在本题来说WA了很多次,很郁闷,因为我记录v[i]的时候i是从0开始的,一些特殊数据就很尴 ...
- 笔记-python-standard library-8.10 copy
笔记-python-standard library-8.10 copy 1. copy source code:Lib/copy.py python中的赋值语句不复制对象,它创建了对象和目 ...
- Alarm机制用于定时服务
获取一个 AlarmManager 的实例: AlarmManager manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE) ...
- Python中*和**的区别
Python中,(*)会把接收到的参数形成一个元组,而(**)则会把接收到的参数存入一个字典 我们可以看到,foo方法可以接收任意长度的参数,并把它们存入一个元组中 >>> def ...
- luogu2023 [AHOI2009]维护序列
线段树加乘懒标记裸题. #include <iostream> #include <cstdio> using namespace std; typedef long long ...
- flex布局之flex-grow和flex-shrink如何计算
此文已由作者张含会授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 关于盒模型布局 如何实现两栏布局? (表格) 流式, 浮动, 定位 如何选择? 流式 > 浮动 > ...
- C#入门篇5-8:流程控制语句 break语句
#region break语句 public class Breakapp { public static void Fun1() { //计算1+2+…+100的求和程序,打印显示每次循环计算的结果 ...
- 工作中用到的安卓日志相关命令(logcat)
1. 打印安卓日志,在cmd中使用adb shell logcat:在adb shell下直接打logcat 2. 如果不想打印占用终端,则加个&号,即logcat & 3. 如果想把 ...
- 【转载】主成分分析法(PCA)
https://www.jisilu.cn/question/252942 进行维数约减(Dimensionality Reduction),目前最常用的算法是主成分分析法 (Principal Co ...