W
e
l
c
o
m
e
: )

随笔分类 -  题解

摘要:分享一个 \(O(nm\log m)\) 的方法。 分析 考虑每次在 \(x\) 轴上固定左端点,然后移动 \(x\) 轴上的右端点,并统计答案。 考虑如何统计一个 \(1\times n\) 的区域的贡献。 显然长度为 \(i\) 的区间有 \(n-i+1\) 个,所以贡献即为: \[\begin 阅读全文
posted @ 2024-10-29 19:00 Jimmy-LEEE 阅读(16) 评论(0) 推荐(0)
摘要:题意 定义两个整数 \(A,B\) 之间的距离为这两个整数所有对应位上的数的差的绝对值之和,记为 \(\operatorname{dist}(A,B)\)。特别地,如果 \(A,B\) 两数的位数不相同,则在位数较小的数前补足前导 \(0\)。 现在,给定两个整数 \(L,R\),请你求出所有在区间 阅读全文
posted @ 2024-10-29 19:00 Jimmy-LEEE 阅读(7) 评论(0) 推荐(0)
摘要:分析 考虑贪心,每次尽量选最小的字符。 显然是每次选字典序最小的弹栈。 我们要比较的是每个栈的字典序,但是朴素比较是 \(O(L)\) 的,考虑将它优化到 \(O(1)\)。 这个时候我们可以先离散化然后套路地将所有串拼一起跑 SA。 记得在每个串之间加分割符。 这样每次比较字典序就变成了 \(O( 阅读全文
posted @ 2024-09-24 16:33 Jimmy-LEEE 阅读(9) 评论(0) 推荐(0)
摘要:题意 维护一张无向图,要求支持以下操作: 切断一条边。 查询两个点是否有有两条完全不同的路径相连。 分析 因为断边操作不好维护,考虑离线后将断边变为加边。 因此,我们只需要维护加边操作即可。 考虑使用 LCT。 首先,因为涉及到边权,套路地用节点代替边。 如果某一条边连接的两个点属于两个不同的连通块 阅读全文
posted @ 2024-09-24 16:32 Jimmy-LEEE 阅读(26) 评论(0) 推荐(0)
摘要:分析 前置知识:网络流,最小割。 套路题。 在这道题基础上有很多改版,比如长脖子鹿放置。 首先黑白染色。\((n=m=4)\) 保证染色后同种颜色上的骑士不能互相攻击。 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 染色之后考虑将原题转化为最小割问题。 也就是说在棋盘上放满骑士后再 阅读全文
posted @ 2024-09-24 16:31 Jimmy-LEEE 阅读(7) 评论(0) 推荐(0)
摘要:题意 维护一个 \(D\times S\) 的平面,每个点有一个高度。 要求支持一个操作:查询一个矩形区域的最大值,并将该区域更新为最大值加上给定的数。 分析 发现 \(D,S\leq10^3\),考虑使用二维线段树维护。 二维线段树,顾名思义,就是在普通线段树的每一个节点上维护一棵线段树。 在本题 阅读全文
posted @ 2024-09-24 16:30 Jimmy-LEEE 阅读(7) 评论(0) 推荐(0)
摘要:分析 显然答案包含长度为 \(K\) 的所有 \(01\) 串,每个串和前一个的重叠长度为 \(K-1\),所以每个串对长度的贡献为 \(1\)。 因此该串的长度为所有 \(01\) 串的个数,即 \(2^K\)。 考虑第二个如何解决。 发现每个位置的状态只有 \(0\) 和 \(1\),考虑爆搜。 阅读全文
posted @ 2024-09-24 16:30 Jimmy-LEEE 阅读(17) 评论(0) 推荐(0)
摘要:分析 设 \(a[i]\) 为第 \(i\) 位的人的编号,\(\operatorname{pre}(i)\) 为第 \(i\) 位前一个的人。 记 \(cnt\) 为满足 \(a[\operatorname{pre}(i)]+1=a[i]\) 的 \(i\) 的个数。 显然当 \(cnt=n-1\ 阅读全文
posted @ 2024-09-24 16:30 Jimmy-LEEE 阅读(19) 评论(0) 推荐(0)
摘要:题意 给定一个 \(r\times s\) 的矩阵,每个点给定一个权值,要求求出一个子矩阵,其权值和为 \(w\),使 \(|w-a|+|w-b|\) 最小。 分析 考虑枚举子矩阵。 首先预处理二维前缀和用于快速计算矩阵和。 可以暴力枚举左上角 \((x_1, y_1)\) 和右下角 \((x_2, 阅读全文
posted @ 2024-09-24 16:29 Jimmy-LEEE 阅读(12) 评论(0) 推荐(0)
摘要:分析 因为容量为 \(2^{i-1}\),所以对于任意的 \(i<j\),第 \(j\) 种瓶子一定可以通过选择 \(2^{j-i}\) 个 \(i\) 种瓶子来实现。 定义一个瓶子的性价比为 \(\dfrac{\textrm{容量}}{\textrm{价格}}\),即 \(\dfrac{2^{i- 阅读全文
posted @ 2024-09-09 21:09 Jimmy-LEEE 阅读(14) 评论(0) 推荐(0)
摘要:题意 给定一场考试,考试会持续 \(T\) 毫秒,由 \(n\) 道题目组成,你可以用 \(t_i\) 毫秒解决第 \(i\) 个问题,每个问题给定一个整数 \(a_i\)。 要求你选出一个试题集合 \(S\),若该集合大小为 \(k\),它应满足 \(T\geq\sum_{i\in S}\limi 阅读全文
posted @ 2024-09-09 21:08 Jimmy-LEEE 阅读(40) 评论(0) 推荐(0)
摘要:题意 维护一个 \(01\) 串,初始均为 \(0\),支持: 单点将 \(1\) 修改为 \(0\)。 查询区间中 \(1\) 的个数。 查询最长且最靠右的连续 \(0\) 段的靠右的中点,并将其改为 \(1\)。 分析 第一个操作和第二个操作显然使用动态开点线段树维护。 我们只需要解决第三个操作 阅读全文
posted @ 2024-09-09 21:08 Jimmy-LEEE 阅读(17) 评论(0) 推荐(0)
摘要:题意 给定一个 \(2\times N\) 的网格,网格上的点和上下左右连边。 要求支持以下几种操作: 修改某条边的边权。 求满足 \(y\in[l,r]\) 的点构成的点集的最小生成树。 分析 这道题的想法和 P4246 [SHOI2008] 堵塞的交通 很相似。 注意到 \(N, M \leq 阅读全文
posted @ 2024-09-09 21:08 Jimmy-LEEE 阅读(25) 评论(0) 推荐(0)
摘要:分析 首先我们要求出对于第 \(i\) 位女性,她选择每个列表中的男性的概率是多少。 第一轮选择第一位的概率为 \(p\),选择第二位的概率为 \(p(1-p)\),以此类推。 显然第一轮选择第 \(k\) 位的概率为 \(p(1-p)^{k-1}\)。 假设列表中有 \(n\) 名男性,那么第二轮 阅读全文
posted @ 2024-09-09 21:08 Jimmy-LEEE 阅读(21) 评论(0) 推荐(0)
摘要:题意 定义 \(\operatorname{popcount}(x)\) 为 \(x\) 二进制下 \(1\) 的个数。 定义对 \(x\) 的一次操作:\(x\gets\operatorname{popcount}(x)\),显然任意正整数经过若干次操作后会变为 \(1\)。 给定 \(n\) 和 阅读全文
posted @ 2024-08-30 20:43 Jimmy-LEEE 阅读(13) 评论(0) 推荐(0)
摘要:题意 我们称一个大小为 \(n\) 的数组 \(a\) 互质,当且仅当 \(\gcd(a_1,a_2,\cdots,a_n)=1\)。 给定 \(n,k\),对于每个 \(i\) \((1\le i\le k)\),你都需要确定这样的数组的个数——长度为 \(n\) 的互质数组 \(a\) ,满足对 阅读全文
posted @ 2024-08-30 20:43 Jimmy-LEEE 阅读(21) 评论(0) 推荐(0)
摘要:题意 给出两个正整数 \(a,b\)。在十进制下重排 \(a\),构造一个不超过 \(b\) 的最大数,不能有前导零。允许不去重排 \(a\)。 分析 因为位数小于等于 19,考虑搜索。 开个桶维护 \(a\) 中每个数码的个数,按位搜索即可。 每一位贪心地从大到小枚举,显然这是最优的。 最劣复杂度 阅读全文
posted @ 2024-08-30 20:42 Jimmy-LEEE 阅读(6) 评论(0) 推荐(0)
摘要:题意 维护一个数据结构,支持以下几种操作: set ai xi:设置任务 \(a_i\) 的优先级为 \(x_i\),如果该列表中没有出现则加入该任务。 remove a_i:删除该任务。 query a_i:求优先级比 \(a_i\) 小的任务个数,如果没有则输出 \(-1\)。 undo sum 阅读全文
posted @ 2024-08-30 20:42 Jimmy-LEEE 阅读(10) 评论(0) 推荐(0)
摘要:题意 把一个数分解成恰好 \(k\) 个 \(2^{a_i}\) 次方的和,可以重复,要求保证最大的 \(a_i\) 要尽可能的小时,\(a\) 的字典序尽可能大,输出序列 \(a\)。 分析 首先我们借助二进制拆出一个满足 \(n=\sum 2^{a_i}\) 序列 \(a\),满足 \(a\) 阅读全文
posted @ 2024-08-30 20:41 Jimmy-LEEE 阅读(9) 评论(0) 推荐(0)
摘要:题意 给定一个主串 \(S\) 和 \(n\) 个询问串,求每个询问串的所有循环同构在主串中出现的次数总和。 分析 后缀自动机好题。 循环同构的过程可以看作从该串的头部删除一个字符,并在尾部加入一个字符。 在后缀自动机上,跳 parent 树的过程就相当于删除头部的若干个字符。 所以我们可以套路地把 阅读全文
posted @ 2024-08-25 21:07 Jimmy-LEEE 阅读(18) 评论(0) 推荐(0)