随笔分类 -  题解

上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 23 下一页
摘要:题意 给定 nnn 个数的序列 a1,a2,⋯ ,ana_1, a_2, \cdots, a_na1​,a2​,⋯,an​。mmm 次询问,每次询问给定两个数 l,rl, rl,r,需要输出 {∑i=lr−1max⁡{0,ai−ai+1}l≤r∑i=rl−1max⁡{0,ai+1−ai}r<l\be 阅读全文
posted @ 2022-07-22 09:08 HappyBobb 阅读(19) 评论(0) 推荐(0)
摘要:题意 给定正整数 nnn,求小于等于 nnn 且最大的是 10x10^x10x 的正整数 yyy,满足 x∈Nx \in \mathbb Nx∈N。输出 n−yn - yn−y。多组数据。 做法 显然可以暴力枚举。由于 1≤n≤1091 \leq n \leq 10^91≤n≤109,所以每次枚举 阅读全文
posted @ 2022-07-12 13:15 HappyBobb 阅读(7) 评论(0) 推荐(0)
摘要:题意 给定 nnn 个数 a1,a2,⋯ ,ana_1, a_2, \cdots, a_na1​,a2​,⋯,an​,mmm 次询问,每次询问给定 x,yx, yx,y,问这 nnn 个数里是否有两个数 i,ji, ji,j,满足 1≤i≤j≤n1 \leq i \leq j \leq n1≤i≤j 阅读全文
posted @ 2022-07-12 12:53 HappyBobb 阅读(11) 评论(0) 推荐(0)
摘要:做法 较为简单的贪心。 先考虑不存在特殊权力,即每次都是大牌获胜。假设这次对方出的是 aia_iai​。分情况讨论: 若 aia_iai​ 是还没有打出的牌中的最大值,显然我方无论如何都无法得到这局的分,因此打出最小的牌。 若 aia_iai​ 不是最大值,则一定可以出一张牌赢得这一局,显然最优方案 阅读全文
posted @ 2022-07-11 15:29 HappyBobb 阅读(13) 评论(0) 推荐(0)
摘要:做法 考虑二分答案,显然要二分完成所有任务的时间。 对于完成所有任务的时间 xxx,如何判断在 xxx 分钟内,所有任务可以做完呢?显然对于每一个工人所熟练的任务都有若干个,假设第 iii 个工人所熟练的任务有 cic_ici​ 个,对于 ci<xc_i < xci​<x,第 iii 个工人做完之后 阅读全文
posted @ 2022-07-10 21:16 HappyBobb 阅读(8) 评论(0) 推荐(0)
摘要:分块经典题。 这种题显然是数据结构,1≤n≤1051 \leq n \leq 10^51≤n≤105,考虑根号复杂度做法。于是考虑使用分块。 我们先预处理出两个值:resi,j,cnti,jres_{i, j}, cnt_{i, j}resi,j​,cnti,j​,resi,jres_{i,j}re 阅读全文
posted @ 2022-07-02 10:18 HappyBobb 阅读(9) 评论(0) 推荐(0)
摘要:题意 给定一个 nnn 个数的 排列 aaa,需要我们构造一张图,两点 i,j(i<j)i, j(i < j)i,j(i<j) 相连当且仅当 aia_iai​ 和 aja_jaj​ 为 ai,ai+1,⋯ ,ara_i, a_{i+1}, \cdots, a_rai​,ai+1​,⋯,ar​ 中的最 阅读全文
posted @ 2022-06-26 16:59 HappyBobb 阅读(15) 评论(0) 推荐(0)
摘要:二分图染色好题。 一开始给定的是一个连通图。nnn 个点 n−1n - 1n−1 条边的连通图一定是一棵树,而一棵树不存在奇数环,显然是二分图。 既然是二分图,必然可以黑白染色。对于每一个白点,都可以和其他每一个黑点连边。全部连完之后总共有 c1×c2c1 \times c2c1×c2 条边,c1, 阅读全文
posted @ 2022-06-22 19:18 HappyBobb 阅读(6) 评论(0) 推荐(0)
摘要:考虑优先队列广搜,第 kkk 次出队的即为答案。注意需要去重。复杂度 O(nklog⁡(nk))O(nk \log (nk))O(nklog(nk)),开 O2 可过,注意不要使用 long long,会 MLE。 #include <iostream> #include <queue> #incl 阅读全文
posted @ 2022-06-11 11:44 HappyBobb 阅读(11) 评论(0) 推荐(0)
摘要:题意 动态维护一个序列,判断序列是否有两个以上不同的元素以及两个及以上相同的元素。 解法 这题 SPOJ 给出来源是 ACM ICPC 2009–2010, NEERC, Northern Subregional Contest,但是难度并不大,显然 STL 做这道题很容易,这里提供一个平衡树的做法 阅读全文
posted @ 2022-06-09 20:19 HappyBobb 阅读(9) 评论(0) 推荐(0)
摘要:题意 动态维护一个序列,支持插入删除和查询中位数,多测。 解法 可以对顶堆,也可以平衡树。提供平衡树做法。 显然用平衡树的话这题非常容易,只需要插入删除和按排名查找值,比模板还容易。 特别注意的是,需要注意中位数的排名是什么。 我通常会在平衡树建立时插入极大值和极小值,所以排名有些改变。 设目前有 阅读全文
posted @ 2022-06-08 20:45 HappyBobb 阅读(10) 评论(0) 推荐(0)
摘要:有一种暴力,枚举全排列,然后暴力 dfs,复杂度是 O(n!⋅2n)O(n! \cdot 2^n)O(n!⋅2n)。撇开 long long 能不能存得下,这种做法显然超时。 显然,对于任意一种顺序而言,显然应该先做加法再做乘法。所以可以优化,枚举全排列后每次枚举一个位置作为加法和乘法的中断点,复杂 阅读全文
posted @ 2022-05-28 16:54 HappyBobb 阅读(8) 评论(0) 推荐(0)
摘要:题意 题面描述十分清晰。 思路 CF 上有一个 tag 是搜索,但是尝试了许久,bfs 一直 WA,于是考虑 DP。 注意到范围 n≤107n \leq 10^7n≤107,显然考虑 O(n)O(n)O(n) 的线性 DP。可以设 fif_ifi​ 表示生成长度为 iii 的最小代价,显然: fi= 阅读全文
posted @ 2022-05-15 19:32 HappyBobb 阅读(23) 评论(0) 推荐(0)
摘要:题意 一个 nnn 个元素的序列和一个双端队列,按顺序每次在前或后面插入每个 aia_iai​,求出插入完成后最小逆序对数量。 解法 比较容易的贪心。 贪心,就是局部最优导致全局最优。显然,每次插入 aia_iai​,计算在前面和后面插入造成的逆序对数量,取较小的累加即可。 手玩一下样例,发现是对的 阅读全文
posted @ 2022-05-13 16:48 HappyBobb 阅读(44) 评论(0) 推荐(0)
摘要:题意 题目描述非常清晰。 思路 先考虑一个 O(n2)O(n^2)O(n2) 级别的算法,就是暴力枚举每个 aia_iai​,并对其向两边扩展,最坏情况 O(n2)O(n^2)O(n2),但是在随机数据下跑得非常快。 想办法优化。 显然,我们发现枚举次数过多,所以考虑尽量少枚举一些。 对于每个 ai 阅读全文
posted @ 2022-05-12 17:29 HappyBobb 阅读(9) 评论(0) 推荐(0)
摘要:题意 给定序列 aaa,以及两个数 c,tc,tc,t,求 ∑i=1n−c+1[(max⁡j=ii+c−1aj)≤t]\sum_{i=1}^{n-c+1} [(\max_{j=i}^{i+c-1} a_j) \leq t]∑i=1n−c+1​[(maxj=ii+c−1​aj​)≤t],即有多少个长度 阅读全文
posted @ 2022-05-08 10:54 HappyBobb 阅读(14) 评论(0) 推荐(0)
摘要:题意 给定 nnn 个数的序列 aaa,交换序列的任意两个数 kkk 次,求交换后最大子段和。 解法 考虑贪心。 因为 n≤200,k≤10n \leq 200, k \leq 10n≤200,k≤10,所以我们可以考虑平方级别的复杂度。 假设最终必须选区间 l,r(l≤r)l, r(l \leq 阅读全文
posted @ 2022-05-07 21:10 HappyBobb 阅读(11) 评论(0) 推荐(0)
摘要:题意 带权值最长上升子序列。 解法 考虑 dp,和普通最长上升子序列一样,设 dpidp_idpi​ 表示以 iii 为结尾的最长上升子序列的权值和,则有 dpi=(max⁡j=1i−1{dpjhj<hi0hj≥hi)+hidp_i = (\max_{j=1}^{i-1} \begin{cases} 阅读全文
posted @ 2022-05-02 16:08 HappyBobb 阅读(10) 评论(0) 推荐(0)
摘要:单点修改,区间询问,不难想到线段树。 所以我们把这个问题转化成另外一个问题,设 ( 符号表示 111,) 符号表示 −1-1−1。而 pip_ipi​ 表示这个括号序列的前缀和,那么显然,当这个序列是正确表达式,仅当对于所有 i(1≤i≤n)i(1 \le i \le n)i(1≤i≤n),都有 p 阅读全文
posted @ 2022-04-25 21:17 HappyBobb 阅读(9) 评论(0) 推荐(0)
摘要:场外的题解。 这道题确实就是模拟,但是还是有一些细节要注意的。首先你要读懂题目,特别是要找出特殊情况的处理方法,例如: 6 #define p b #define c z #define CC p c CC #undef p CC 这个数据应该输出: b z p z 这个是需要注意的。 那具体如何模 阅读全文
posted @ 2022-04-21 08:09 HappyBobb 阅读(39) 评论(0) 推荐(1)

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