妈蛋这道普及组水(神)题搞了我很久。
一、
首先一个非常显然的事情就是每个火车告诉了站与站之间的等级关系,所以拓扑求最长路。
但是发现暴力建边的话最坏可以达到500*500,所以时间复杂度有 O(MN2)≈2.5∗108 ,常数相当小。。数据水成狗,所以绝对可以过的。
二、
所以我就想到了bitset,把每辆火车做成一个长N的布尔向量,经过为1,不经过为0,第一个车站的左边和最后一个车站的右边补1,。然后对于每个车站,把所有它所在的位为1的向量都&起来,然后扫一遍向量连边。
这样做的时间复杂度可以用long long模拟bitset的时间复杂度来估计,就是
[NOIP2013]车站分级 解题报告
最新推荐文章于 2024-04-30 00:44:50 发布