随笔分类 -  题解

上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 23 下一页
摘要:注意本题输出的是排列而非序列! 考虑分类讨论,设 ccc 表示 ∑i=1n[ai≠bi]\sum_{i=1}^n [a_i \neq b_i]∑i=1n​[ai​=bi​],即 ai≠bia_i \neq b_iai​=bi​ 的 iii 的个数,ansians_iansi​ 表示答案。 若 c 阅读全文
posted @ 2022-04-14 18:01 HappyBobb 阅读(15) 评论(0) 推荐(0)
摘要:比较容易的最短路。 主要考虑如何建图,可以发现每个点只要不是 X,那么它可以和与它四联通的每个点建边,那么边权是多少呢? 设目前点为 (x1,y1)(x_1, y_1)(x1​,y1​),目标点为 (x2,y2)(x_2, y_2)(x2​,y2​),(x2,y2)(x_2, y_2)(x2​,y2 阅读全文
posted @ 2022-04-12 21:30 HappyBobb 阅读(15) 评论(0) 推荐(0)
摘要:来一篇打表的解法。 显然暴力打表会很慢,考虑找一下规律,我们先列举出前几个二进制只有 111 个 000 的数看看:2,5,6,11,13,14,23,27,29,302, 5, 6, 11, 13, 14, 23, 27, 29, 302,5,6,11,13,14,23,27,29,30,直接看没 阅读全文
posted @ 2022-04-10 22:30 HappyBobb 阅读(9) 评论(0) 推荐(0)
摘要:显然一个 DP,考虑设 f1i{f1}_if1i​ 表示将前 iii 个字符转换成目标字符串的最小次数,f2i{f2}_if2i​ 表示将前 iii 个字符转换成与目标字符串正好相反的最小次数。那么容易推出,f1i{f1}_if1i​ 与 f2i{f2}_if2i​ 都可以通过前一个状态,即 f1i 阅读全文
posted @ 2022-04-05 22:21 HappyBobb 阅读(12) 评论(0) 推荐(0)
摘要:题意 给定一个单调上升序列 aaa,求最多在这个序列中选多个数(不要求相邻),满足相邻两个数不互质。 解法 显然有一个 O(n2log⁡n)O(n^2 \log n)O(n2logn) 的 DP,会超时。 考虑 gcd⁡(x,y)>1\gcd(x,y) > 1gcd(x,y)>1 这个式子,事实上就 阅读全文
posted @ 2022-04-05 09:33 HappyBobb 阅读(12) 评论(0) 推荐(0)
摘要:题意 给定一个初始值全部为 000,长度为 5×1055 \times 10^55×105 的数列,要支持单点加上某个数,以及查询 y,y+x,y+2⋅x,⋯ ,y+k⋅xy, y + x, y + 2 \cdot x, \cdots, y + k \cdot xy,y+x,y+2⋅x,⋯,y+k⋅ 阅读全文
posted @ 2022-04-04 12:51 HappyBobb 阅读(15) 评论(0) 推荐(0)
摘要:本题与这题基本完全一样,只是字符的下标这里是从 000 开始。 显然,这是可持久化线段树的较为简单的模板题。撤销事实上只是换根,就是将当前的根换成 xxx 次操作之前的根,线段树动态开点即可。 代码: #include <iostream> #include <cstdio> #include <a 阅读全文
posted @ 2022-04-02 17:28 HappyBobb 阅读(14) 评论(0) 推荐(0)
摘要:题意 给定一颗树,树有点权。多次询问,每次询问以 uuu 为根的子树中第 kkk 小的点权的点编号,点权互不相同。 解法 要求树上询问问题,可以想到树剖套各种数据结构,但是注意到这道题只需要求子树的问题,所以考虑用 dfs 序和主席树解决这个问题。 主席树其实就是【模板】可持久化线段树 2,dfs 阅读全文
posted @ 2022-04-01 20:20 HappyBobb 阅读(10) 评论(0) 推荐(0)
摘要:考试考到这个题,101010 分钟写了半天没写对,放弃了,赛后 555 分钟不到切了。发现 dp[N][3] 写成了 dp[3][N]。 显然是一道 DP 裸题,设 dpi,j(j∈{0,1,2})dp_{i,j}(j \in {\{0,1,2\}})dpi,j​(j∈{0,1,2}) 表示第 ii 阅读全文
posted @ 2022-03-28 16:40 HappyBobb 阅读(8) 评论(0) 推荐(0)
摘要:模拟退火练习题。 考虑模拟退火,显然每次随机两个点并交换这两个点,不过注意要判断交换这两个点后序列是否仍然成立,也就是对于最后一轮是否交换后仍然成立,然后计算整个序列的贡献即可。 由于是模拟退火,所以显然考虑卡时,代码: #include <iostream> #include <cstdio> # 阅读全文
posted @ 2022-03-24 19:41 HappyBobb 阅读(9) 评论(0) 推荐(0)
摘要:要是赛时对 pb_ds 有掌握就 200200200 分了! 提供一个平衡树写法,虽然平衡树我并不会写,但是 pbds 内置有平衡树啊,所以我们考虑用内置的平衡树写,注意要用 rb_tree_tag 而非 splay_tree_tag,内置的 Splay 很慢,开了 O2 还是超时,而内置红黑树不开 阅读全文
posted @ 2022-03-21 16:40 HappyBobb 阅读(16) 评论(0) 推荐(0)
摘要:看到了第一篇题解,我懂了随机化的艺术。 确实,这种区间众数用随机化的错误概率很小,并且也快,那我就是用这种方法的。 显然我们知道区间众数是区间中某个数出现次数 >>> 区间的一半,那么我们考虑每一次随机抽不中的可能是 12\frac{1}{2}21​,选 kkk 次抽不中的概率是 12k\frac{ 阅读全文
posted @ 2022-03-20 20:32 HappyBobb 阅读(11) 评论(0) 推荐(0)
摘要:题意 根据题意模拟排序,自己看吧。 解法 蓝题模拟,确实很容易。 搞个 map 记录每个人得分以及每个人的排名出现次数,cmp 函数很容易写,非常容易。 代码: #include <iostream> #include <cstdio> #include <algorithm> #include < 阅读全文
posted @ 2022-03-20 18:09 HappyBobb 阅读(8) 评论(0) 推荐(0)
摘要:题意 给定一个二维平面,其中有多个点 (xi,yi)(x_i, y_i)(xi​,yi​),对于每个点 (xi,yi)(x_i, y_i)(xi​,yi​) 都有一个权值 pip_ipi​。给定多组询问,每次询问点对 (x1,y1)(x_1, y_1)(x1​,y1​) 和点对 (x2,y2)(x_ 阅读全文
posted @ 2022-03-18 18:01 HappyBobb 阅读(15) 评论(0) 推荐(0)
摘要:题意 给定一个序列 aaa,支持两种操作: 求区间 al,al+1,⋯ ,ara_l, a_{l+1}, \cdots, a_ral​,al+1​,⋯,ar​ 中严格小于 vvv 的数的个数。 单点修改。 解法 块内二分模板题。 考虑每一个块维护一个有序的 vector 或者其他容器,块内查询用 l 阅读全文
posted @ 2022-03-17 18:48 HappyBobb 阅读(12) 评论(0) 推荐(0)
摘要:随便搞,设一开始等式 a+b=ca+b=ca+b=c,显然 ∣a+b−c∣=2\left| a + b - c \right| = 2∣a+b−c∣=2 时有解,然后判断是 c−(a+b)=2c-(a+b)=2c−(a+b)=2 还是 (a+b)−c=2(a+b)-c=2(a+b)−c=2,模拟即可 阅读全文
posted @ 2022-03-16 21:50 HappyBobb 阅读(8) 评论(0) 推荐(0)
摘要:首先,这里提供的代码可能因为评测机波动而导致无法在不开 O2 下通过,但是开了 O2 后亲测不会出现问题。 现在步入正题。 很多人用了珂朵莉树,但是这题我给大家带来线段树套 bitset 的解法,这是以前的题解没有的。 事实上就是线段树每个点开一个 bitset 维护这个区间中出现了哪些数,那么显然 阅读全文
posted @ 2022-03-16 19:00 HappyBobb 阅读(21) 评论(0) 推荐(0)
摘要:我们充分发扬人类智慧:事实上搜索可做。 首先暴力搜索显然是 O(n!)O(n!)O(n!) 的,那么我们重点考虑剪枝。 首先我们假设深搜过程中每个搜索的是事件而不是人。 我们设 mim_imi​ 表示第 iii 件事最大的成功率,那么显然深搜过程中假设搜到了第 depthdepthdepth 件事, 阅读全文
posted @ 2022-03-14 19:04 HappyBobb 阅读(7) 评论(0) 推荐(0)
摘要:题意 给定一个 nnn 个数的序列 aaa,定义对于区间 [l,r][l,r][l,r] 的 cic_ici​ 表示 al,al+1,⋯ ,ara_l, a_{l+1}, \cdots, a_ral​,al+1​,⋯,ar​ 中 iii 的出现次数。多组询问,每组询问指定 l,r,kl, r, kl 阅读全文
posted @ 2022-03-12 11:10 HappyBobb 阅读(10) 评论(0) 推荐(0)
摘要:题意 给定序列 aaa,定义幸运数为各位数字只含有 4,74, 74,7 的数字,例如 447444744474 是幸运数,而 417741774177 则不是。现在有 mmm 次操作,每次可能是将 al,al+1,⋯ ,ara_l, a_{l+1}, \cdots, a_ral​,al+1​,⋯, 阅读全文
posted @ 2022-03-09 20:53 HappyBobb 阅读(18) 评论(0) 推荐(0)

上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 23 下一页