随笔分类 - 图论-基础
摘要:题意给一棵n(1≤n≤200000)个叶子的二叉树,可以交换每个点的左右子树,要求前序遍历叶子的逆序对最少。 分析可以发现如果交换非叶结点的左右子树,对子树内的交换无影响,对子树外的交换也无影响,所以答案的贡献只是左子树与右子树之间是否交换得到的最小的逆序对数。 题解考虑分治,...
阅读全文
摘要:A.题意:给一个有向图无环连通图,求添加一条边X->Y后有向生成树的方案数。(nusing namespace std;typedef long long ll;const int N=100005, mo=1000000007;int ihead[N], cnt, n, m, X, Y;struc...
阅读全文
摘要:https://vijos.org/p/1790好神的贪心题。。一开始我也想到了贪心,但是是错的。。sad就是因为每一个节点的编号与逆图的子树有关,且编号一定是>=子树的儿子+1的。但是想了想很快发现不可做。。因为这种dfs牵扯到的东西太多了。然后我想到这些约束是不是和差分约束有关,然后就脑补,可是...
阅读全文
摘要:http://poj.org/problem?id=1094原来拓扑序可以这样做,原来一直sb的用白书上说的dfs。。。。。。。。。。。。拓扑序只要每次将入度为0的点加入栈,然后每次拓展维护入度即可。。我是个大sb,这种水题调了一早上。。#include #include #include #inc...
阅读全文
摘要:upd:原来很sb,搞拓扑不用bfs用嘛dfs。。之前很傻,,感觉看不到拓扑是啥东西。。脑子太烂了吧。。。今晚上瞄了一眼就懂了。。我就放代码上来就行了。。注释也不打了,,因为太简单了。#include #include using namespace std;#define CC(i) memset...
阅读全文