摘要: 嘟嘟嘟 这种计数大题就留给南方的计数神仙们做吧…… 刚开始我一直想枚举点,考虑新加一个点在根节点的左右子树,以及左右子树大小怎么分配,但是这样太难计算新的点带来的贡献了。 后来lba又提示我枚举边,考虑每一条边的贡献。 这确实是一个好主意,枚举边的同时考虑边两侧的点数,但可怕的是我一直把他当成无根树 阅读全文
posted @ 2019-03-27 23:16 mrclr 阅读(158) 评论(0) 推荐(0) 编辑
摘要: "嘟嘟嘟" 先看了一遍lucas,还是只能拿50分(~~似乎已经满足了~~)。 正解当然还是看某个大佬的啦。 我们要求的就是 $$f(n, k) = \sum _ {i = 0} ^ {k} C _ {n} ^ {i} \% p$$ 然后根据lucas定理,就开始~~愉快~~的推式子了…… $$ \ 阅读全文
posted @ 2019-03-27 17:58 mrclr 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 这题其实就是一个线段树维护最大连续和的水题。 别的操作不说,操作1只要二分找区间前$k$个0即可。 需要注意的是,因为操作1两区间可能有交,因此要先清空再二分查询…… 复杂度$O(n log ^ 2 n)$。 #include<cstdio> #include<iostream> #incl 阅读全文
posted @ 2019-03-27 14:06 mrclr 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 这题就比较水了,毕竟只评了个蓝。 想一下发现满足单调性,所以可以二分找最大值。 但是最小值怎么办?刚开始我很zz的以为只要把判断条件从大于等于改成小于等于就行了,后来发现根本不对。 想了想因为最小值和最大值之间一定是一段答案为$k$的区间,所以可以二分找最小值:如果当前答案不等于$m$,就向 阅读全文
posted @ 2019-03-27 07:22 mrclr 阅读(168) 评论(0) 推荐(0) 编辑