随笔分类 - 具体问题 / 分块 / 根号分治
摘要:思路 题意 每次操作一种颜色使其翻转, 求极长亮灯区间个数 首先进行简单转化, 不难发现相邻的同颜色灯泡是没什么意义的, 因此进行缩点 现在变成了这样一种形式 不难发现极大亮灯区间的计算方式 假设当前有 个亮着的灯, 其中有 条边连接了两个两者的灯 因为先前的缩点,
阅读全文
摘要:前言 更重要的是研究这题的部分分, 赛时居然可以做到 没有拿到任何一个特殊性质 发现以前一直用的大标题很碍眼, 改了, 下课把之前的格式也改一下 思路 暴力 容易模拟, 做到 特殊性质 思路 你发现每一个区间都是其后面区间的前缀
阅读全文
摘要:前言 讲还是要多听, 这个很重要啊 思路 赛时的思路不太正确啊 容易想到树形 , 考虑令 表示对于 子树, 拆分出一块包含 的大小为 的连通块的方案数 考虑转移, 类似树上背包 \[f_{u, k} \gets \
阅读全文
摘要:前言 找原题未遂了() 大佬讲了没听懂啊 思路 无敌了, 看起来似乎很困难, 不知道补不补的掉 首先发现不好处理成一种简单的问题, 肯定是想有哪些方法可以处理这种问题 的不太看得懂 你可以树状数组维护区间和, 每次对于一个环暴力修改 \(\math
阅读全文
摘要:前言 赛时联想到了讲的一道题认为不可以使用数位 , 但是那道题实际上形式上跟这个题不同, 所以其实是可以用的 思路 首先我们用数位 可以简单地解决选择数字的问题, 套路的用 可以解决统计答案的问题,
阅读全文
摘要:算法 考虑求小于给定值的数的个数,可以给每个块再维护一个已经排好序的数组,整块加法对于这个块排好序的数组没有影响,零散块加法直接在原序列上加,再将零散块所处的整块从新排序。查询时零散块暴力查找,整块二分查找 代码 #include <bits/stdc++.h> #define int long l
阅读全文
摘要:题面 题目下载 算法 考虑当 确定的时候如何求答案, 显然对于所有形如 的值域区间, 最大值一定是最优的 似乎怎么都是 的算法 观察到 的值域比较小, 所以考虑桶 显然对于一段区间 我们可以推出
阅读全文