
图论
three trees
三木无林,却以成森
展开
-
codeforces 1217D 染色问题
题意现给n个点,m条有向边。给这个图涂色,要求一个环内存在两种颜色,如果无环,就一种颜色即可分析我们知道如果整个图无环,颜色数为1,若存在环,颜色数为2故最大颜色数为2剩下的就是涂色问题。我们可以dfs遍历,对于一条dfs链我们标记它,当跑到祖宗节点时,我们可以知道出现环,那么给这个边涂色为2,环上其他边涂色为1,回溯过程取消标记,因为一个点可以被多个环覆盖。#include <...原创 2019-10-15 20:12:48 · 256 阅读 · 0 评论 -
队列优化dijstra---板子
留个板子2019 南昌网络赛B#include <bits/stdc++.h>using namespace std;typedef long long ll;typedef unsigned long long ull;const int V = 1000 + 100;const int E = V * V / 2;struct node { int nex...原创 2019-09-09 19:18:23 · 121 阅读 · 0 评论 -
codeforces 156D Clues Prufer序列+凯莱定理
题意现有n个点,m条边,模数为k,现在要让每个联通块相连组成生成树,并且两两联通块之间只用一条边相连。分析由Prufer序列我们可以知道,一个[1,n−2][1,n-2][1,n−2]排列,对应一个n个点的无根树所以,n个点组成的无根树有:nn−2n^{n-2}nn−2个然后分析本题。现有n个点,m条边,假设其联通块数量为dd,我们将联通块当成一个整体,生成树方案有:ndd−2n^{dd...原创 2019-10-10 21:01:22 · 1006 阅读 · 0 评论