码迷,mamicode.com
首页 > 其他好文 > 详细

csp-s模拟46

时间:2019-11-04 09:54:12      阅读:91      评论:0      收藏:0      [点我收藏+]

标签:一半   问题   超过一半   n+1   排名   同余   异或   多次   枚举   

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

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

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

csp-s模拟46

标签:一半   问题   超过一半   n+1   排名   同余   异或   多次   枚举   

原文地址:https://www.cnblogs.com/Gkeng/p/11790208.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!