前面已经简单的介绍了vector和 pair,目的就是这一章,那就是利用二者去存一些正常的二维数组存不了的图。例如点的个数大于5000的时候,你再用二维数组去存的话,根本不行的,因为内存不允许,这个时候就轮到vector出马了。
我们可以定义一个这样的vector:
vector<pair<int,int> > A[maxn];假如有一个1这个点到2这个点的边,且长度为10,我们便可以把这条边给存储才来,记成:vector<pair<2,10> > A[1],这样我们就把这样的一条边给存储了才来。
下面我们给一道题:牛客上面的一道题。
链接:https://www.nowcoder.com/acm/contest/181/D
来源:牛客网
小叶的巡查
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 65536K,其他语言131072K
64bit IO Format: %lld题目描述
8102年,牛客系列竞赛空前繁荣。为了更好地管理竞赛,小叶决定巡查于各大城市之间,体察民情。所以,从一个城市马不停蹄地到另一个城市成了小叶最常做的事情。小叶有一个钱袋,用于存放往来城市间的路费。
这个国家有一套优秀的交通方案,使得任何一个大城市都能从首都直接或者通过其他大城市间接到达。同时,如果不重复经过大城市,从首都到达每个大城市的方案都是唯一的。
如果不在某个城市停