【基础练习】【拓扑排序】codevs3294 车站分级题解
题目来源:NOIP2013 普及第四题
一条单向的铁路线上,依次有编号为1, 2, …, n的n个火车站。每一个火车站都有一个级别,最低为1级。现有若干趟车次在这条线路上行驶。每一趟都满足例如以下要求:假设这趟车次停靠了火车站x。则始发站、终点站之间全部级别大于等于火车站x的都必须停靠。
(注意:起始站和终点站自然也算作事先已知须要停靠的网站)
比如,下表是5趟车次的执行情况。当中。前4趟车次均满足要求,而第5趟车次因为停靠了3号火车站(2级)却未停靠途经的6号火车站(亦为2级)而不满足要求。
现有m趟车次的执行情况(所有满足要求),试推算这n个火车站至少分为几个不同的级别。
第一行包括2个正整数n, m,用一个空格隔开。
第i+1行(1≤i≤m)中,首先是一个正整数s_i(2≤s_i≤n),表示第i趟车次有s_i个停靠站;接下来有s_i个正整数,表示全部停靠站的编号,从小到大排列。每两个数之间用一个空格隔开。输入保证全部的车次都满足要求。
输出仅仅有一行,包括一个正整数,即n个火车站最少划分的级别数。
[Sample 1]
9 2
4 1 3 5 6
3 3 5 6
[Sample 2]
9 3
4 1 3 5 6
3 3 5 6
3 1 5 9
[Sample 1]
2
[Sample 2]
3
对于20%的数据。1 ≤ n, m ≤ 10;
对于50%的数据,1 ≤ n, m ≤ 100。
对于100%的数据。1 ≤ n, m ≤ 1000。
这道题目李晨说一看就是拓扑 我看了半天没看出来看了别人说才想明确⊙﹏⊙b汗 羞愧啊
基本思路是 对于每条线路 他中间的点 没有经过的级别一定严格小于经过的级别 因此每一个没有经过的点指向每一个经过的点连接一条边 这样构建一张图 比較稠密 在拓扑排序就可以 拓扑排序出来几层就分几级
写的代码參考了黄学长的 因此基本一样 但第一次尝试全WA 由于ans=0放错了位置 改动后WA了一半 事实上原因在这里(错误的代码):
while (1)
{
int top=0;
for (int i=1;i<=n;i++)
{
if (!r[i])
{
r[i]=-1;
top++;
for (int j=1;j<=n;j++)
if (e[i][j])
{
e[i][j]=0;
r[j]--;//maybe it is 0 now! 这里有可能产生了新的入度为0的点。而这个点本应该是下一层排序出来的
}
}
}
if (!top) break;
ans++;
也就是说 不能找到一个点处理一个 应该存起来集中处理
那么放代码
————————————————无责任切割线————————————————
由于是准备NOIP,图论的专题基本就到此为止了,当然之后也会穿插一些练习。
Tarjan缩点没学会,李晨说不要学了,于是临时放下。LCA可能还是要看一下,有时间还要尝试线段树平衡树(斜角四十五度仰望天空……)
下一个模块开数学吧 欧拉函数 逆元 组合数 这些都要学的
不知不觉博客的诗句积累了好多···整理了一下真是惊人啊
六一快乐尽管已经过去了 高考加油 准备搬楼 文化课也要加油 努力考清华【= =
——已而得舟,避诸洲,出北海。然后渡扬子江。入苏州洋,辗转四明、天台。以至于永嘉。
【基础练习】【拓扑排序】codevs3294 车站分级题解的更多相关文章
- 洛谷P1983车站分级题解
题目 这个题非常毒瘤,只要还是体现在其思维难度上,因为要停留的车站的等级一定要大于不停留的车站的等级,因此我们可以从不停留的车站向停留的车站进行连边,然后从入度为0的点即不停留的点全都入队,然后拓扑排 ...
- 动态规划 洛谷P4017 最大食物链计数——图上动态规划 拓扑排序
洛谷P4017 最大食物链计数 这是洛谷一题普及/提高-的题目,也是我第一次做的一题 图上动态规划/拓扑排序 ,我认为这题是很好的学习拓扑排序的题目. 在这题中,我学到了几个名词,入度,出度,及没有环 ...
- LG1983 「NOIP2013」车站分级 拓扑排序
问题描述 LG1983 题解 考虑建立有向边\((a,b)\),代表\(a\)比\(b\)低级. 于是枚举每一辆车次经过的车站\(x \in [l,r]\),如果不是车辆停靠的车站,则从\(x\)向每 ...
- NOIp2013 车站分级 【拓扑排序】By cellur925
题目传送门 我们注意到,题目中说:如果这趟车次停靠了火车站 x,则始发站.终点站之间所有级别大于等于火车站x的都必须停靠.有阶级关系,满满的拓扑排序氛围.但是,如果我们按大于等于的关系连,等于的情况就 ...
- NOIP 车站分级 (luogu 1983 & codevs 3294 & vijos 1851) - 拓扑排序 - bitset
描述 一条单向的铁路线上,依次有编号为 1, 2, ..., n 的 n 个火车站.每个火车站都有一个级别,最低为 1 级.现有若干趟车次在这条线路上行驶,每一趟都满足如下要求:如果这趟车次停靠了火车 ...
- P1983 车站分级 思维+拓扑排序
很久以前的一道暑假集训的题,忘了补. 感觉就是思维建图,加拓扑排序. 未停靠的火车站,必然比停靠的火车站等级低,就可以以此来建边,此处注意用vis来维护一下,一个起点和终点只建立一条边,因为不这样的话 ...
- 算法与数据结构基础 - 拓扑排序(Topological Sort)
拓扑排序基础 拓扑排序用于解决有向无环图(DAG,Directed Acyclic Graph)按依赖关系排线性序列问题,直白地说解决这样的问题:有一组数据,其中一些数据依赖其他,问能否按依赖关系排序 ...
- 【题解】 [HNOI2015]菜肴制作 (拓扑排序)
题目描述 知名美食家小 A被邀请至ATM 大酒店,为其品评菜肴. ATM 酒店为小 A 准备了 N 道菜肴,酒店按照为菜肴预估的质量从高到低给予1到N的顺序编号,预估质量最高的菜肴编号为1. 由于菜肴 ...
- 洛谷 P3975 / loj 2102 [TJOI2015] 弦论 题解【后缀自动机】【拓扑排序】
后缀自动机入门. 题目描述 为了提高智商,ZJY 开始学习弦论. 这一天,她在<String theory>中看到了这样一道问题:对于一个给定的长度为 \(n\) 的字符串,求出它的第 \ ...
随机推荐
- <A>标签电子邮件链接
电子邮件链接 – 要链接电子邮件,可在链接标签中插入” mailto:邮箱地址” <A href="mailto:webmaster@sohu.com"> 站长信箱 & ...
- Easyui dialog Y轴滚动条定位
使用Easyui dialog进行数据新增的时候,如果Y轴方向有滚动条,当关闭之前的时候,将滚动条拉到最下方,再次打开的时候,滚动条还是定位在最下方. 需求: 每次打开的时候dialog Y轴滚动条定 ...
- Intel的AVX2指令集解读
原文链接:http://blog.csdn.net/vbskj/article/details/38408213 在Intel Sandy Bridge微架构中,Intel引入了256位SIMD扩展A ...
- html input type=file 选择图片,图片预览 纯html js实现图片预览
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- iOS:UICollectionView的扩展应用
一.介绍 CollectionView是iOS中一个非常重要的控件,它可以实现很多的炫酷的效果,例如轮播图.瀑布流.相册浏览等.其实它和TableView很相似,都是对cell进行复用,提高系统性能. ...
- Permutation Sequence leetcode java
题目: The set [1,2,3,…,n] contains a total of n! unique permutations. By listing and labeling all of t ...
- Spring Boot Maven 打包可执行Jar文件!
Maven pom.xml 必须包含 <packaging>jar</packaging> <build> <plugins> <plugin&g ...
- 用迁移学习创造的通用语言模型ULMFiT,达到了文本分类的最佳水平
https://www.jqr.com/article/000225 这篇文章的目的是帮助新手和外行人更好地了解我们新论文,我们的论文展示了如何用更少的数据自动将文本分类,同时精确度还比原来的方法高. ...
- ubuntu完全卸载apache2
最近刚接触ubuntu和apache,第一次配置就被apahce搞到完全崩溃,跟着网上的配置修改apache的charset和apache2.conf以后,开始出现访问http://localhost ...
- 转:Eclipse配色方案
http://www.cnblogs.com/arci/archive/2011/01/23/1942646.html 参考配色方案: http://www.cs.cmu.edu/~maverick/ ...