随笔分类 -  题解

题解:CF70D Professor's task
摘要:题意 实现以下两种操作: 往点集 S 中添加一个点 (x,y)。 询问点 (x,y) 是否在点集 S 的凸包中。 分析 动态凸包板子。 建议先完成 P2521 [HAOI2011] 防线修建。 上题维护的是上半个凸包,本题维护上下两个。 将凸包中的点按 x
5
0
0
题解:P2521 [HAOI2011] 防线修建
摘要:题意 给定若干个点,实现下列操作: 删除一个点。 查询上凸包的周长。 分析 建议先完成【模板】二维凸包。 对于这个删除操作,我们没有好的方法去在线维护它。 考虑离线询问。 这样删除操作就变成了插入操作。 插入一个新点有如下两种情况: 新点在凸包内。 新点在凸包外。 我们回忆一下 Andrew 算法的
4
0
0
题解:P7401 [COCI2020-2021#5] Planine
摘要:题意 现有一座上下起伏的山。它可以抽象为一个包含 nn 为奇数)个点 (xi,yi) 以及 (x1,inf)(xn,inf) 的多边形。 对于所有满足 i1inimod2=1
7
0
0
题解:SP1182 SORTBIT - Sorted bit squence
摘要:题意 将区间 [m,n] 的所有整数按照其二进制位表示的数中 1 的数量从小到大排序。如果 1 的数量相同,则按照数的大小排序。求序列中第 k 个数。 其中,负数使用补码来表示:一个负数的二进制数与其相反数的二进制数之和恰好等于 232。 分析 考虑用
4
0
0
题解:P3266 [JLOI2015] 骗我呢
摘要:题意 有一个 n×m 的数组 xi,j(1in,1jm),满足: xi,j[0,m] \(\forall i \in [1,n],\forall j\in[1,m),x_{i,j}<x_{i,j+1}
9
0
0
题解:P7475 「C.E.L.U-02」简易输入法
摘要:题意 给定词典 U,每次询问读入一个字符串 s,以及一个整数 x 对于这个字符串有以下几种情形: 设siUssi 的前缀的个数为 a。 当 ax 时,请输出按照以输出次数从大
6
0
0
题解:UVA1479 Graph and Queries
摘要:分析 先看删边操作。 由于并不保证是森林,所以我们没有好的方法来在线维护删边相关的操作。 所以,我们可以套路地把询问离线,然后倒着操作。 删边变成加边。 需要注意的是权值的修改,记录时要把当前权值和修改的权值反过来。 然后我们发现这个操作很经典,维护方式和 [HNOI2012] 永无乡 差不多。 可
4
0
0
题解:CF1995C Squaring
摘要:题意 给定序列 a,每次操作可以使 aiai2,求使 a 不降的最少操作次数。 分析 因为 1k=1,所以无解的情况只有  ai=1 j[1,i),aj>1。 在有解的情况下,假设对
5
0
0
题解:P4847 银河英雄传说V2
摘要:题意 给定 n 个长度为 1 的序列,第 i 个序列中有一个元素,值为 ai,接下来有三种操作: M x y,表示把 x 所在的序列放到 y 所在的序列之后。如果 x,y 已经在同一个序列,则不进行操作。 D x,表示把 x 所在的序
5
0
0
题解:P7952 [✗✓OI R1] 天动万象
摘要:提供一种和第一篇题解不同的理解思路。 题目分析 看到操作 1:拿 dfs 序水水就行了。 看到操作 2:??? 特殊情况 我们考虑一下特殊情况下操作 2 怎么处理。 假如这棵树是一条链。 设从根到叶节点权值如下:(随便赋的) 节点编号 1 2 3 4 5 6 权值 1 2 3
11
0
0
题解:UVA11996 Jewel Magic
摘要:题意 给你一个 01 串,要求完成以下操作: 单点插入。 单点删除。 区间翻转。 查询两点开始的 LCP。 分析 先看查询操作,如何得到 LCP 的长度? 我们可以考虑二分长度 l,然后用哈希检验区间 [p1,p1+l1] 是否等于区间 [p2,p2+l1]。 平衡树
3
0
0
题解:AT_abc354_g [ABC354G] Select Strings
摘要:题目分析 题意 给定 n 个字符串,要求从中选出若干个组成一个集合,且集合中每个字符串都互不包含。 求集合中字符串的权值的和的最大值。 分析 首先很容易想到用 KMP 判两个串是否存在包含关系。 考虑建图,将不能同时存在于一个集合中的串的节点相连。 然后发现只需求出这个图的最大权独立集就行了
6
0
0
题解:CF590E Birthday
摘要:题目分析 题意 给定 n 个字符串,要求从中选出若干个组成一个集合,且集合中每个字符串都互不包含。 求集合最大包含几个字符串。 分析 本题弱化版:[ABC354G] Select Strings 就是求一个最长反链,并求构造方案。 求构造方案还是比较有意思的。 建议先做 P4298 [CTS
2
0
0
题解:P5217 贫穷
摘要:题意 维护一个字符串,支持以下操作: I x c,在第 x 个字母后面插入一个 cD x,删除第 x 个字母。 R x y,反转当前文本中的区间 [x,y]。 \(\texttt{P x
8
0
0
题解:CF381B Sereja and Stairs
摘要:题意 给定 m 个元素的序列 b 。 取若干 b 中元素组成新序列 a 使得 a1<a2<a3<<ai1<ai>ai+1>>a|a|1>a|a|。 给出一种使得 |a| 最大的方案。 分析 考
3
0
0
题解:AT_joisc2017_f 鉄道旅行 (Railway Trip)
摘要:题意 鉄道旅行 (Railway Trip) 分析 非常神仙的倍增做法。 我们设 li,j 表示从 i 点出发,停靠 2j 站后能抵达的最左位置。 同理设 ri,j 表示从 i 点出发,停靠 2j 站后能抵达的最右位置。 考虑如何更新这
10
0
0
题解:SP3109 STRLCP - Longest Common Prefix
摘要:三倍经验: UVA11996 Jewel Magic P4036 [JSOI2008] 火星人 题意 维护一个字符串 S,支持以下操作: Q i j:输出 LCP(S[il],S[jl]) \(R\ i\ cha
5
0
0
题解:AT_joisc2019_h ランプ (Lamps)
摘要:题意 走廊上有排成一列的 n 盏灯,给出了一个 01S 表示其开关状态(1 表示打开,0 表示关闭)。现在想要把这 n 盏灯变成目标状态 T。 你有三种操作: OFF 操作:选择一个区间,将区间内所有的灯关闭。 ON 操作:选择一个区间,
9
0
0
题解:CF1290E Cartesian Tree
摘要:题意 给定一个 1n 的排列 a。 对于一个整数 k[1,n],将排列中 k 的项构成的子序列建大根笛卡尔树。这棵笛卡尔树的所有节点的子树大小之和记为 skk[1,n]sk
7
0
0
P1708 [入门赛 #21] 星云 hard ver. 题解
摘要:解法 因为 n7,所以可以对于每个 n 进行搜索。 定义 dpi,j 为长度为 i,各数位之和为 j 的数的个数。 暴搜处理 dp 数组。 void dfs(int n, int sum, int mx) { if(!n) return dp[
13
0
0
点击右上角即可分享
微信分享提示
深色
回顶
收起