随笔分类 -  具体问题 / 分块 / 根号分治

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

more_horiz
keyboard_arrow_up dark_mode palette
选择主题
点击右上角即可分享
微信分享提示