1737:见前2篇随笔。

1677:题意:给定一个n节点树,一个整数k,n个节点任意选k个出来,对于每一种选择方案,ans累加上使这k个点联通的最小边数,输出ans%1e9+7。

一句话题解:考虑每一条边被选中的次数为C(n,k)-C(a,k)-C(b,k),其中a,b为这条边两头的节点个数,预处理阶乘逆元即可。

1674:题意:给定n个数的序列,对于每个区间,定义区间价值为或和*与和,求所有区间的价值之和。

一句话题解:维护一个队列(这里只说或和怎么做,与和同理),逐步往队列里加元素,维护队列或和断点的地方,断点最多有32个,算上与和最多64个断点,最后分别计算每一段就好了,时间复杂度O(32*N);

1491:题意:给定一个01字符串,定义运算为$ \sum\nolimits_{i = 0}^{\rm{n}} {{a_i} * {q^{n - i}}} $,其中p为$ \frac{{\sqrt 5  + 1}}{2} $,给定两个字符串,比较它们的运算后大小。

一句话题解:易证,一个高位等于后面第一位加上后面第二位,挨个进位(这有个坑,进完了之后有可能会有10101010...1011,这显然可以接着在进,所以还要倒着推上去一次),然后去掉前导零比较就好了。复杂度O(N);

1686:题意:定义区间价值为众数的个数,求第K大的区间价值。

一句话题解:离散化后开始二分答案,看当前答案是否排在K之后,具体判断就是枚举区间左端点找最近右端点然后统计。

ni=0ai