网络流
qcccc_
这个作者很懒,什么都没留下…
展开
-
P2766 最长不下降子序列问题
题目链接 本题的第一问贼好求,第二问看了题解后也好求,第三问就有点坑了,写了半天还是错的一直wa,后来发现是没有考虑最长不下降子序列是1的情况,我也是醉了,第一问不说,第二问网络流,把长度为1的dp值放在左边,dp值为len的放在右边,中间的线段按照dp值放 #include<iostream> #include<stdio.h> #include<math.h> #include<string.h> #include<string> #inc原创 2020-08-05 22:04:48 · 125 阅读 · 0 评论 -
P2770 航空路线问题
题目戳我 本题有一个套路,就是来回一个圈从a到b在到c可以看成从a到b和c,因为这题是网络流所以考虑建图,像这种网络流建图一个点只能通过一次的图,一般情况下都是要拆点的.然后拆点后就要考虑边的容量和cost的分布了,边的容量那么终点和起点都是2其他都是1,cost都为1,因为都是一个点,最后答案再减去2以为起点和终点都经过了两次。如果最后求得的流量是2,说明有两条路径,如果是1的话可能存在1直接到n这种情况,特判一下就好了,其余的都无法到达,具体看代码吧。 #include<iostream>原创 2020-08-05 16:37:10 · 646 阅读 · 0 评论 -
Going Home POJ - 2195
这个题目难点就是建图,其他啥也不是,套板子就完事了,体会一下这样建图就好了 #include<iostream> #include<stdio.h> #include<math.h> #include<string.h> #include<string> #include<vector> #include<queue> #include<algorithm> #include<deque> #in.原创 2020-07-23 09:17:34 · 84 阅读 · 0 评论 -
Dining POJ - 3281
这是一个网络流的题主要的思想的就是建图,拆点,把牛拆成两个点,因为如果不拆点的话就会出大问题,比如说下面这种情况 这种情况下如果用最大流写的话应该是三,但是实际上只有一只牛得到满足。拆完点后,就要想源点是那个汇点是哪个,乍一看有很多源点和汇点,所有食物都可以作一个源点,那么我们就设一个超级源点,链接所有食物,设一个超级汇点连接饮料,那么最后答案就是从超级源点到超级汇点跑一次模板最大流。 #include<iostream> #include<stdio.h> #include&l.原创 2020-07-22 20:25:52 · 91 阅读 · 0 评论