摘要:
进出栈方案数问题 让n个数字依次进栈,求不同的出栈序列的种类个数。 首先可以对问题进行一个转化,脱去数字本身的特性,单纯将出栈序列的序列看成是由进栈和出栈两种操作来构成的序列,其中我们可以令1代表入栈,0代表出栈。 而当出栈序列是非法的时候,就是在说栈为空时,仍然进行出栈操作,换成01串进行理解,也 阅读全文
摘要:
#【网络流】最大流等于最小割 将网络流想象成是一张地下水管道的管道图。 而所有的在管道中流淌的水是起源同一个点,称这个点为源点,而这些水最终都会汇聚于同一点,这个点被称为汇点。 而每条管道都会有一个容量上限,而这个容量是必然会大于或等于(满载)流经这条管道的实际流量的(就好像杯子只能装不超过杯子容量 阅读全文
摘要:
【网络流】对于拆点的一点思考 如果在这张图中跑网络流,会发现其最大流为2。 而不妨思考一下点C在这张图中扮演的角色。 它好像就是一个很普通的中转站,但这个中转站可以使用无限次,以至于可以服务两条流的经过。 而一旦点C是一个一次性的中转站呢,那该怎么办呢? 有一种很奇妙的做法,它就是拆点。 我们可以将 阅读全文
摘要:
【PTA】最小堆 最小堆,是一种经过排序的完全二叉树,其中任一非终端节点的数据值均不大于其左子节点和右子节点的值。 也就是位于堆顶的元素是整棵完全二叉树中数据值最小的。 操作 将一棵完全二叉树转换成堆 注意,在这种写法下,根节点的编号是0,对于任意一个结点,它的编号为x,其所对应的左儿子结点的编号为 阅读全文
摘要:
【拓扑排序】【好题】E. Directing Edges 传送门 ##题意 给你一些点和边,边中既有有向边和无向边,求通过对所有无向边赋予方向后,这张图是否能构成一张有向无环图(DAG)。 思路分析 由于没有办法更改已经形成的有向边的方向,所以如果图中的有向边已经形成了环,那么就很明确的无法构成一张 阅读全文
摘要:
【CF】【Dijkstra】E. Buy and Delete 题目传送门 两个任务,一个是要跑出最短路,其二是在跑出最短路的时候,将所有边权进行一次汇总,要求在所有的最短路中,这生成的最短路的边权和是最小的。 设蓝球为起点,蓝球可以通过两条相等的路到达绿球,但为了使得总路径最小,要选择有经过蓝色边 阅读全文
摘要:
##【图论+二分答案】【二分dij】340. 通信线路 题意: 设置一个关于边权的阈值,选择一条从起点到终点的路径,这条路径上的每一条边都有一个边权,这条路径可以最多选择k条路径来进行关闭边权的操作,使得这些边权最终没有统计到路径的和中,从而求一个这样子最小的和。 从贪心的角度: 首先要选择不重复走 阅读全文
摘要:
【tarjan】【树的直径】【CF】K. Königsberg Bridges 题目传送门 #include <bits/stdc++.h> #define MEM(a,x) memset(a,x,sizeof(a)) #define W(a) while(a) #define gcd(a,b) _ 阅读全文
摘要:
#【组合数学】【组合恒等式】简单和、交错和 铺垫——二项式定理 \((x+y)^n=\sum_{k=0}^n C_{n}^{k}x^{k}y^{n-k}\) 简单和——\(\sum_{k=0}^{n}C_n^{k}=2^{n}\) 我们可以引入二项式定理,并将定理中的x和y都置为1,由此可以得出简单 阅读全文
摘要:
#【组合恒等式】\(\sum_{k=0}^{r}C_m^k \times C_{n}^{r-k}=C_{m+n}^r\) ##问题模型: P舞团将从M舞团和N舞团共选拔出r个人来加入到P舞团,求问一共有多少种选法? ##思路一: 在M中选x人,那么就在N中选r-x人最终只需对所有情况取个西格玛,即$ 阅读全文