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

浙公网安备 33010602011771号