E:Eulerian Flight Tour 题意: 给你一张无向图,要你给这个图加边使得其形成一个欧拉回路 题解: 首先使得所有节点的度都为偶数,然后将这个图联通起来 对于度为奇数的点,将将他和他的父节点连接起来 连接完后如果这个图是联通的,那么就直接输出结果 如果这个图有多个联通块: 分类讨论: ...
分类:
其他好文 时间:
2019-03-31 09:18:58
阅读次数:
215
题目传送门 通过看题解画图可以发现: 不论怎么转,一列里的横边/一行里的竖边始终平行 当我们加固一个格子时,会让它所在的这一行的竖边和这一列的横边保证垂直 而我们的目标是求所有竖边和横边都保证垂直的方案数 把一行里的所有竖边看成一个点,把一列里的所有横边看成一个点。一共$n+m$个点 把图看成二分图 ...
分类:
移动开发 时间:
2019-03-20 19:03:28
阅读次数:
169
```cpp /* LCT管子题(说的就是你 水管局长) 首先能得到一个结论, 那就是当且仅当所有联通块都是偶数时存在构造方案 LCT动态加边, 维护最小生成联通块, 用set维护可以删除的边, 假如现在删除后不影响全都是偶数大小的性质 就删除 不清楚link为啥要makeroot两次 */ #in... ...
分类:
其他好文 时间:
2019-03-13 18:15:31
阅读次数:
176
求所有可能联通块的第k大值的和,考虑枚举这个值: $ans=\sum\limits_{i=1}^{W}{i\sum\limits_{S}{[i是第K大]}}$ 设cnt[i]为连通块中值>=i的个数 $ans=\sum\limits_{i=1}^{W}{i\sum\limits_{S}{[cnt[i ...
分类:
其他好文 时间:
2019-03-10 13:33:58
阅读次数:
192
题目传送门: "Vjudge" , "HDU" 题目大意: 给定一棵树,每个节点上有权值,定义一个树上联通块$S$的权值为$V_1\oplus V_2\oplus...\oplus V_k(\forall i\in S)$,问权值为$x(x\in[0,m)$的联通块个数 考虑dp,设$f[i][j] ...
分类:
其他好文 时间:
2019-02-26 13:25:53
阅读次数:
129
题目链接: "Weights on Vertices and Edges" 题目大意:有一个$n$个点$m$条边的无向图,点有点权,边有边权,问至少删去多少条边使得对于剩下的每一条边,它所在的联通块的点权值和大于等于该边的边权 其实是蛮简单的一道题目,为什么当时就自闭了呢。。。 正向删边明显不靠谱, ...
分类:
其他好文 时间:
2019-02-25 09:14:00
阅读次数:
173
这个题是tarjan裸题。最后bfs暴力找联通块就行。(一开始完全写错了竟然得了70分,题意都理解反了。。。这数据强度。。。) 题干: 代码: ...
分类:
其他好文 时间:
2019-02-24 11:04:10
阅读次数:
198
题面 按照*Miracle*的话来说,网上又多了一篇n^3暴力的题解 可能是因为很多猫上树问题虽然很好,但是正解性价比比较低? 我当时在考场上划水的时候手玩了5pts 直接做不可做,转化为统计贡献:$O(n)$枚举每个权值,直接统计第k大大于等于这个权值的联通块个数的和— —这样每个权值x恰会贡献x ...
分类:
其他好文 时间:
2019-02-20 17:19:42
阅读次数:
154
这个题其实算是个最短路计数,建图的直观思想很简单,但是很显然有一个地方没法处理,就是有的时候通过两条路走到同一个地方的话方案数会计算两次。我们发现加上原有的莲花就很难处理,会计算重复。我们要想办法避免这种情况,一开始想联通块,其实已经差不多了,就是把已经有的互相联通的看成一块,然后和水暴力连边,最后 ...
分类:
其他好文 时间:
2019-02-19 01:27:11
阅读次数:
161
题意 给定一个无向图,问删掉点i,图中相连的有序对数。(pair<x, y> , x != y);求每个点对应的答案 思路 首先我们可以发现,如果这个点不是割点,那么答案就是n-1,如果是割点,就要考虑子树中的联通块。可以用tarjan,O(n)的复杂度 #include <algorithm> # ...
分类:
其他好文 时间:
2019-02-14 23:42:04
阅读次数:
192