csp-s模拟46

T1:
考虑被n整除有什么特别之处(小啊)
统计前缀和,共n+1个,由鸽巢原理可知必有两个数模n同余,那么这段的和就一定被n整除

T2:
给好多种物品,排列使相邻物品不相同(很经典的问题吧)
结论:当且仅当任意种类物品个数不超过tot/2上取整时,可以满足条件
使用摩尔投票算法,看是否有超过一半的物品,若没有则都能看,否则尽量用其他物品隔开该物品。

T3:
多次异或求排名,考虑tire树
代价为排名(从0开始)的平方,考虑实际含义,表示枚举两个人(可以相同),这两个人都排在x之前则对x有1的贡献
考虑在tire树上dp,考虑当某位为1时,左右儿子交换,把平方拆开统计一下就行了。

猜你喜欢

转载自www.cnblogs.com/Gkeng/p/11790208.html