题目:
https://atcoder.jp/contests/agc049/tasks/agc049_a

给你一个有向图,每次操作随机选一个点,删除该点并且删除所有该点能够到达的点。删除点的时候也要删除和点关联的边。求操作次数的期望。

思路:
首先缩点,因为同一个强连通分量里面的点是等价的,然后就是一个有向无环图删点操作。参考托米的游戏,每一个连通分量的贡献为
该 连 通 分 量 的 大 小 所 有 能 够 到 达 该 连 通 分 量 的 大 小 的 和 \quad \\ \frac{该连通分量的大小}{所有能够到达该连通分量的大小的和} 所有能够到达该连通分量的大小的和该连通分量的大小​
注意: 算分母的时候反向建图 d p dp dp,但 d p dp dp保存的不是直接的答案而是一个 s e t set set,存能够到达的点的集合。不然会算重复。

#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=10009;
struct node {set<int>q;
} d[N];
int n,ins[N],c[N],dfn[N],low[N],num,cnt=0;
double ans=0;
vector<int>w[N],w1[N],scc[N];
stack<int>st;
set<int>q;
void Tarjan(int x) {dfn[x]=low[x]=++num;st.push(x),ins[x]=1;for(int i=0; i<w[x].size(); i++) {int y=w[x][i];if(!dfn[y]) {Tarjan(y);low[x]=min(low[x],low[y]);} else if(ins[y])low[x]=min(low[x],dfn[y]);}if(dfn[x]==low[x]) {cnt++;int y;do {y=st.top();st.pop();ins[y]=0;c[y]=cnt;w1[cnt].push_back(y);} while(x!=y);}
}
void dfs(int x) {d[x].q.insert(x);//每个缩点能够到达的点的集合int si=scc[x].size();for(int i=0; i<si; i++) {int y=scc[x][i];if(d[y].q.empty())dfs(y);for(set<int>::iterator it=d[y].q.begin(); it!=d[y].q.end(); it++)d[x].q.insert(*it);}
}
int main() {scanf("%d",&n);for(int i=1; i<=n; i++) {char a[N];scanf("%s",a+1);for(int j=1; a[j]!='\0'; j++)if(a[j]=='1')w[i].push_back(j);}for(int i=1; i<=n; i++)if(!dfn[i])num=0,Tarjan(i);for(int i=1; i<=n; i++)for(int j=0; j<w[i].size(); j++) {int x=w[i][j];if(c[i]==c[x])continue;scc[c[x]].push_back(c[i]);}for(int i=1; i<=cnt; i++) {if(d[i].q.empty())dfs(i);}for(int i=1;i<=cnt;i++){int res=0;for(set<int>::iterator it=d[i].q.begin(); it!=d[i].q.end(); it++)res+=w1[(*it)].size();ans+=(double)w1[i].size()/res;}printf("%.13lf",ans);return 0;
}
/*
4
0110
1001
0001
0010
*/

Erasing Vertices相关推荐

  1. AGC049 A - Erasing Vertices(概率期望)

    题意: 解法: 假设有c[i]个点可以到达点i, 那么一次操作中,点i被删除的概率为1/c[i], 那么点i会被删除的期望次数为1/c[i], 对答案的贡献也是1/c[i], 因此最后ans=sum( ...

  2. AtCoder Grand Contest 049 A - Erasing Vertices

    https://atcoder.jp/contests/agc049/tasks/agc049_a 概率期望构造一生之敌 对于每个点的贡献,就是所有能到达他的点都不能在他之前选,他就能贡献1 那么每个 ...

  3. 如何做好项目管理工作?

    很多项目进度很难把控,经常延期,怎么办?如何跟进整个项目的开发进度.项目测试及项目完成发布? 项目管理三要素:质量.成本和时间 开门见山,项目管理的三要素,是质量.成本和时间. 三要素的意义在于,他们 ...

  4. AGC 049 总结+ABCD题解

    AGC 049 总结+ABCD题解 比赛链接 赛况: 202 Gary{\color{Yellow} \textrm{Gary} }Gary 1800(4)187:231800 (4)\\187:23 ...

  5. 弱监督语义分割--Object Region Mining with Adversarial Erasing

    Object Region Mining with Adversarial Erasing: A Simple Classification to Semantic Segmentation Appr ...

  6. CodeForces - 1551F Equidistant Vertices(暴力+dp)

    题目链接:点击查看 题目大意:给出一棵 nnn 个节点组成的树,问选出 kkk 个节点满足相互之间距离相等的方案数有多少 题目分析:n=100n=100n=100,感觉数据范围越小的题目越难发现 ta ...

  7. 【2019浙江省赛 - A】Vertices in the Pocket(权值线段树下二分,图,思维)

    题干: DreamGrid has just found an undirected simple graph with  vertices and no edges (that's to say, ...

  8. 【图像数据增强】Mixup、Cutout、Random Erasing、CutMix、Mosaic等详解

    对于模型而言一般包含四个部分:输入.输出.网络结构.训练相关.如果想要改善模型,就可以从这四个部分入手. ● 输入:数据 --> Data Augmentation ● 输出:Loss相关 ● ...

  9. self-supervised text erasing with controllable image synthesis

    Scene Text Erasing综述和自己的思考 - 知乎最近在看关于Scene Text Erasing的论文,先在这挖一个坑,论文细节以后慢慢整理. 1 介绍场景文字消除(Scene Text ...

最新文章

  1. redis cluster 添加 删除 重分配 节点
  2. GlassFish 3.1.2充满了MOXy(EclipseLink JAXB)
  3. presto联合查询mysql和ES_presto-mysql/elasticsearch6.0.0安装部署测试,异种数据源关联查询入门实践...
  4. 一文了解Redis持久化
  5. 华为P30系列双景录像功能上线:同屏展示全景与特写
  6. 股票历史数据-历史数据股票工具
  7. SwiftyJson 实现Json转模型
  8. APP自动化测试--IOS
  9. 机器视觉软件入门(2)
  10. 【Xilinx JESD204B】针对JESD204B的一些问题解答
  11. ArcGis.js的帮助文档、社区
  12. ThunderSoft Video to GIF Converter(电脑视频转gif软件)官方正式版V3.3.0 | 轻松将视频转换成GIF图片
  13. linux环境包执行报错,linux环境下部署kettle,执行kitchen.sh文件报错后提示安装 libwebkitgtk 所需rpm包...
  14. 实用应聘技巧(转前沿讲座)
  15. “我是技术总监,你干嘛总问我技术细节?”
  16. andoird 设置锁屏上不显示通知
  17. 上传文件的几种主要方法。
  18. STM32F407配置pca9685驱动
  19. 活水渠-云影院之云时代的观影方法
  20. Vidar-Team战队专访:AS WE DO, AS YOU KNOW.

热门文章

  1. maven使用aliyun,阿里云仓库
  2. Cisco路由器配置OSPF
  3. python value_counts_pandas中.value_counts()的用法
  4. 《杜拉拉升职记3》读书笔记
  5. 七年磨一剑!苹果王炸产品Vision Pro诞生,未来已来
  6. usaco 2.1.4 Subset Sums 【母函数】
  7. iTunes Connect突然登录不了的原因
  8. GraalVM到底是何方神圣?
  9. 华硕 您的计算机无法启动,华硕电脑无法开机怎么办
  10. SEO基础之跳出率(用户体验连载3)