首页 > 其他分享 >1.16模拟赛题解

1.16模拟赛题解

时间:2023-01-16 16:01:44浏览次数:60  
标签:1.16 题解 复杂度 最大值 模拟 单调 区间 check dp

T1

对于区间 \([1,i]\) 的划分方案,划分长度一定是 \(i\) 的因数,因此考虑暴力枚举区间长度。

问题转化为快速 check 一段区间是不是美丽的。

首先,区间内的 \(-1\) 一定要么全部变成左边的第一个非 \(-1\) 值,要么全部变成右边的第一个。这样就处理掉了所有的 \(-1\),只需要考虑确定的值了。

考虑利用 st 表求出区间内最大值的位置,再用两个 st 表维护差分序列,check 两边是否是单调的。单次 check 的复杂度就做到了 \(O(1)\)。

总复杂度 \(O(n\log n)\)。

T2

考虑暴力转移,得到方程 \(dp_{i,j}=\min\{dp_{k,j-1}+\max\{a_{k+1}\,\cdots a_i\}\}\)。

考虑优化。设 \(minx_i\) 表示钦定 \(a_i\) 为区间最大值时的最优决策点。维护单调栈,每次 pop 掉一个元素时都对 \(minx_i\) 进行 chkmin。另一种可能是 \(a_i\) 不是最大值,那么需要把它与它左边第一个大于它的位置的 dp 值取 min。

时间复杂度 \(O(n^2)\)。

T3

暴力。

T4

设 \(dp_{i,j}\) 表示前 \(i\) 个按键,第 \(i\) 个按键为 \(j\) 的方案数。

那么 \(dp_{i,j}\) 能够转移到 \(dp_{k,j+1}\) 就代表 \(t_{i,k}\in[p_j-L,p_j+L]\)。

注意到 \(t\) 具有单调性,因此可以直接二分找到转移区间,然后差分维护。

时间复杂度 \(O(nk\log k)\)。

标签:1.16,题解,复杂度,最大值,模拟,单调,区间,check,dp
From: https://www.cnblogs.com/Tarantula/p/1-16-p.html

相关文章

  • 题解 ARC153B【Grid Rotations】
    一次操作是把四个子矩形分别旋转\(180^\circ\)。不难发现,可以横纵坐标分别考虑,则该操作变为横坐标的两段区间分别翻转、纵坐标的两段区间分别翻转。区间翻转操作、最后输......
  • 【2023.01.16】PVE创建集群并实现外网互联
    首先要确保有两台公网ip的机器,或者两台在内网的机器,在有公网ip的机器上创建集群一公网一内网拷贝以下内容取消辅助说明,输入你的公网域名到这里失败了,私网机器的连不......
  • CF1133B 题解
    原题链接这道题其实很简单要让两数和为\(k\)的倍数,需要满足以下两条件之一:两数都是\(k\)的倍数两数的余数和为\(k\)因此,我们可以先统计出余数再按上述条......
  • 模拟操作
    比赛链接:Dashboard-CodeforcesRound#844(Div.1+Div.2,basedonVKCup2022-EliminationRound)-CodeforcesC题:Problem-C-Codeforcesinput45hello......
  • AtCoder Beginner Contest 285 题解
    比赛链接:https://atcoder.jp/contests/abc285总体来说不算难。A-C略。\(D\)因为起点终点不同,起点之间、终点之间两两不同,所以有环的情况是错的,其他都是对的。写起来的......
  • 算法--2023.1.16
    1.力扣200--岛屿数量classSolution{//深度优先遍历publicintcnt;publicchar[][]nums;publicint[]dx,dy;publicintm,n;publici......
  • 闲话 23.1.16
    闲话今日推歌:OnYourSide-Yasuha.随之任之-r-906feat.初音ミク接下来是什么?小孩召开法?凸包给定一系列平面上的点\((x_i,y_i)\)。我们选择一个最小的凸多边......
  • P3524 [POI2011]IMP-Party 题解
    题目传送门更好的阅读体验前置芝士团设\(V\)为\(G\)子图,当\(V\)中任意两点都有边相连,则\(V\)为\(G\)的一个团。此图为本题样例最大团:\(\{1,3,4,5\}\)......
  • 2023.1.16[模板]BSGS/exBSGS
    2023.1.16[模板]BSGS/exBSGS全称BoyStepGirlStep给定一个质数p,以及一个整数a,一个整数b,现在要求你计算一个最小的非负整数l,满足\(a^x\equivb(modp)\)算法......
  • Atcoder ARC 061 题解
    C-ManyFormulas题意​ 给出一个长度为10的由数字组成的字符串,你可以把'+'插入到任意位置,将字符串分割,形成一个算式。你有很多分割的方案,现在你需要将所有出现的算式的......