P2860 [USACO06JAN]冗余路径Redundant Paths tarjan
题目链接
https://www.luogu.org/problemnew/show/P2860
思路
缩点,之后就成了个树一般的东西了
然后(叶子节点+1)/2就是答案,好像贪心的样子,lmc好像讲过诶
cpp #include <iostream> #include <cstdio> #include <vector> #include <bits/stdc++.h> #define iter vector<int>::iterator using namespace std; const int N=1e5+7; int read() { int x=0,f=1;char s=getchar(); for(;s>'9'||s<'0';s=getchar()) if(s=='-') f=-1; for(;s>='0'&&s<='9';s=getchar()) x=x*10+s-'0'; return x*f; } int n,m; vector<int> G[N]; int dfn[N],low[N],SD,stak[N],top,vis[N],belong[N]; void tarjan(int u,int fa) { dfn[u]=low[u]=++SD; vis[u]=1; stak[++top]=u; for(iter it=G[u].begin();it!=G[u].end();++it) { if(*it==fa) continue; if(!dfn[*it]) { tarjan(*it,u); low[u]=min(low[u],low[*it]); } else if(vis[*it]) low[u]=min(low[u],dfn[*it]); } if(low[u]==dfn[u]) { belong[0]++; while(stak[top]!=u) { belong[stak[top]]=belong[0]; vis[stak[top]]=0; top--; } belong[u]=belong[0]; vis[u]=0; top--; } } int ru[N]; map<pair<int,int>,int> hasH; int main() { n=read(),m=read(); for(int i=1;i<=m;++i) { int x=read(),y=read(); if(hasH.count(make_pair(x,y))) continue; hasH[make_pair(x,y)]=1; G[x].push_back(y); G[y].push_back(x); } for(int i=1;i<=n;++i) if(!dfn[i]) tarjan(i,0); for(int i=1;i<=n;++i) { for(iter it=G[i].begin();it!=G[i].end();++it) { if(belong[i]!=belong[*it]) { ru[belong[i]]++,ru[belong[*it]]++; } } } int ans=0; for(int i=1;i<=n;++i) if(ru[i]==2) ans++; printf("%d\n",(ans+1)/2); return 0; }
P2860 [USACO06JAN]冗余路径Redundant Paths tarjan的更多相关文章
- 洛谷P2860 [USACO06JAN]冗余路径Redundant Paths(tarjan求边双联通分量)
题目描述 In order to get from one of the F (1 <= F <= 5,000) grazing fields (which are numbered 1. ...
- luogu P2860 [USACO06JAN]冗余路径Redundant Paths |Tarjan
题目描述 In order to get from one of the F (1 <= F <= 5,000) grazing fields (which are numbered 1. ...
- 洛谷 P2860 [USACO06JAN]冗余路径Redundant Paths 解题报告
P2860 [USACO06JAN]冗余路径Redundant Paths 题目描述 为了从F(1≤F≤5000)个草场中的一个走到另一个,贝茜和她的同伴们有时不得不路过一些她们讨厌的可怕的树.奶牛们 ...
- luogu P2860 [USACO06JAN]冗余路径Redundant Paths
题目描述 In order to get from one of the F (1 <= F <= 5,000) grazing fields (which are numbered 1- ...
- 洛谷P2860 [USACO06JAN]冗余路径Redundant Paths
题目描述 In order to get from one of the F (1 <= F <= 5,000) grazing fields (which are numbered 1. ...
- 【luogu P2860 [USACO06JAN]冗余路径Redundant Paths】 题解
题目链接:https://www.luogu.org/problemnew/show/P2860 考虑在无向图上缩点. 运用到边双.桥的知识. 缩点后统计度为1的点. 度为1是有一条路径,度为2是有两 ...
- LUOGU P2860 [USACO06JAN]冗余路径Redundant Paths (双联通,缩点)
传送门 解题思路 刚开始是找的桥,后来发现这样不对,因为一条链就可以被卡.后来想到应该缩点后找到度数为1 的点然后两两配对. #include<iostream> #include< ...
- P2860 [USACO06JAN]冗余路径Redundant Paths
题解: 首先要边双缩点这很显然 然后变成树上问题 发现dp,dfs好像不太对 考虑一下度数 发现只要在度数为1的点之间连边 但我好像不太会证明这个东西.. 网上也没有看到比较正确的证明方法和连边策略. ...
- 缩点【洛谷P2860】 [USACO06JAN]冗余路径Redundant Paths
P2860 [USACO06JAN]冗余路径Redundant Paths 为了从F(1≤F≤5000)个草场中的一个走到另一个,贝茜和她的同伴们有时不得不路过一些她们讨厌的可怕的树.奶牛们已经厌倦了 ...
随机推荐
- Unity shader学习之渐变纹理
渐变纹理,及使用纹理来存储漫反射光照的结果,这种技术在游戏<军团要塞2>中流行起来,它也是由Valve公司(提出半兰伯特光照技术的公司)提出来的,他们使用这种技术来渲染游戏中具有插画风格的 ...
- css 文字样式
Gradient 3D text 代码区域 /*css */ body { background-color: #272727; } h1 { font-family: "Arial&quo ...
- html5-css边框全
/*div{ width: 500px; height: 300px; background: rgb(122,30,60); border: 10px solid black ...
- sitecore系统教程之体验编辑器
体验编辑器是一个WYSIWYG编辑器,允许您直接在页面上轻松更改项目.您可以编辑页面上可见的所有项目 - 文本,图形,徽标,链接等. 在体验编辑器中,您可以编辑当前项目的字段以及页面上呈现的任何项目的 ...
- 20155228 实验四 Android开发基础
20155228 实验四 Android开发基础 实验内容 1.基于Android Studio开发简单的Android应用并部署测试; 2.了解Android.组件.布局管理器的使用: 3.掌握An ...
- LoadRunner录制登录机票网址,并回放,加断言
回放录制登录过程脚本,加断言 在页面登录的过程如下: 1先进入http://127.0.0.1:1080/WebTours/index.htm 2之后获取userSession信息 3在输入信息后点击 ...
- webService入门理解
最近可能开始要搞关于远程接口调用的玩意儿,所以上网查了一些关于远程调用额东西,其中有很多写得很不错,我把其中的比较好的几个整理一下,整理到一块儿,变成个人的理解写出来. 关于所谓的webService ...
- [转载]基于UML的需求分析和系统设计(完整案例和UML图形演示)
小序: 从学生时代就接触到UML,几年的工作中也没少使用,各种图形的概念.图形的元素和属性,以及图形的画法都不能说不熟悉.但是怎样在实际中有效地使用UML使之发挥应有的作用,怎样捕捉用户心中的需求并转 ...
- makefile 双冒号规则
双冒号规则就是使用“::”代替普通规则的“:”得到的规则.当同一个文件作为多个规则的目标时,双冒号规则的处理和普通规则的处理过程完全不同(双冒号规则允许在多个规则中为同一个目标指定不同的重建目标的命令 ...
- 原生Ajax和jqueryAjax写法
原生写法: $('#send').click(function(){ //请求的5个阶段,对应readyState的值 //0: 未初始化,send方法未调用: //1: 正在发送请求,send方法已 ...