前置知识 网络流 一些常见的定义: 容量:每条边都有一个容量(水管的最大水流容量) 源点:出发点(水厂)。 汇点:结束点(废水站)。 流:一个合法解称作一个流,也就是一条可以从源点到汇点的一条合法路径。 流量:每条边各自被经过的次数称作其流量,最终收集的总数为整个流的流量。 Dinic (n^2*m ...
分类:
其他好文 时间:
2020-07-03 21:38:27
阅读次数:
51
总结 状压DP就是将一个状态压缩为一个整数(通常为二进制数),就可以在更为方便地进行状态转移的同时,达到节约空间的目的。 题型一、冲突问题 1.1 特殊方格棋盘 题目描述 分析 我们设f[i][j]为当前的状态为$i$,放置到第$j$行时的方案数 但是,因为我们要在$n \times n$的棋盘上放 ...
分类:
其他好文 时间:
2020-07-03 19:14:23
阅读次数:
54
参考:https://www.luogu.com.cn/blog/RPdreamer/p2051 #include<map> #include<queue> #include<time.h> #include<limits.h> #include<cmath> #include<ostream> # ...
分类:
其他好文 时间:
2020-07-03 14:05:54
阅读次数:
57
A - Detachment 题目:http://acm.hdu.edu.cn/showproblem.php?pid=5976 题解:这道题思路为:数学规律+逆元 这里有一个结论,对于一个数把他拆成从2开始的连续的数,最后得到的成绩是最大的,所以我们可以先预处理一下前缀和包括乘积后的结果。不过对于 ...
分类:
其他好文 时间:
2020-07-01 20:13:06
阅读次数:
65
Marriage Match IV 思路:属于最短路径上的边应该满足:dis_A[u] + dis_B[v] + w == dis_A[B],dis_A是出发点到其他点的距离,dis_B是终点到其他点的距离,u,v是边的两个端点,w是权值。题目说每条边只能用一次,我们可以用最大流算法来求最短路径有几 ...
分类:
其他好文 时间:
2020-07-01 17:23:25
阅读次数:
54
题目描述: 方法:动态规划+状态压缩 class Solution: def minNumberOfSemesters(self, n: int, dependencies: List[List[int]], k: int) -> int: dep = {} # 记录依赖于某节点的节点列表 for ...
分类:
其他好文 时间:
2020-07-01 09:44:49
阅读次数:
90
传送门 就是简单的ST表问题+ LCA,用ST表预处理好连续区间的LCA,然后进行查询 注意HDU是多组输入,把相应的值清零即可。 LCA采用倍增法,lg是常数优化。 ST表用模板,维护$[i,i + 2^j - 1]$这个区间的LCA 时间复杂度为预处理$O(nlogn)$ 查询$O(mlogn) ...
分类:
其他好文 时间:
2020-06-27 09:32:26
阅读次数:
54
题目传送门 分析: 费用流,然而不会优化,在线膜拜大佬的博客OrzOrzOrz #include<cstdio> #include<cmath> #include<cstring> #include<algorithm> #include<vector> #include<queue> #defin ...
分类:
其他好文 时间:
2020-06-26 16:28:00
阅读次数:
54
裸题:https://ac.nowcoder.com/acm/contest/5929/B #include<bits/stdc++.h> using namespace std; typedef long long ll; const int inf = 0x3f3f3f3f; int n; st ...
分类:
其他好文 时间:
2020-06-26 16:23:42
阅读次数:
104
题目传送门 分析: 一道破题调一天。。。 小学数三角形题做不来,我被开除人籍了QAQ 像这样处理一下(其实代码中可以不用这样处理,只是方便理解) 我们先想一下如何求这种形状$△$,向下的三角形类似处理就好了 我们可以边做边处理每个点向左,向上,向右上延伸的最长距离 每一行单独处理 一个点$(x,y) ...
分类:
其他好文 时间:
2020-06-26 13:04:05
阅读次数:
65