摘要: NTT+组合数学 $把每个点分别按度数考虑,由于有标号,可以得出$ $ans=n*2^{(n-1)*(n-2)}*\sum_{i=1}^{n-1}{C(n-1,i)*i^{k}}$ $本质上是求\sum_{i=1}^{n}{C(n,i)*i^{k}}$ $组合数永远是一个比较好化简的东西,问题在于i 阅读全文
posted @ 2018-02-23 20:12 19992147 阅读(131) 评论(0) 推荐(0) 编辑
摘要: $分块$ $一个很有趣的技巧$ $在树上选sqrt(n)个关键点,每两个关键点之间的距离<=sqrt(n),每个关键点属于一条链$ $预处理出每两个关键点的bitset$ $每次询问就暴力向上爬,合并bitset$ $由于要查询,所以要手写bitset$ #include<bits/stdc++.h 阅读全文
posted @ 2018-02-23 14:36 19992147 阅读(103) 评论(0) 推荐(0) 编辑
摘要: $贪心$ $按左端点排序。$ $当我们钦定了最右的左端点,那么自然希望右端点尽量靠右$ $考虑之前的区间,那么我们相当于选之前的区间中第k大的右端点$ $堆维护一下就可以了,每次把新的元素放进堆,如果能更新就弹出旧的,否则弹出自己$ #include<cstdio> #include<cstring 阅读全文
posted @ 2018-02-23 14:27 19992147 阅读(82) 评论(0) 推荐(0) 编辑