这题太神了还是去看刺儿神题解吧。

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的更多相关文章

  1. BZOJ4727 [POI2017]Turysta 【竞赛图哈密顿路径/回路】

    题目链接 BZOJ4727 题解 前置芝士 1.竞赛图存在哈密顿路径 2.竞赛图存在哈密顿回路,当且仅当它是强联通的 所以我们将图缩点后,拓扑排序后一定是一条链,且之前的块内的点和之后块内的点的边一定 ...

  2. bzoj千题计划232:bzoj4727: [POI2017]Turysta

    http://www.lydsy.com/JudgeOnline/problem.php?id=4727 竞赛图tarjan缩点后得到的拓扑图一定是一条链 因为竞赛图任意两点的前后顺序确定,只有一种拓 ...

  3. BZOJ 4727: [POI2017]Turysta

    4727: [POI2017]Turysta Time Limit: 20 Sec  Memory Limit: 128 MBSec  Special JudgeSubmit: 117  Solved ...

  4. BZOJ.4727.[POI2017]Turysta(哈密顿路径/回路 竞赛图)

    题目链接 \(Description\) 给出一个n个点的有向图,任意两个点之间有且仅一条有向边.对于每个点v,求出从v出发的一条经过点数最多,且没有重复经过同一个点一次以上的简单路径. n<= ...

  5. BZOJ 4726: [POI2017]Sabota?

    4726: [POI2017]Sabota? Time Limit: 20 Sec  Memory Limit: 128 MBSec  Special JudgeSubmit: 301  Solved ...

  6. BZOJ4724 [POI2017]Podzielno

    4724: [POI2017]Podzielno Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 77  Solved: 37[Submit][Stat ...

  7. BZOJ 4726: [POI2017]Sabota? 树形dp

    4726: [POI2017]Sabota? 题目连接: http://www.lydsy.com/JudgeOnline/problem.php?id=4726 Description 某个公司有n ...

  8. BZOJ_4726_[POI2017]Sabota?_树形DP

    BZOJ_4726_[POI2017]Sabota?_树形DP Description 某个公司有n个人, 上下级关系构成了一个有根树.其中有个人是叛徒(这个人不知道是谁).对于一个人, 如果他 下属 ...

  9. [POI2017]Sabotaż

    [POI2017]Sabotaż 题目大意: 一棵\(n(n\le5\times10^5)\)个结点的树,初始时有一个未知的黑点,其余全为白点.对于一个点,如果其子树中黑点所占比例超过\(x\),则这 ...

随机推荐

  1. Node.js系列文章:编写自己的命令行界面程序(CLI)

    CLI的全称是Command-line Interface(命令行界面),即在命令行接受用户的键盘输入并作出响应和执行的程序. 在Node.js中,全局安装的包一般都具有命令行界面的功能,例如我们用于 ...

  2. 为SRS流媒体服务器添加HLS加密功能(附源码)

    为SRS流媒体服务器添加HLS加密功能(附源码) 之前测试使用过nginx的HLS加密功能,会使用到一个叫做nginx-rtmp-module的插件,但此插件很久不更新了,网上搜索到一个中国制造的叫做 ...

  3. js判断IE浏览器版本(IE8及以下)

    var DEFAULT_VERSION = 8.0; var ua = navigator.userAgent.toLowerCase(); var isIE = ua.indexOf("m ...

  4. MVC Form 表单 提交 集合 及 复杂对象

    public class Customer { public string FName{get;set;} public Address address{get;set;} } public clas ...

  5. SpringCloud的应用发布(四)vmvare+linux,防火墙和selinux

    一.vmvare网络配置为nat模式 二.vmvare的网络设置为桥接bridge模式 1.linux 网卡的ip获取方式dhcp 三.关闭linux的防火墙和selinux 1.临时关闭防火墙 sy ...

  6. less初学手记

    less语言学习手记 工具下载 在less学习中,我们都会需要随时编译我们的less文件,查看生成的css样式表是否正确,以及是否符合我们的要求.推荐一款编译软件供大家下载使用:koala,本软件支持 ...

  7. VirtualBox网络配置使用案例

    VirtualBox  VirtualBox is a powerful x86 and AMD64/Intel64 virtualization product for enterprise as ...

  8. Python:使用youtube-dl+ffmpeg+FQ软件下载youtube视频

    声明:本文所述内容都是从http://blog.csdn.net/u011475134/article/details/71023612博文中学习而来. 背景: 一同学想通过FQ软件下载一些youtu ...

  9. POJ-1679 The Unique MST---判断最小生成树是否唯一

    题目链接: https://vjudge.net/problem/POJ-1679 题目大意: 给定一个无向连通网,判断最小生成树是否唯一. 思路: (1)对图中的每条边,扫描其他边,如果存在相同权值 ...

  10. JavaScript正则表达式学习笔记之一 - 理论基础

    自从年前得空写了两篇文章之后就开始忙了,这一忙就是2个月