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

20210623

时间:2021-06-24 18:33:40      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:使用   思想   出现   span   大于   个人   转移   分治思想   i+1   

T1

使用根号分治思想,发现我们有一种方法可以快速更新答案,考虑我们新选中一种颜色,找这种颜色相邻的位置有多少个位置的颜色是被选中的,然后再减去被选中颜色出现的次数,即为这次修改操作对于答案的贡献,删除颜色同理可得。

那么我们将出现次数大于 \(\sqrt n\) 的元素拿出来预处理两两相邻对数。

每次询问时,如果出现次数少,则枚举出现位置暴力更新,否则的话枚举出现次数多的元素进行更新。

T2

对于每一盏灯,将它排序,发现非零部分的排序一定是正确的,那么可以进行连边,边权是相邻的差值。可以发现环的权值和即为答案。

T3

设 dp[i][j] 表示在第 i 个房间最多只有 j 个人。

对于dp[i][j]

如果 \(j < a[i]\) ,将 dp[i][j] 转移到 dp[i+1][0...b[i]]。

如果 \(a[i] \leq j < a[i]+b[i]\) ,将 dp[i][j] 转移到 dp[i+1][j-a[i]]。

如果 \(j \geq a[i]+b[i]\) 则转移到 dp[i+1][j]。

20210623

标签:使用   思想   出现   span   大于   个人   转移   分治思想   i+1   

原文地址:https://www.cnblogs.com/nao-nao/p/14926876.html

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