首页 > TAG信息列表 > P1983
洛谷P1983 [NOIP2013 普及组] 车站分级
P1983 [NOIP2013 普及组] 车站分级 想了个nt优化怎么也觉得不对但是过了最后发现自己根本每加优化/px 每次列车停靠的车站都有可能是同一级,每次停靠的车站向没停靠的车站连有向边,然后拓扑排序即可 问题在于暴力建边复杂度为\(O(mn^2)\) 每辆车建一个虚点,停靠的站指向虚点,虚点指向P1983 [NOIP2013 普及组] 车站分级
原题链接 考察:拓扑排序 思路: 等级低与等级高之间建立边.比如区间[1,6]之间停靠了(1,3,5,6).那么在(1,3,5,6)与(2,4)之间两两间加一条边.最后拓扑排序即可. 但是这样会TLE.时间复杂度O(109),空间复杂度极限O(500*500*1000).需要进一步优化. 但是注意初始化等级时,虚luogu P1983 [NOIP2013 普及组] 车站分级
添加链接描述 #include<bits/stdc++.h> using namespace std; const int N=1e6+10;//我还是小瞧了1000*1000的点可以构成的边0.0 int n,m; int e[N],ne[N],h[N],idx,d[N]; void add(int a,int b) { e[idx]=b,ne[idx]=h[a],h[a]=idx++; d[b]++; } int step[N],mx=0; iP1983 [NOIP2013 普及组] 车站分级
一开始想着记录一下每个站点的level,根据给出的关系进行调整,后来发现这种方法实际上稍微复杂一点的情况都解决不了,因为这里的关系是有连带的,处理A关系后可能破坏了B关系. 对于每一行数据,以"4 1 3 5 6"为例,它可以独立地表示这样的关系: 1,3,5,6站等级均高于2,4站,即在起点P1983 车站分级
题目链接 题目描述 方法: topo 每趟列车,没有停靠的车站(u)的等级必然小于停靠车站(v)的等级,所以u,v连边,拓扑排序算level。 Code: #include <bits/stdc++.h> # define LL long long using namespace std; const int maxn=1000+10; int n,m; int visited[maxn]; intP1983-车站分级
1 #include <bits/stdc++.h> 2 using namespace std; 3 #define pb push_back 4 #define _for(i,a,b) for(int i = (a);i < (b);i ++) 5 #define INF 100000003 6 #define ll long long 7 inline ll read() 8 { 9 ll ans = 0;10 char ch = getchar(), lastP1983 车站分级[拓扑]
题目描述 一条单向的铁路线上,依次有编号为 1, 2, …, n1,2,…,n的 nn个火车站。每个火车站都有一个级别,最低为 11 级。现有若干趟车次在这条线路上行驶,每一趟都满足如下要求:如果这趟车次停靠了火车站 xx,则始发站、终点站之间所有级别大于等于火车站xx 的都必须停靠。(注意:起始站和P1983 车站分级
题面:https://www.luogu.org/problem/P1983 首先我们来谈一谈邻接表+dfs: 假设有一辆车经过三个车站ai,aj,ak(ai,aj,ak车站编号递增) 那么在ai,aj之间的a(i+1),a(i+2),.......,a(j-1)的级别一定是严格小于ai和aj的级别的 同理,在aj,ak之间的a(j+1),a(j+2),.......,a(k-1)的级别也【洛谷p1983】车站分级
日常题前废话: 真的感觉估计图论题的边数是个unbelievable的玄学操作啊qwq 然后去翻白书:一个n阶的完全无向图含有n*(n-1)/2条边,一个n阶的完全有向图含有n*(n-1)条边。(这里阶好像是点数???) 就是因为没估计好边数,然后wa了好几次emmm 然后这道题用到拓扑排序,因此然后所以 你看这个博客它又洛谷P1983 车站分级
题目描述 一条单向的铁路线上,依次有编号为 1, 2, …, n 1,2,…,n的 n n个火车站。每个火车站都有一个级别,最低为 11 级。现有若干趟车次在这条线路上行驶,每一趟都满足如下要求:如果这趟车次停靠了火车站 xx,则始发站、终点站之间所有级别大于等于火车站 xx 的都必须停靠。(注意:起始站P1983-车站分级【图论,记忆化dfs,构图】
正题 题目链接:https://www.luogu.org/problemnew/show/P1983 题目大意 一个辆车会一个一个值xxx,如果等级大于等于xxx的车站都会停靠(包括起点和终点)。给每辆车的停靠点,求至少要将车站分多少级。 解题思路 对于一辆车,若一个点他经过了却没有停靠,那么这个点比所有的停靠点的