- 博客(3)
- 收藏
- 关注
原创 BZOJ4596 黑暗前的幻想乡 Matrix_Tree定理 容斥原理
题意:n个点的图其中每条边都有颜色且共有n-1种颜色,求一个生成树满足每种颜色的边出现且仅出现一次 Sol: 容斥全靠猜系列 答案=所有边生成树个数-少一种颜色生成树个数+少两个... 生成树个数用矩阵树定理算一下,注意符号 Code: #include typedef long long ll; using namespace std; const int maxn = 19; co
2017-08-15 20:20:08 435
原创 Codeforces53E Dead Ends Matrix_Tree定理 容斥原理
题意:给出一个n个点的无向图,求恰好有k个叶子的生成树个数 n Sol: 如果是完全图,n个点的带标号生成树个数为n^{n-2} 可以用矩阵树定理或者打表+oeis证明 那么在完全图上求恰好k个叶子的生成树就考虑容斥,钦定有几个点一定是叶子,剩下的点用公式算,每个钦定的叶子都可以接在非钦定的点下面,乘起来在乘个组合数就行,复杂度可以做到O(nlogn) log是快速幂的复杂度 现在给出图
2017-08-12 18:01:55 629
原创 Codeforces835E 二进制乱搞
题意:n个元素中有两个是特别的,"不特别的"元素都是x,"特别的"都是y,且x≠y,现在你可以最多询问最多19次找到特别的元素的位置 询问可以询问一个子集元素的异或和,n Sol: 第一次见到这种题呢,长见识了desu... 考虑如果只有一个怎么做,只要得到了一个子集的异或和就能知道特殊的是否在这个集合里,于是可以二进制分组然后确定每一位,需要操作logn次 两个怎么办呢,首先还是二进制
2017-08-01 19:48:11 1510
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人