首页 > 其他分享 >QOJ # 7106. Infinite Parenthesis Sequence

QOJ # 7106. Infinite Parenthesis Sequence

时间:2023-09-12 19:12:08浏览次数:54  
标签:全场 往右 leq Sequence 括号 Infinite QOJ

题面传送门

为什么全场切我不会?为什么全场切我不会?为什么全场切我不会?

首先因为题目中要求左括号个数,我们就来关注一下左括号。

对于一个左括号,假设它右边是右括号,那么这个左括号就会往右走,否则不会往右走。随便选个左括号开始标号,往左为负,往右为正,设 \(p(k,i)\) 表示第 \(i\) 个左括号在第 \(k\) 阶数列中的位置,那么有递推关系 \(p(k+1,i)=\min(p(k,i)+1,p(k,i+1)-1)\),一直递推到 \(k=0\) 就是 \(p(k,i)=\min\limits_{i\leq j\leq i+k}(p(0,j)+k-2(j-i))\),如果左括号的个数大于长度的一半,可以反转整个序列和序列的内容,以及询问,那么只需要处理 \(2n\) 范围内的 st 表就可以查询某个数的位置了。

对于每个询问二分出第一个在这个区间内的左括号和最后一个在这个区间内的左括号即可。时间复杂度 \(O(n\log n+q\log V)\)。

submission

标签:全场,往右,leq,Sequence,括号,Infinite,QOJ
From: https://www.cnblogs.com/275307894a/p/17697568.html

相关文章

  • 10408 - Farey sequences - UVa
    题目要求:给定一个数n,求1—n之间有多少对互质的数,phi【i】数组表示i之前有多少个和i互质的数,a【i】表示前phi【1】+phi【2】+……+phi【i】;a【n】数组就是1---n之间互质的数的对数。。#include<stdio.h>#include<string.h>longlonga[1000010],phi[1000010];longlongn,i,j;i......
  • abc271e Subsequence Path
    E-SubsequencePath第一眼看过去感觉又是什么魔改BFS的样子,但是感觉不好弄但是往dp上想就很容易\(f[i]\)表示走到i的最小代价,按着给出的序列顺序转移即可,转移是O(1)的。代码非常简单#include<cstdio>#include<algorithm>#definefo(i,a,b)for(int(i)=(a);(i)<=(b);(i)......
  • QOJ # 5573. Holiday Regifting
    题面传送门感觉有点奇妙。首先一个基础的想法就是一个一个往下推,维护每个数往下推的次数,统计当前数在前面的所有数一次归零后会加几次,然后计算这个数需要前面几轮归零,这样将这些系数乘起来就是需要归零的次数了。但是现在有一个问题就是前面每个数往下推的次数可能很大,这东西存......
  • sv宏展开+参数化类+uvm_coreservice_t+m_sequencer的出现
    sv的宏展开https://www.systemverilog.io/verification/macros/`"包括双引号,双引号内的参数应替换,并且任何嵌入的宏都应该展开。`\`"在宏拓展结果中使用双引号。参数化类如果是要传入一种类型,使用关键字typeclasspacket#(intsize=1);//定义参数化类 bit[size-1......
  • 【CF1527C】Sequence Pair Weight
    题目大意:给出一个长度为\(n(1\len\le10^{5})\)的序列\(a_1,a_2,...,a_n\),计算\(\sum_{1\lel<r\len}\sum_{l\lei<j\ler}[a_i=a_j]\)\(\sum_{1\lel<r\len}\sum_{l\lei<j\ler}[a_i=a_j]=\)\(\sum_{1\lei<j\len}[a_i=a_j]\timesi\t......
  • [ABC248Ex] Beautiful Subsequences
    题意给定排列$P_n$和整数$k$,求满足如下条件的点对$(l,r)$数量。$1\lel\ler\len$。$\max_{i=l}^rP_i-\min_{i=l}^rP_i\ler-l+k$。数据范围\(1\leqN\leq1.4\times10^5\)\(P\)为\(1\)到\(N\)的排列\(0\leqK\leq3\)题解......
  • postgresql sequence是什么?
    在PostgreSQL中,序列(Sequence)是一种特殊的数据库对象,用于生成唯一的整数序列。序列可以在需要连续的、唯一的标识符时使用,例如为表中的每行分配一个唯一的ID。要创建一个序列,可以使用以下语法:CREATESEQUENCEsequence_name;其中,sequence_name是你为序列指定的名称。你还可以......
  • 推荐一个react上拉加载更多插件:react-infinite-scroller
    推荐一个react上拉加载更多插件:react-infinite-scroller 在开发网页和移动应用时,经常需要处理大量数据的展示和加载。如果数据量非常大,一次性全部加载可能会导致页面卡顿或崩溃。为了解决这个问题,我们可以使用无限滚动(InfiniteScroll)的技术。React提供了一个方便的组件库,即......
  • 推荐一个react上拉加载更多插件:react-infinite-scroller
    在开发网页和移动应用时,经常需要处理大量数据的展示和加载。如果数据量非常大,一次性全部加载可能会导致页面卡顿或崩溃。为了解决这个问题,我们可以使用无限滚动(InfiniteScroll)的技术。React提供了一个方便的组件库,即react-infinite-scroller,它可以帮助我们实现无限滚动的功能。......
  • [LeetCode][300]longest-increasing-subsequence
    ContentGivenanintegerarraynums,returnthelengthofthelongeststrictlyincreasingsubsequence. Example1:Input:nums=[10,9,2,5,3,7,101,18]Output:4Explanation:Thelongestincreasingsubsequenceis[2,3,7,101],thereforethelengthis4.E......