随笔分类 -  题解

题解:P7306 [COCI2018-2019#1] Strah
摘要:分享一个 O(nmlogm) 的方法。 分析 考虑每次在 x 轴上固定左端点,然后移动 x 轴上的右端点,并统计答案。 考虑如何统计一个 1×n 的区域的贡献。 显然长度为 i 的区间有 ni+1 个,所以贡献即为: \[\begin
5
0
0
题解:P8245 [COCI2013-2014#3] PAROVI
摘要:题意 定义两个整数 A,B 之间的距离为这两个整数所有对应位上的数的差的绝对值之和,记为 dist(A,B)。特别地,如果 A,B 两数的位数不相同,则在位数较小的数前补足前导 0。 现在,给定两个整数 L,R,请你求出所有在区间
3
0
0
题解:P5184 [COCI2009-2010#2] PASIJANS
摘要:分析 考虑贪心,每次尽量选最小的字符。 显然是每次选字典序最小的弹栈。 我们要比较的是每个栈的字典序,但是朴素比较是 O(L) 的,考虑将它优化到 O(1)。 这个时候我们可以先离散化然后套路地将所有串拼一起跑 SA。 记得在每个串之间加分割符。 这样每次比较字典序就变成了 \(O(
4
0
0
题解:P6351 [PA2011] Hard Choice
摘要:题意 维护一张无向图,要求支持以下操作: 切断一条边。 查询两个点是否有有两条完全不同的路径相连。 分析 因为断边操作不好维护,考虑离线后将断边变为加边。 因此,我们只需要维护加边操作即可。 考虑使用 LCT。 首先,因为涉及到边权,套路地用节点代替边。 如果某一条边连接的两个点属于两个不同的连通块
4
0
0
题解:P10939 骑士放置
摘要:分析 前置知识:网络流,最小割。 套路题。 在这道题基础上有很多改版,比如长脖子鹿放置。 首先黑白染色。(n=m=4) 保证染色后同种颜色上的骑士不能互相攻击。 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 染色之后考虑将原题转化为最小割问题。 也就是说在棋盘上放满骑士后再
3
0
0
题解:SP1741 TETRIS3D - Tetris 3D
摘要:题意 维护一个 D×S 的平面,每个点有一个高度。 要求支持一个操作:查询一个矩形区域的最大值,并将该区域更新为最大值加上给定的数。 分析 发现 D,S103,考虑使用二维线段树维护。 二维线段树,顾名思义,就是在普通线段树的每一个节点上维护一棵线段树。 在本题
3
0
0
题解:P10950 太鼓达人
摘要:分析 显然答案包含长度为 K 的所有 01 串,每个串和前一个的重叠长度为 K1,所以每个串对长度的贡献为 1。 因此该串的长度为所有 01 串的个数,即 2K。 考虑第二个如何解决。 发现每个位置的状态只有 01,考虑爆搜。
7
0
0
题解:P9757 [COCI2022-2023#3] Dirigent
摘要:分析 设 a[i] 为第 i 位的人的编号,pre(i) 为第 i 位前一个的人。 记 cnt 为满足 a[pre(i)]+1=a[i]i 的个数。 显然当 \(cnt=n-1\
4
0
0
题解:P8343 [COCI2021-2022#6] Zemljište
摘要:题意 给定一个 r×s 的矩阵,每个点给定一个权值,要求求出一个子矩阵,其权值和为 w,使 |wa|+|wb| 最小。 分析 考虑枚举子矩阵。 首先预处理二维前缀和用于快速计算矩阵和。 可以暴力枚举左上角 (x1,y1) 和右下角 \((x_2,
4
0
0
题解:CF913C Party Lemonade
摘要:分析 因为容量为 2i1,所以对于任意的 i<j,第 j 种瓶子一定可以通过选择 2jii 种瓶子来实现。 定义一个瓶子的性价比为 容量价格,即 \(\dfrac{2^{i-
6
0
0
题解:CF913D Too Easy Problems
摘要:题意 给定一场考试,考试会持续 T 毫秒,由 n 道题目组成,你可以用 ti 毫秒解决第 i 个问题,每个问题给定一个整数 ai。 要求你选出一个试题集合 S,若该集合大小为 k,它应满足 \(T\geq\sum_{i\in S}\limi
24
0
0
题解:P3968 [TJOI2014] 电源插排
摘要:题意 维护一个 01 串,初始均为 0,支持: 单点将 1 修改为 0。 查询区间中 1 的个数。 查询最长且最靠右的连续 0 段的靠右的中点,并将其改为 1。 分析 第一个操作和第二个操作显然使用动态开点线段树维护。 我们只需要解决第三个操作
3
0
0
题解:P5618 [SDOI2015] 道路修建
摘要:题意 给定一个 2×N 的网格,网格上的点和上下左右连边。 要求支持以下几种操作: 修改某条边的边权。 求满足 y[l,r] 的点构成的点集的最小生成树。 分析 这道题的想法和 P4246 [SHOI2008] 堵塞的交通 很相似。 注意到 \(N, M \leq
9
0
0
题解:P6089 [JSOI2015] 非诚勿扰
摘要:分析 首先我们要求出对于第 i 位女性,她选择每个列表中的男性的概率是多少。 第一轮选择第一位的概率为 p,选择第二位的概率为 p(1p),以此类推。 显然第一轮选择第 k 位的概率为 p(1p)k1。 假设列表中有 n 名男性,那么第二轮
7
0
0
题解:CF914C Travelling Salesman and Special Numbers
摘要:题意 定义 popcount(x)x 二进制下 1 的个数。 定义对 x 的一次操作:xpopcount(x),显然任意正整数经过若干次操作后会变为 1。 给定 n
6
0
0
题解:CF915G Coprime Arrays
摘要:题意 我们称一个大小为 n 的数组 a 互质,当且仅当 gcd(a1,a2,,an)=1。 给定 n,k,对于每个 i (1ik),你都需要确定这样的数组的个数——长度为 n 的互质数组 a ,满足对
10
0
0
题解:CF915C Permute Digits
摘要:题意 给出两个正整数 a,b。在十进制下重排 a,构造一个不超过 b 的最大数,不能有前导零。允许不去重排 a。 分析 因为位数小于等于 19,考虑搜索。 开个桶维护 a 中每个数码的个数,按位搜索即可。 每一位贪心地从大到小枚举,显然这是最优的。 最劣复杂度
4
0
0
题解:CF916D Jamie and To-do List
摘要:题意 维护一个数据结构,支持以下几种操作: set ai xi:设置任务 ai 的优先级为 xi,如果该列表中没有出现则加入该任务。 remove a_i:删除该任务。 query a_i:求优先级比 ai 小的任务个数,如果没有则输出 1。 undo sum
6
0
0
题解:CF916B Jamie and Binary Sequence (changed after round)
摘要:题意 把一个数分解成恰好 k2ai 次方的和,可以重复,要求保证最大的 ai 要尽可能的小时,a 的字典序尽可能大,输出序列 a。 分析 首先我们借助二进制拆出一个满足 n=2ai 序列 a,满足 a
5
0
0
题解:CF235C Cyclical Quest
摘要:题意 给定一个主串 Sn 个询问串,求每个询问串的所有循环同构在主串中出现的次数总和。 分析 后缀自动机好题。 循环同构的过程可以看作从该串的头部删除一个字符,并在尾部加入一个字符。 在后缀自动机上,跳 parent 树的过程就相当于删除头部的若干个字符。 所以我们可以套路地把
7
0
0
深色
回顶
收起
点击右上角即可分享
微信分享提示