洛谷P1137 旅行计划
来源:互联网 发布:浪潮大数据解决方案 编辑:程序博客网 时间:2024/05/19 02:18
拓扑排序 DP
题目传送门
首先进行拓扑排序,然后按照拓扑序进行DP
对于每个点,更新它指向点的DP值。即
代码:
#include<cstdio>#include<cstring>#include<algorithm>#define MAXN 100000#define MAXM 200000using namespace std;struct edge{ int next,to;}ed[MAXM+5];int n,m,k,t;int h[MAXN+5],f[MAXN+5],tp[MAXN],in[MAXN+5];inline char readc(){ static char buf[100000],*l=buf,*r=buf; if (l==r) r=(l=buf)+fread(buf,1,100000,stdin); if (l==r) return EOF; return *l++;}inline int _read(){ int num=0; char ch=readc(); while (ch<'0'||ch>'9') ch=readc(); while (ch>='0'&&ch<='9') { num=num*10+ch-48; ch=readc(); } return num;}inline void _write(int x){ static int buf[20],len=0; do{ buf[len++]=x%10; x/=10; } while (x); while (len) putchar(buf[--len]+48); putchar('\n');}void Tp(){ int que[MAXM],r=0,w=0; for (int i=1;i<=n;i++) if (!in[i]) que[++w]=i,tp[++t]=i; while (r<w){ int x=que[++r]; for (int i=h[x];i;i=ed[i].next){ in[ed[i].to]--; if (!in[ed[i].to]) que[++w]=ed[i].to,tp[++t]=ed[i].to; } }}void addedge(int x,int y){ ed[++k].next=h[x]; ed[k].to=y; h[x]=k;}int main(){ scanf("%d%d",&n,&m); for (int i=1;i<=m;i++){ int u=_read(),v=_read(); addedge(u,v); in[v]++; } Tp(); for (int i=1;i<=n;i++) for (int j=h[tp[i]];j;j=ed[j].next) f[ed[j].to]=max(f[tp[i]]+1,f[ed[j].to]); for (int i=1;i<=n;i++) _write(f[i]+1); return 0;}
阅读全文
1 0
- 洛谷 P1137 旅行计划
- 洛谷P1137 旅行计划
- 洛谷 P1137 旅行计划
- 洛谷 P1137 旅行计划
- 洛谷P1137 旅行计划
- 洛谷 P1137 旅行计划
- 洛谷P1137 旅行计划
- 洛谷P1137 旅行计划
- P1137 旅行计划
- P1137 旅行计划
- P1137 旅行计划--拓扑排序
- 洛谷P1137 旅行计划(拓扑排序+dp)
- 【洛谷 P1137】旅行计划——spfa拓展
- 洛谷1137 旅行计划
- 洛谷 p1137 topsort正解的证明
- 西安旅行计划
- C++ P0002 旅行计划
- 【SDOI2015】【BZOJ4086】旅行计划travel
- Java如何使用正则表达式。
- 学习如何使用Mybatis-generator 自动生成java代码以及Mapper文件
- Migrate to Android Plugin for Gradle 3.0.0
- 一个简单好用的下拉刷新、上拉加载控件
- StreamTokenizer的使用
- 洛谷P1137 旅行计划
- 云栖大会100位顶级大咖演讲PPT+视频全分享!
- 福利丨网友授课视频分享:机器学习实战-KNN-第一部分
- 科普丨深度学习 vs 概率图模型 vs 逻辑学
- 现场丨2017中国计算机大会(CNCC2017)之李飞飞演讲:ImageNet之后,计算机视觉何去何从?
- 展望丨人工智能:中国或成领跑者
- 现场丨2017中国计算机大会(CNCC2017)之沈向洋演讲:自然语言中的描述、对话和隐喻
- android studio中如何申请百度地图新版Key中SHA1值
- 干货丨2017年含金量最高的机器学习技能或知识有哪些?