因为下午改题改自闭了,晚上防止低迷,去luogu上面找了水题做了
下附题解
超级钢琴
考虑 (ST) 表维护前缀和的区间最值
结构体里面的 (operator)有点技巧处理一下就行了
种树
按照 (ctsc2005) 某道堆贪心的构造方法进行带悔贪心的构造即可
感觉这种构造都挺厉害的吧
这题目的构造是把 (nxt) 和 (pre) 的权值换掉当前坑的权值
当然有 (wqs) 二分的做法
考虑这东西肯定是凸函数,同时这个限制的是坑
所以 (check) 的时候考虑每加上坑就剪掉附加值即可
最后要注意 (1) 坑和 (n) 坑的重复
可以多加上一维或者直接做两次 (dp)
附上 (hs\_black) 名言 : 种树要浇忘情水
世界冰球锦标赛
折半搜索,甚至直接二分就行了
CF888E Maximum Subsequence
折半搜索之后考虑 (mod) 最大的可能情况
其一是 (modle val< 2mod)
这里直接取 (a[c_1]+b[c_2])
反之维护单调指针找到加起来小于 (mod) 的最大的一个即可
有点意思诶
xjoiT3染色
(sto skyh orz)
比赛的时候去改昨晚的题目了,没打
首先这题目可以写出来 (O(n^3)) 的 (dp)
然后有这个式子
[sum_{a+b+c=n} frac{n!}{a!b!c!} 2^{ab+bc+ac}
]
理解就是 (n) 个点然后分出来颜色,不同颜色之间可以有连边
(比赛的时候看了一眼题目还看错了,以后审题要细致一些)
那么容斥一下不难得到
[sum_{a+b+c=n} frac{n!}{a!b!c!} 2^{frac{n(n-1)}2 -frac{a(a-1)}2-frac{b(b-1)}2-frac{c(c-1)}2}
]
提出来公因项直接生成函数即可
真的好久没有写 (ntt) 了,所以去写了一下