BZOJ4727 [POI2017]Turysta
这题太神了还是去看刺儿神题解吧。
http://www.cnblogs.com/neighthorn/p/6538364.html
#include <cstdio>
#include <algorithm>
using std::min; const int N=;
int n,y,tt,ti,tp,t2,a[N][N],df[N],lo[N],st[N],v[N],bl[N],b[N][N],f[N],g[N],p[N],sz[N],h[N],nx[N]; void sol() {
int hd=h[],ta=h[],x;
for(int i=,j;i<=t2;i++) {
if(a[x=h[i]][hd]) {nx[x]=hd,hd=x; continue;}
for(j=hd;j!=ta&&a[nx[j]][x];j=nx[j]);
if(j^ta) nx[x]=nx[j],nx[j]=x; else nx[ta]=x,ta=x;
}
int md=hd,i,j=;
while(md^ta) {
if(a[x=nx[md]][hd]) {md=x; continue;}
for(i=hd;i!=md&&a[i][x];j=i,i=nx[i]);
if(i^md) nx[j]=x,nx[md]=hd,md=x,hd=i;
else {
for(i=nx[x];;i=nx[i]) for(j=hd;j^x;j=nx[j]) if(a[i][j]) goto lb;
lb:for(y=x;;y=nx[y]) if(y==i) break;
for(nx[md]=hd,hd=j,md=i;nx[j]^hd;j=nx[j]);
nx[j]=x;
}
}
nx[ta]=hd;
}
void tj(int x) {
df[x]=lo[x]=++ti,st[++tp]=x,v[x]=;
for(int i=;i<=n;i++) if(a[x][i]) {
if(!df[i]) tj(i),lo[x]=min(lo[x],lo[i]);
else if(v[i]) lo[x]=min(lo[x],df[i]);
}
if(df[x]==lo[x]) {p[++tt]=x,t2=; do v[y=st[tp--]]=,bl[y]=tt,h[++t2]=y,sz[tt]++; while(y^x); sol();}
} int dp(int x) {
if(f[x]) return f[x];
for(int i=;i<=tt;i++) if(b[x][i]&&f[x]<dp(i)) f[x]=dp(i),g[x]=i;
f[x]+=sz[x]; return f[x];
}
void sol2(int x) {
if(!x) return;
printf(" %d",x);
for(int i=nx[x];i^x;i=nx[i]) printf(" %d",i);
sol2(p[g[bl[x]]]);
} int main() {
scanf("%d",&n);
for(int i=;i<=n;i++) for(int j=;j<i;j++) {scanf("%d",&y); if(y) a[j][i]=; else a[i][j]=;}
for(int i=;i<=n;i++) if(!df[i]) tj(i);
for(int i=;i<=n;i++) for(int j=;j<=n;j++) if(bl[i]^bl[j]) b[bl[i]][bl[j]]|=a[i][j];
for(int i=;i<=tt;i++) dp(i);
for(int i=;i<=n;i++) printf("%d",f[bl[i]]),sol2(i),puts("");
return ;
}
BZOJ4727 [POI2017]Turysta的更多相关文章
- BZOJ4727 [POI2017]Turysta 【竞赛图哈密顿路径/回路】
题目链接 BZOJ4727 题解 前置芝士 1.竞赛图存在哈密顿路径 2.竞赛图存在哈密顿回路,当且仅当它是强联通的 所以我们将图缩点后,拓扑排序后一定是一条链,且之前的块内的点和之后块内的点的边一定 ...
- bzoj千题计划232:bzoj4727: [POI2017]Turysta
http://www.lydsy.com/JudgeOnline/problem.php?id=4727 竞赛图tarjan缩点后得到的拓扑图一定是一条链 因为竞赛图任意两点的前后顺序确定,只有一种拓 ...
- BZOJ 4727: [POI2017]Turysta
4727: [POI2017]Turysta Time Limit: 20 Sec Memory Limit: 128 MBSec Special JudgeSubmit: 117 Solved ...
- BZOJ.4727.[POI2017]Turysta(哈密顿路径/回路 竞赛图)
题目链接 \(Description\) 给出一个n个点的有向图,任意两个点之间有且仅一条有向边.对于每个点v,求出从v出发的一条经过点数最多,且没有重复经过同一个点一次以上的简单路径. n<= ...
- BZOJ 4726: [POI2017]Sabota?
4726: [POI2017]Sabota? Time Limit: 20 Sec Memory Limit: 128 MBSec Special JudgeSubmit: 301 Solved ...
- BZOJ4724 [POI2017]Podzielno
4724: [POI2017]Podzielno Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 77 Solved: 37[Submit][Stat ...
- BZOJ 4726: [POI2017]Sabota? 树形dp
4726: [POI2017]Sabota? 题目连接: http://www.lydsy.com/JudgeOnline/problem.php?id=4726 Description 某个公司有n ...
- BZOJ_4726_[POI2017]Sabota?_树形DP
BZOJ_4726_[POI2017]Sabota?_树形DP Description 某个公司有n个人, 上下级关系构成了一个有根树.其中有个人是叛徒(这个人不知道是谁).对于一个人, 如果他 下属 ...
- [POI2017]Sabotaż
[POI2017]Sabotaż 题目大意: 一棵\(n(n\le5\times10^5)\)个结点的树,初始时有一个未知的黑点,其余全为白点.对于一个点,如果其子树中黑点所占比例超过\(x\),则这 ...
随机推荐
- bzoj千题计划271:bzoj4869: [六省联考2017]相逢是问候
http://www.lydsy.com/JudgeOnline/problem.php?id=4869 欧拉降幂+线段树,每个数最多降log次,模数就会降为1 #include<cmath&g ...
- Java并发编程实战 之 线程安全性
1.什么是线程安全性 当多个线程访问某个类时,不管运行时环境采用何种调用方式或者这些线程将如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么就称这个类是线程安全 ...
- BEM 中文翻译
BEM 原文请看 getBEM Introduction(介绍) Block 独立实体,独立的意义 Examples:header, container, menu, checkbox, input ...
- 新概念英语(1-107)It's Too Small.
Lesson 107 It's too small. 太小了. Listen to the tape then answer this question. What kind of dress doe ...
- Angular 学习笔记 ( CDK - Accessibility )
@angular/ckd 是 ng 对于 ui 组建的基础架构. 是由 material 团队开发与维护的, 之所以会有 cdk 看样子是因为在开发 material 的时候随便抽象一个层次出来给大家 ...
- 新概念英语(1-31)Where's Sally?
新概念英语(1-31)Where's Sally? Is the cat climbing the tree ? A:Where is Sally, Jack ? B:She is in the ga ...
- python入门(4)第一个python程序
python入门(4)第一个python程序 在交互式环境的提示符>>>下,直接输入代码,按回车,就可以立刻得到代码执行结果.现在,试试输入100+200,看看计算结果是不是300: ...
- maven入门(10)maven的仓库
[0]README 1)本文部分文字转自 "maven实战",旨在 review "maven(6)仓库" 的相关知识: [1]何为 Maven仓库 1) ...
- Echarts 中国地图(包括china.js文件)
用Echarts写中国地图需要导入china.js(现在官方不提供下载,个人找的在最下面有),根据需要的效果如下.位置可以自己在option里面修改 <!DOCTYPE html> < ...
- ssh整合之四单独搭建struts的运行环境
1.导入struts的基本jar包 2.在web.xml中配置我们struts的核心控制器StrutsPrepareAndExecuteFilter <?xml version="1. ...