摘要: 传送门这道题应用了网络流,主要考的是怎么转化为网络流求解,重点是怎么建图。题意是给你一个n*m网格,每个格子可能有一个柱子,也可能没柱子,每个柱子上有一个最大跳出次数,用完了这个柱子就废了,每个柱子上可能有一个蜥蜴(也可能没有,但只能最多存在一个(不仅初始是... 阅读全文
posted @ 2019-03-14 21:06 CrossingOver 阅读(91) 评论(1) 推荐(1) 编辑
摘要: 传送门作业调度,这道题还真没想到能用网络流。。。。乍一看跟背包问题差不多。有N个作业,M个机器,每个作业给你一个耗费时间(时间段)以及最早开始时间和最晚完成时间(这两个是时间点),单位是天。一个作业同时只能被一个机器做,一个机器同时也只能做一个作业,但是,可... 阅读全文
posted @ 2019-03-13 23:47 CrossingOver 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 传送门基础网络流,这次使用一下dinic算法,BFS+DFSBFS负责找一个流量可行(仅关注当前边)的层次图,DFS在层次图基础上找增广路,而边上流量的更新在DFS的回溯过程中负责。上述过程重复直到汇点(sink)在BFS层次遍历后不可达。DFS有两种写法,... 阅读全文
posted @ 2019-03-10 22:19 CrossingOver 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 传送门无向图,给定起点终点,找一条点权极值相差最小的路,在此基础上找最短路。下面的代码思想是对差值进行二分,因为题目要求差值最小。差值最小是0,差值最大是输入的最大值减最小值。我们取某个差值作为限制条件,拿这个差值来限制最短路算法寻找下一个点的过程。我想到的... 阅读全文
posted @ 2019-03-09 00:18 CrossingOver 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 传送门这道题是典型的 带权并查集。思想很巧妙,关键是怎么处理已有的事实来确定当前话的真假,关键是怎么存储已有事实,答案存储是在一颗颗边带权的树里,树是有向边,每条有向边上的权值表示上下结点的关系(也就是这两只动物的关系,到底是一样?还是A吃B?还是B吃A?)... 阅读全文
posted @ 2019-03-07 20:22 CrossingOver 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 传送门网络流、最大流问题入门,基础的增广路算法(EK),首先定义一下该问题,主要是一个有向图,有两个特殊点-源点和汇点,每条边上有一个容量,在满足两个条件:为每条边输入一个流量,且流量小于等于容量以流量来计,源点只有出度,汇点只有入度,其他点入度等于出度的情... 阅读全文
posted @ 2018-06-04 16:53 CrossingOver 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 传送门这道题网上主要有两种方法,我都想了一遍,写点总结,我自己看。第一种是找到的一种好理解的方法,sex[a]=b相当于点a的原配是b,之后若出现a c,就把c和sex[a]=b合并,相当于情敌之间合并到一起,因为是情敌了,所以肯定是同性了,之后若有点对在同... 阅读全文
posted @ 2017-04-23 18:39 CrossingOver 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 传送门这个题借鉴了别人思想自己写的,题目大意是,给定图,保证每两点之间最多有一条直接相连的边,先给出原始图,然后Q次更新,每次增加某条边的权值,每次更新独立,求出本次的mst值,最后求平均。 所以问题就是根据每次更新以及原始mst求最新mst。两种情况, ... 阅读全文
posted @ 2017-04-18 21:41 CrossingOver 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 传送门这个题也是类似求比值最优的问题,应该不能简单贪心求解,就只好枚举喽。 A是某条边上两点的点权之和,B是在上述两点已经连通的情况下图的最小生成树的值。想让A/B最大。 枚举每条边,也就枚举了每种可能的A,有两种情况: - 该边 是 mst上的边,在这两... 阅读全文
posted @ 2017-04-10 23:28 CrossingOver 阅读(67) 评论(0) 推荐(0) 编辑
摘要: 传送门这题不会。还以为有什么方法能直接搞出来最小的ratio以及那些点,结果就是枚举,不过就算是枚举我也写不出来啊~ 主要的思想就是dfs选择m个点,而且更重要的是 不是中途选够了m个点就怎么样怎么样,而是必须搞到最后一层,这样select的值才完备了,所以... 阅读全文
posted @ 2017-04-10 16:22 CrossingOver 阅读(86) 评论(0) 推荐(0) 编辑