博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bzoj 4484 [Jsoi2015]最小表示——bitset
阅读量:7258 次
发布时间:2019-06-29

本文共 779 字,大约阅读时间需要 2 分钟。

题目:

每个点上存一下它到每个点的连通性。用 bitset 的话空间就是 \( \frac{n^2}{8} \) 左右。

按拓扑序从大到小枚举每个点。对于每个点判断它的哪些出边能删。然后就不太会了。

其实它的出边也不是都是等价的。连向 “拓扑序较小的点” 的出边价值更高。因为能删边的情况是 u->x->v && u->v 。

所以按指向的点拓扑序递增的顺序枚举出边,用 bitset 看看加上这条边对于连通性有无影响即可。

#include
#include
#include
#include
#include
using namespace std;int rdn(){ int ret=0;bool fx=1;char ch=getchar(); while(ch>'9'||ch<'0'){
if(ch=='-')fx=0;ch=getchar();} while(ch>='0'&&ch<='9')ret=ret*10+ch-'0',ch=getchar(); return fx?ret:-ret;}const int N=3e4+5,M=1e5+5;int n,m,hd[N],xnt,to[M],nxt[M],dg[N],tot,a[N],dfn[N],tp[N];bitset
dp[N],tmp;queue
q;bool cmp(int u,int v){ return dfn[u]

 

转载于:https://www.cnblogs.com/Narh/p/10386068.html

你可能感兴趣的文章
气泡框箭头制作
查看>>
android studio 中的编码问题
查看>>
WinForm实现简单的拖拽文件到出题的功能(C#)(3)
查看>>
8.tomcat认证访问
查看>>
android通过BitmapFactory.decodeFile获取图片bitmap报内存溢出的解决办法
查看>>
getcwd()和dirname(__FILE__)的区别
查看>>
黑马公社学习
查看>>
zabbix如何监控WEB应用性能
查看>>
mysql awr v1.0.1发布
查看>>
发布ASP.NET Core程序到Linux生产环境
查看>>
Java总结第一次//有些图片未显示,文章包含基础java语言及各种语句
查看>>
CString转换成char*
查看>>
Java中windows路径转换成linux路径等工具类
查看>>
Android 对listview中每个item高度的设置
查看>>
Vs 2015 调试ASP.NET Core修改监听端口
查看>>
Angular2学习笔记——NgModule
查看>>
linux i2c 设备节点读写
查看>>
Deep Residual Learning for Image Recognition(MSRA-深度残差学习)
查看>>
SSH的各个配置文件:
查看>>
tomcat端口被占用
查看>>