java 车站分级_LG1983 「NOIP2013」车站分级 拓扑排序

问题描述

题解

考虑建立有向边\((a,b)\),代表\(a\)比\(b\)低级。

于是枚举每一辆车次经过的车站\(x \in [l,r]\),如果不是车辆停靠的车站,则从\(x\)向每个停靠了的车站连边。

拓扑排序,建立分层图,搞出最大的层数即可。

\(\mathrm{Code}\)

#include

using namespace std;

template

void read(Tp &x){

x=0;char ch=1;int fh;

while(ch!='-'&&(ch'9')) ch=getchar();

if(ch=='-'){

fh=-1;ch=getchar();

}

else fh=1;

while(ch>='0'&&ch<='9'){

x=(x<<1)+(x<<3)+ch-'0';

ch=getchar();

}

x*=fh;

}

const int maxn=1007;

const int maxm=1000007;

int k,a[maxn],ina[maxn];

bool exist[maxn][maxn];

int n,m;

int Head[maxn],Next[maxm],to[maxm],tot=1;

int rd[maxn];

void add(int x,int y){

to[++tot]=y,Next[tot]=Head[x],Head[x]=tot;

}

int dep[maxn],ans=1;

void toposort(){

queueq;

for(int i=1;i<=n;i++){

if(!rd[i]){

q.push(i);dep[i]=1;

}

}

while(!q.empty()){

int x=q.front();q.pop();

for(int i=Head[x];i;i=Next[i]){

int y=to[i];--rd[y];

if(!rd[y]){

q.push(y);dep[y]=dep[x]+1;

ans=max(dep[y],ans);

}

}

}

}

int main(){

read(n);read(m);

for(int i=1;i<=m;i++){

read(k);memset(ina,0,sizeof(ina));

for(int j=1;j<=k;j++){

read(a[j]);ina[a[j]]=1;

}

for(int j=a[1];j<=a[k];j++){

if(ina[j]) continue;

for(int p=1;p<=k;p++){

if(!exist[j][a[p]]){

++rd[a[p]];add(j,a[p]);

exist[j][a[p]]=1;

}

}

}

}

toposort();

printf("%d\n",ans);

return 0;

}

luogu1983 车站分级 &lpar;拓扑排序&rpar;

对每趟车建一个虚点p,对于不停车的x,连边(x,p,1):对于停车的y,连边(p,y,0)有一条边(a,b,l)就是说b-a>=l由于题目保证一定能走,直接拓扑序dp算最大的就行了 #inclu ...

NOIP2013pj车站分级&lbrack;拓扑排序&rsqb;

题目描述 一条单向的铁路线上,依次有编号为 1, 2, …, n 的 n 个火车站.每个火车站都有一个级 别,最低为 1 级.现有若干趟车次在这条线路上行驶,每一趟都满足如下要求:如果这趟车 次停靠了 ...

noip车站分级 拓扑排序

题目传送门 这道题呢 每次输入一段数就把1~n里面没有在这组数里面的数和他们连一波 表示这些数比他们等级低 然后就搞一搞就好了哇 #include #include< ...

洛谷 P1983 车站分级 拓扑排序

Code: #include #include #include #include ...

P1983 车站分级&lbrack;拓扑&rsqb;

题目描述 一条单向的铁路线上,依次有编号为 1, 2, -, n1,2,-,n的 nn个火车站.每个火车站都有一个级别,最低为 11 级.现有若干趟车次在这条线路上行驶,每一趟都满足如下要求:如果这趟 ...

「NOIP2013」「LuoguP1967」货车运输(最大生成树 倍增 LCA

题目描述 AA国有nn座城市,编号从 11到nn,城市之间有 mm 条双向道路.每一条道路对车辆都有重量限制,简称限重.现在有 qq 辆货车在运输货物, 司机们想知道每辆车在不超过车辆限重的情况下,最 ...

loj2613 「NOIP2013」华容道&lbrack;最短路&rsqb;

感觉和以前做过的一个推箱子很像,都是可以用bfs解决的,而且都是手玩出结论. 因为起始棋子肯定是要和空格交换的,所以第一件事是先把空格移到棋子旁边.然后讨论怎么设计搜索状态.由于和推箱子实在太像了,所 ...

「NOIP2013」货车运输

传送门 Luogu 解题思路 首先 \(\text{Kruskal}\) 一下,构造出一棵森林. 并查集还要用来判断连通性. 倍增 \(\text{LCA}\) 的时候顺便维护一下路径最小值即可. 细 ...

「NOIP2013」华容道

传送门 Luogu 解题思路 预支一点东西: 这题其实有着更为思维的图模型,还十分考验码力,不简单啊 这居然是联赛题 讲正解: 显然我们对于一种合法方案,空格子肯定是一直围绕着特定棋子反复横跳的. 所 ...

随机推荐

CSS居中布局总结

居中布局

demo

清除SQL数据库的日志

ALTER DATABASE [Fuliu_Test] SET RECOVERY SIMPLEALTER DATABASE [Fuliu_Test] SET RECOVERY FULLDBCC SHR ...

DotNetBar&period;Bar控制Y顺序控制方向

DotNetBar.Bar控件Y方向上的顺序控制 老帅       控件DevComponents.DotNetBar.Bar是能够有多种用途的.能够作为容器,也能够作为工具条,不管做什么,在Y方向上 ...

Server in ASP&period;NET-Core

.NET-Core Series Server in ASP.NET-Core DI in ASP.NET-Core Routing in ASP.NET-Core Error Handling in ...

【HNOI2011】数学作业

分段矩乘即可 # include # include # include # include &lt ...

java 反射机制 观点

反射,当时经常听他们说,自己也看过一些资料,也可能在设计模式中使用过,但是感觉对它没有一个较深入的了解,这次重新学习了一下,感觉还行吧! 一,先看一下反射的概念: 主要是指程序可以访问,检测和修改它本 ...

Java下载文件的几种方式

转发自博客园Sunny的文章 1.以流的方式下载 public HttpServletResponse download(String path, HttpServletResponse respon ...

Centos下安装cassandra

一.环境准备 环境 Centos6.5  .安装有Java JDK(https://www.cnblogs.com/wt645631686/p/8267239.html这篇文章里有安装JDK1.8的教 ...

sql server 清理缓存

-1. 将当前数据库的全部脏页写入磁盘.“脏页”是已输入缓存区高速缓存且已修改但尚未写入磁盘的数据页. --   CHECKPOINT 可创建一个检查点,在该点保证全部脏页都已写入磁盘,从而在以后的恢 ...

【Java----判断字符串是否为有效的日期格式】

public static boolean isValidDate(String str) { boolean convertSuccess=true; // 指定日期格式为四位年/两位月份/两位日期 ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【优质项目推荐】 1、项目代码均经过严格本地测试,运行OK,确保功能稳定后才上传平台。可放心下载并立即投入使用,若遇到任何使用问题,随时欢迎私信反馈与沟通,博主会第一时间回复。 2、项目适用于计算机相关专业(如计科、信息安全、数据科学、人工智能、通信、物联网、自动化、电子信息等)的在校学生、专业教师,或企业员工,小白入门等都适用。 3、该项目不仅具有很高的学习借鉴价值,对于初学者来说,也是入门进阶的绝佳选择;当然也可以直接用于 毕设、课设、期末大作业或项目初期立项演示等。 3、开放创新:如果您有一定基础,且热爱探索钻研,可以在此代码基础上二次开发,进行修改、扩展,创造出属于自己的独特应用。 欢迎下载使用优质资源!欢迎借鉴使用,并欢迎学习交流,共同探索编程的无穷魅力! 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值