首页 > 其他分享 >初三选拔模拟赛题解

初三选拔模拟赛题解

时间:2024-01-21 20:59:59浏览次数:31  
标签:min 题解 sum 选拔 hsum bmatrix 初三 dp

目录

给个正常的题解以正视听 . 不过说好的普及难度呢?

如果有问题请指出 .

T2

注意到答案一定可以取到最小区间的长度 \(len\),一种方案是按 \(0\dots len-1\) 循环填 .

T3

大致有两种做法:

  • 维护每个手指的次数 \(c_i\) 和占用的键数 \(t_i\),按 \(\frac{c_i}{t_i+1}\) 排序放堆里每次取最优的拿出来 .
  • 二分答案 \(t\),每次判断 \(\frac{c_i}t\) 之和能否达到总键数 .

T4

排序后把 \(a_{2\dots n-1}\) 与 \(a_1,a_n\) 中最远的那个连边,然后连 \(a_1-a_n\) 即可 .

正确性可以考虑 Boruvka 算法的流程,先连 \(a_{2\dots n}\) 就是这个结果,最后剩两个连通块肯定是 \(a_1,a_n\) 连 .

T5

令 \(dp_{l,r}\) 表示区间 \([l,r]\) 的答案,转移有以下几种:

  • 如果 \(s_l,s_r\) 是匹配的括号,则 \(dp_{l,r}\overset{\min}\gets dp_{l+1,r-1}\) .
  • 对左边或者右边加一个括号构成匹配,\(dp_{l,r}\overset{\min}\gets\min\{dp_{l+2,r},dp_{l,r-2}\}+1\) .
  • 拆成两部分的答案拼起来,\(dp_{l,r}\overset{\min}\gets\min\limits_k\{dp_{l,k}+dp_{k+1,r}\}\) .

具体就是按照合法括号序列的构成转移 . 时间复杂度 \(\Theta(n^3)\) .

T6

线段树维护历史版本和,可以看吉司机论文 .

写一个看到的最简单的做法,线段树维护向量 \([hsum\quad sum\quad1]^{\mathsf T}\) 表示历史和、和、1 . 对于一次区间加 \(v\) 可以表示为矩阵乘法:

\[\begin{bmatrix}hsum'\\sum'\\1\end{bmatrix}=\begin{bmatrix}hsum\\sum\\1\end{bmatrix}\begin{bmatrix}1&1&v\\0&1&v\\0&0&1\end{bmatrix} \]

可能需要卡常,我不知道 . 时间复杂度 \(O(n+q\log n)\) .

T7

考虑横着差分一次,那么就变成一个竖线加一个数,一条斜线减一个数 . 对每列每个对角线开一个树状数组分别维护即可 .

时间复杂度 \(\Theta(n^2+q\log n)\) .

APJ 之言可谓是切中了

红 - 绿 - 橙 + 蓝 .

标签:min,题解,sum,选拔,hsum,bmatrix,初三,dp
From: https://www.cnblogs.com/CDOI-24374/p/17978279

相关文章

  • 1.21闲话暨模拟赛题解
    未卜先知推歌:二重变革/洛天依,言和byDELA上午写了模拟赛,下午不给我发代码不让我改题不让我看题面,smjb模拟赛一共9道题,4道原题(2道原题,2道"原"题),抛去3道不写的一共6道题T1「尘世闲游」(原神题)没让写T2「一心净土」(原神题&&原题「CF740C」)题解我这里一共找到......
  • CF1375B Neighbor Grid 题解
    题意简述给你一个$n$行$m$列的矩阵,要求你让这个矩阵是“完美”的。“完美”的定义如下:若当前的格子里是一个正整数$k$,那么与这个网格相邻(有公共边)的$k$个格子也必须有一个正整数。若当前的格子里是$0$,那么不受上述的限制。你可以对任意的一个格子加上$1$,次数......
  • P5362 [SDOI2019] 连续子序列 题解--zhengjun
    题面传送门提供一种和其他题解完全不同的解法。记\(P_0\)为题中给出的序列,\(P_1\)为\(P_0\)取反的结果。记\(S_{l\simr}\)表示\(S_lS_{l+1}\dotsS_{r}\)。方便起见,\(P\)下标从\(0\)开始,其余的串都是从\(1\)开始。这里用\(P_{0,i}=\operatorname{popcount(i)}......
  • Github图床搭建,结合Picgo与jsdelivr的免费cdn加速,以及部分问题解决方案
    留份文档,便于后续查询===================用到的地址:Github:GitHubPicgo:PicGoisHere|PicGojsdelivr加速地址:https://cdn.jsdelivr.net/gh/Github用户名/仓库名@master===================1.创建一个GitHub仓库:进入你的GitHub首页,在右上角你会找到一个➕,在下拉菜单中......
  • P7192 [COCI2007-2008#6] GEORGE 题解
    题目简述给定一张$n$个点$m$条边的无向图,从$u_i\rightarrowv_i$需要用时$w_i$分钟。有一位T先生从$0$时刻按有$g$个点的序列顺序移动,即$v_1\rightarrowv_2\rightarrow\cdots\rightarrowv_g$。还有一位卡车司机Luka从$k$时刻开始从$a$点出发,Luka不......
  • 洛谷 P9843 [ICPC2021 Nanjing R] Paimon Sorting 题解
    Descirption给出一个排序算法(用伪代码表示):SORT(A)forifrom1tonforjfrom1tonifa[i]<a[j]Swapa[i]anda[j]算出对于一个序列\(A=a_1,a_2,\cdots,a_n\)的所有前缀\(A_k=a_1,a_2,\cdots,a_k\)(\(1\lek\len\)),\(\operatorname{SORT}(A_......
  • AT_abc337_d 的题解
    AT_abc337_d的题解题目大意给你一个\(H\timesW(H\timesW\leq2\times10^5)\)的矩阵,矩阵由o、x和.构成。存在一种操作:将一个.变成o。问在一段连续的区间内,需要进行多少次操作才可以将同一行或同一列中的连续\(k\)个数都变为o,若无法完成,输出-1。思考过程看......
  • AT_abc337_c的题解
    AT_abc337_c的题解题目大意就是给你一个数组$a=(a_1,a_2,\ldots,a_n)$,若$a_i$为$-1$,那么这个数的下标就是输出序列的开头,否侧,这个数在输出序列中排在$a_i$的下一个。思考过程从样例中不难发现:$1,2,\ldots,n$中的每一个数最多在$a$中出现一次;输出序列中的每一个......
  • P10073 [GDKOI2024 普及组] 刷野 II 的题解
    P10073[GDKOI2024普及组]刷野II的题解谨以此篇题解记录我考场上唯一通过的一题~解题思路可以考虑定义两个指针x和y,分别为左侧攻击到哪里和右侧。此时,从两侧线性想中间递推,若先打左边的代价小就打左边的,否则就打右边的。按照这个方法向中间推就可以了。Code#include<......
  • ABC337 E Bad Juice 题解
    QuestionABC337EBadJuice交互题\(n\)瓶果汁中有\(1\)瓶是坏的,现在需要把这些果汁分给\(m\)个人,每个人可以喝任意瓶,然后通过\(m\)个人的回复判断哪一瓶是坏的需要输出最小的\(m\)以及坏果汁的编号Solution\(m\)返回的结果由\(01\)构成,自然而然想到二进制,考虑......