摘要: 传送门最短路。很坑的是,这道题没说清楚是不是有向边(其实是无向边),而且还有起点和终点相同的数据。两年前我写的是一个map和一个vector来对地名和下标双向关联,但是现在发现没必要了,只用一个map用来查重就行了,如果让你输出地名之类的才可能需要双向关联。... 阅读全文
posted @ 2019-03-23 16:55 CrossingOver 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 传送门最短路,只不过有多个开始点和结束点,选一条从任意开始点到任意结束点最短的路。再额外建立一个虚拟开始点和虚拟结束点即可。#include #include #include #include using namespace std;const int I... 阅读全文
posted @ 2019-03-23 16:02 CrossingOver 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 传送门最短路,没有任何变形,还是中文题。#include #include #include #include #include using namespace std;const int INF = 1e9;const int MAXN = 105;int... 阅读全文
posted @ 2019-03-23 13:47 CrossingOver 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 传送门最短路。有一个奇怪的电梯,每个楼层有两个数,分别代表从这层坐电梯能往上跑几层或能往下跑几层,层数只在1~N之间生效。问你给定的两层作为出发和到达点,最少坐几次电梯能到。隐含的建图,图上的边的权值是1,代表坐一次电梯,边的两个端点代表两个层,注意是有向边... 阅读全文
posted @ 2019-03-23 13:36 CrossingOver 阅读(72) 评论(0) 推荐(0) 编辑
摘要: 传送门带权并查集。有N个块,刚开始,每个块自成一堆,下面进行P次操作或查询,操作是指把包含(编号为X的块)的堆整体摞到包含(编号为Y的块)的堆上;查询是指给定某个块编号,问你这个块下面压着几个块。因为在不停变化,这道题需要输入一个查询后立即输出一个结果。有点... 阅读全文
posted @ 2019-03-23 01:34 CrossingOver 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 传送门有N个人,M个星球,有一个N*M的矩阵,表示某个人是否可以去某个星球。问你这些人能不能全安排到这些星球上?做过了之前的几道题,这道题明显就是网络流了,但是,这道题考了缩点/状态压缩,因为N取值上限太大了,每个人都建一个点会超内存的,考虑M的上限很小(1... 阅读全文
posted @ 2019-03-21 23:17 CrossingOver 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 传送门带权并查集。有两个人,A先写一个数组(1~N),然后B在不看的前提下挑一个子序列,让A回答子序列的和,这么来M次,其中A会回答一些假话,但这些假话都是可以通过前面的话推断出来真假的那种假话,没法判别真假的话都是真话。问你这些话里面总共多少假话。首先,对... 阅读全文
posted @ 2019-03-21 00:15 CrossingOver 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 传送门带权并查集,和POJ 1182很像。一个圆形体育场,座椅也是圆形排列的,总共有300列,无穷多行,给你N个观众编号1~N,再给M个安排,每个安排是说B观众所在的列号等于A观众所在的列号加X(从A到B顺时针),如果某个安排与前面的安排冲突,那么这个安排就... 阅读全文
posted @ 2019-03-20 17:22 CrossingOver 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 传送门带权并查集。有N个龙珠和N个城市,刚开始是按照编号一一对应的,后来有些龙珠跑到别的城市去了。给你Q句话,分为事实和查询,事实是T A B : All the dragon balls which are in the same city with A ... 阅读全文
posted @ 2019-03-19 21:57 CrossingOver 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 传送门有N个顾客,每个顾客需要一些烤串,每个烤串的制作时间不同(一个顾客内是相同的),每个顾客有一个开始时间和截止时间,在小于等于截止时间的时候完成。这个老板可以最多同时烤M串,可以把一个串分为多个不连续的时间段来烤,甚至可以把一个串分为多个部分(根据时间划... 阅读全文
posted @ 2019-03-18 22:41 CrossingOver 阅读(92) 评论(0) 推荐(0) 编辑