首页 > 其他分享 >【题解】CF1997

【题解】CF1997

时间:2024-11-08 20:58:13浏览次数:1  
标签:位置 前缀 min 题解 CF1997 样例 括号 怪物

A

  • 首先,插入的字符必须和左右两边的字符都不一样
  • 其次,对于插入位置的选择,显然最好插在两个一样的字符中间,如果没有一样的字符,插在最前面即可

B

  • 观察样例发现题目中要求的位置就在样例中
  • 手玩一下,尝试改变样例里那个形状,发现改变任何一个格子都不满足题意,所以得出结论:题目要求的位置当且仅当六个格子形如
...
*.*
  • 直接枚举每个位置即可

C

  • 首先,左括号为1,右括号为 -1,合法括号串显然满足前缀和非负
  • 在奇数位置上,前缀和总是二的倍数
  • 如果要尽量缩小匹配括号之间的距离,显然能早放右括号就早放右括号
  • 如果某个奇数位置的前缀和是 0,显然只能放左括号
  • 否则,一定会放右括号,这样做一定没有后效性:因为如果放的话,前缀和最少是 2,一定可以支持连续放两个右括号,然后就到下一个奇数位置了

D

  • 注意到 \(u\) 可以取到的最大值与子树内的最小值有关,考虑树形 DP
  • 设 \(f_u\) 表示 以 \(u\) 为根的子树内最小值的最大值
  • 容易列出转移:\(f_u=min(min_{v\in u}(f_v),\frac {min_{v\in u}(f_v)-a[u]}{2}+a[u])\)
  • 对于叶子:\(f_u=a_u\)
  • 对于根:\(f_u=a_u+min_{v\in u}(f_v)\)

E

  • 容易发现:对于一个怪物,k 越大,越容易蘸豆,k 越小,越不容易蘸豆
  • 观察询问的形式,大胆猜想回复询问是 \(O(1)\) 的;而我们对于每个怪物 \(i\),要计算出:k 至少为多少才能与这个怪物蘸豆
  • 考虑二分:设当前二分的值为 \(k\),则不与当前怪物蘸豆的充要条件是:\(k\times a_i<=在第 i 个怪物之前蘸豆的总次数\)
  • 注意到 \(在第i个怪物之前的蘸豆总次数\) 难以快速求出,但注意到,我们在计算到 \(i\) 时,已经算出了与前 \(i-1\) 个怪蘸豆所需的最小 \(k\),于是我们可以使用树状数组快速求出 \(在第i个怪物之前的蘸豆总次数\)
  • 时间复杂度 \(O(n\log^2{n})\)

标签:位置,前缀,min,题解,CF1997,样例,括号,怪物
From: https://www.cnblogs.com/yeyou26/p/18535919

相关文章

  • [USACO23JAN] Subtree Activation P 题解
    这种问题一看满足条件就知道,一般不用想着怎么模拟题意。考虑转化问题。假如节点\(u\)满足了条件一,也就是仅有子树节点全部开启。那么我们把转化具象为:进行\(\text{siz}_u\)次操作直接清空;进行\(\text{siz}_{\text{fa}(u)}-\text{siz}_u\)次操作使\(\text{fa}(u)\)满足......
  • 【题解】「NOIP2024模拟赛24 T2」子序列们
    【题解】「NOIP2024模拟赛24T2」子序列们https://www.becoder.com.cn/contest/5715/problem/2\(\mathcal{Description}\)给定一个0/1串\(a\),你需要生成一个长度为\(n\)的序列\(b\),其中\(b_i\)为\(a\)的一个子序列,且满足:\(|b_i|=n-i+1\);\(\foralli\in(1,n]\),\(b......
  • 题解:P11266 【模板】完全体·堆
    也算是对pb_ds库中的优先队列各种操作的科普?一些碎碎念提醒:你可以不看这部分,这部分算是作者探索未知功能的过程平常写优先队列的时候一般用不到对值进行修改或者删除的操作,所以我在看这到题的时候在想怎么才能实现题目中的操作,因为我不知道有什么成员函数可以直接获取具体哪......
  • Hive3.1.2搭建文档包含详细步骤及相关截图以及常见问题解决
    hive-3.1.2分布式搭建文档1、下载,上传,解压,配置环境变量#1、解压(解压到上级目录)tar-zxvfapache-hive-3.1.2-bin.tar.gz-C..#2、重名名mvapache-hive-3.1.2-binhive-3.1.2#3、配置环境变量vim/etc/profile#4、在最后增加配置exportHIVE_HOME=/usr/local/......
  • P1525 NOIP2010 提高组 关押罪犯 题解
    Link:P1525NOIP2010提高组关押罪犯-洛谷分析首先题目给出了罪犯与罪犯之间的矛盾关系,这让我们可以想到图或并查集。然后,题目又说了要把罪犯分入两个监狱,也就是把罪犯看作点,要把这些点分入两个集合,这很自然地可以想到二分图。再然后,市长只会去看列表中的第一个事件的影响力......
  • 题解
    最近模拟赛抽象题太多了,让他们聚一聚T1多校A层冲刺NOIP2024模拟赛18T3DBA暴力比较显然,直接数位dp就好,记搜的复杂度是\(O(n^4)\)的,用递推加前缀和优化可以优化为\(O(n^3)\),但我还是不理解\(O(n^3)\)凭啥能\(拿97pts\),虽然和正解没啥关系,但还是放一下记搜的代码:点击查看代码......
  • CF1995 题解
    B有n种物品,每种物品价格为$a_i$,数量为$c_i$。要求选取物品的方案,满足价格极差不超过1,价格总和不超过m。最大化价格总和。$n\le10^5,m\le10^{18},a_i,c_i\le10^9,a_i\neqa_j$显然只有\(x\)和\(x,x+1\)两种选择情况。\(x\)直接贪心选即可,考虑\(x,x+1\)。发......
  • ICPC23沈阳区域赛 D. Dark LaTeX vs. Light LaTeX 题解
    D.DarkLaTeXvs.LightLaTeXThe2023ICPCAsiaShenyangRegionalContest(The2ndUniversalCup.Stage13:Shenyang)给两个字符串\(s,t\),长度分别为\(n,m\),现在分别取\(s,t\)的子串\(s',t'\),合成一个新的长度为偶数的字符串\(str=s'+t'\),记\(str\)的长度为......
  • 题解:P11249 [GESP202409 七级] 小杨寻宝
    题目显然等价于问所有宝箱是否在一条链上。稍微转化一下题意,即我们现在要找到一条链,使得这条链上有宝物的节点数量尽可能多。想到这里我们发现这个和树的直径比较相似,那么我们直接大胆将深度定义为从根到这个节点上有宝箱节点的数量,然后做一遍树的直径。最后判断直径长度是否等......
  • 题解:3254. 长度为 K 的子数组的能量值
    Problem:3254.长度为K的子数组的能量值I题解:3254.长度为K的子数组的能量值给定一个数组nums和一个整数k,我们需要找出所有长度为k的子数组的“能量值”。根据题意:如果子数组是连续递增的,能量值等于子数组中的最大元素。否则,能量值为-1。以下是两种不同......