- 2024-10-03题解:CF1976D Invertible Bracket Sequences
可以在cnblog中阅读。题意给一个合法括号序列,问有多少区间\([l,r]\),使得将区间内的每个括号翻转后,括号序列仍合法。分析十分套路地,我们将(看成\(+1\),将)看成\(-1\),则一个括号序列合法的充要条件是转换后的序列满足:前缀和任意位置非负;最后一项为\(0\)。考虑翻转
- 2024-09-25列序号括(bracket)
列序号括(bracket)题面在比赛下发文件里。给你一个括号序列,你可以删除\(i,j\)当\(i<j\)且\(s_i=\)(,\(s_j=\))。问可以形成的字典序最小的括号序列是什么。首先我们要有一点贪心地考虑什么时候我们才会删除一对括号。如果我们要删除的一对括号中间有东西没有被删除,若中间有)
- 2024-09-18Rainbow Bracket Sequence
The2024ICPCAsiaEastContinentOnlineContest(I)题意构造长度为\(2n\)的合法括号序列。对于每个左括号在的位置\(i\),都有颜色\(c_i\)和价值\(v_i\)。左括号颜色视为所在位置颜色,价值同理。对于每个颜色,满足左括号为该颜色的个数\(\geql_i\)。求满足以上
- 2024-09-18Rainbow Bracket Sequence
括号序列匹配+最优化问题+一系列限制条件+较小的数据范围=最小费用最大流模型拆点难以解决重复的问题,既然如此那就不拆点了,用流向代表左右括号的选择每一次bfs,总流量增加,总费用也是增加的,但是退流的边还是要归还费用【直觉就不对劲呀,多想一下吧】注意,当li的限制超过节点总数时
- 2024-09-11键盘特殊字符对应的英语单词
本文记述了常见英语键盘上的特殊符号所对应的英语单词,全文如下。符号英语单词备注`backtick~tilde!exclamationpoint@at#number/pound$dollar%percentage^caret&ersand*asterisk(openparenthesis/openro
- 2024-07-31Invertible Bracket Sequences
看到这种类似的括号匹配的题目,一定要想到卡特兰数的证明过程呀(将(看成\(1\),)看成\(-1\),于是不难得出充分条件,虽然这道题目并不是直接这么给的,但是我看没人证明)剩下的看官方题解就好了,之所以可以删掉官方题解所说的\(x\),是因为接下来如果\(x\)是\(r_1\)的答案候选项的话,由于\(r_1>
- 2024-07-29Bracket Sequences II
原题链接题解一个合法的括号序列,满足长度为偶数前缀和处处不小于0左括号等于右括号数量code#include<bits/stdc++.h>#definelllonglong#definelowbit(x)((x)&(-x))usingnamespacestd;constllinf=1e18;constllmod=1e9+7;llqpow(lla,lln){
- 2024-06-20D. Invertible Bracket Sequences
原题链接题解把(当作+1,)当作-1,我们可以得到这样的图像易得要保证翻完之后整体的合法性,\([l,r]\)内的左右括号数量要相等,在图上看就是\(pre[l-1]==pre[r]\)相等一个合法括号,要保证所有的\(pre[i]\)不小于0,因此反过来之后,最小的\(pre[i]\)等于\(pre[r]-\max(pre[k]),k\in
- 2024-06-01ABC 312D题 Count Bracket Sequences
题意给定一个非空的字符串,其由(,),?三个字符构成,其中?可以被(或者)给替换掉,求替换后的字符串是符合括号匹配的情况下的方案数。最后答案对mod=998244353取模思路应该算是一个板题,一开始的想法是往卡特兰数的方向思考,但是可能是我太水了没想出来,然后一想到卡特兰数的dp求法,就
- 2024-05-31D. Invertible Bracket Sequences
D.InvertibleBracketSequencesAregularbracketsequenceisabracketsequencethatcanbetransformedintoacorrectarithmeticexpressionbyinsertingcharacters'1'and'+'betweentheoriginalcharactersofthesequence.Forexam
- 2024-05-30QOJ 4824 Bracket-and-bar Sequences
考虑到这个实际上没有特别好的表示方法。不如从\(n\le25\),猜想合法的序列数量不多。考虑对这个计数。类似于合法括号序计数,考虑把串拆为\(\texttt{(}\cdots\texttt{|}\cdots\texttt{)}\cdots\)来考虑。那么令\(f_i\)表示\(i\)对\(\texttt{(|)}\)组成的序列的数量。
- 2024-04-07每日一题: 有效括号
面对这个括号匹配的问题,我开始也有点迷茫,隐约觉得可以用栈(Stack)来解决。一起先来看看原题吧:Givenastringscontainingjustthecharacters'(',')','{','}','['and']',determineiftheinputstringisvalid.Aninputstringisva
- 2024-03-31[hdu6647]Bracket Sequences on Tree 解题报告
oj:https://gxyzoj.com/d/hzoj/p/3575因为自己的脑残原因,调了8个小时啊!!!切入正题Part1假定1为根,可以发现,如果u的两棵子树同构,则他们遍历的顺序不影响答案所以,就可以将子树按哈希值分类,这道题就变成了一个可重复组合问题,设\(f_i\)表示以1为根时i的方案数,\(a_i\)表示某一种哈
- 2024-03-11ARC173D-Bracket Walk
题意给定一个\(n\)个点\(m\)条边的有向强联通图,每条边为'('或')',问是否存在一条回路,使得每条边至少经过一次,且路径的边按顺序拼接后形成的字符串为合法括号序列输出'Yes'or'No'\(n\le4000\)、\(m\le8000\)做法边'('、')'分别替换成权值\(+1,-1\)观察1:题意可以转化成:找
- 2024-03-07[HDU6647] Bracket Sequences on Tree 题解
[HDU6647]BracketSequencesonTree题解一道纯靠自己推出来的换根\(dp+\)树哈希,写篇题解庆祝一下~~题意:给定一棵无根树,你可以任意选择根节点和遍历顺序,每次遍历时进入一个节点就标记一个(,离开一个节点就标记一个),问所有存在的括号序列有多少种,对998244353取模。先考虑根固
- 2024-02-29Codeforces 1830C Hyperregular Bracket Strings
考虑到区间的限制\([l,r]\)就是要求\([l,r]\)里的字符会在\([l,r]\)里找到匹配。假设还有个区间\([l',r']\)满足\(l\lel'\ler\ler'\),能够发现限制变成了\([l,l'),[l',r],(r,r']\)这\(3\)个区间内的字符能在对应区间内找到匹配。继续,假设\(l\lel'\le
- 2024-02-21Hutool一些字符常量
字符串常量Hutool定义了一些字符常量,可以灵活使用。部分常量如下所示:一些常量StrUtil.DOT点StrUtil.DOUBLE_DOT双点StrUtil.UNDERLINE下划线StrUtil.EMPTY横杠StrUtil.BACKSLASH反斜杠StrUtil.DASHED破折StrUtil.BRACKET_END右中扩号StrUtil.BRACKET_START
- 2024-01-21Beautiful Bracket Sequence (easy version)
传送门。题意一个含未知字符的括号序列,一个括号序列的权值是这个括号序列的最大深度。问所有可能的括号序列的权值和为多少。分析我们寻找一下深度的快速计算方式。可以发现两个巧妙的性质。以某一个位置分割,左边的左括号数量和右边的右括号数量的较小值就是这个位置的最大
- 2024-01-20CF1830C Hyperregular Bracket Strings
HyperregularBracketStringsLuoguCF1830C题目描述给定一个数\(n\)和\(k\)个区间\(\left[l_i,r_i\right]\in[1,n]\)。我们定义,对于一个长度为\(n\)的,仅由(和)组成的合法括号序列,如果它的每一个区间\(\left[l_i,r_i\right]\)内的子串都是合法括号序列,那么这个
- 2023-12-13[ARC141C] Bracket and Permutation
考虑假设已知括号序列\(s\),如何求出\(p,q\)。对于求\(p\),考虑从\(s_1\)到\(s_n\)逐个往里放,如果能放就直接放,肯定不劣,否则就从后面抽最近的左括号放过来,然后继续放。不难证明不存在更优方案,对于\(q\)同理。接下来我们发现,如果\(p\)中存在\(p_i<p_{i-1}\),\(s_{p_{i
- 2023-11-01D. Bracket Coloring
D.BracketColoring题目大意:给你一组括号序列,要求你将涂颜色括号分类,相同颜色为一组,每组括号按他们出现的顺序可以构成一个漂亮序列如果满足以下条件之一,则括号序列称为优美序列:它是一个规则的括号序列;如果该序列中的字符顺序颠倒,它就会变成一个规则的括号序列。思路:首
- 2023-10-15CF1264D2 Beautiful Bracket Sequence
第二次听这道题,写个推导过程。考虑对于给定的括号序列如何算答案,考虑最终答案对应回原序列的位置,于是我们要找到一个位置让其左边的左括号与右边的右括号一样多。因为挪指针时两者之一一定变化,并且两边均单调,所以这个分界点是唯一的。考虑枚举分界点算答案。假设左边有\(x\)个
- 2023-09-26arc120D - Bracket Score 2
D-BracketScore2看了题解之后发现自己是弱智如果能够猜到答案就是前n大-前n小,那么这题就解决了,直接用一个栈模拟匹配即可。#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>#include<queue>#definefo(i,a,b)for(int(i)=(a);(i)<=(b);(i)++)
- 2023-09-20对队员个人项目的简评
话不多说直接进入代码,下面附上队员.cpp的代码:#include"implement.h"intmain(){stringstr1;while(1){system("cls");My_Login();here:Create_test();cout<<"==============================================================
- 2023-09-15gym104531 I Bracket
题意题面做法结论:对于字符串\(s\),其为合法括号序列的充要条件为(1)\(|s|\)为偶数,(2)构造序列\(a_i\),若\(s_i\)='('or'?',则\(a_i=+1\);若\(s_i\)=')',则\(a_i=-1\),\({a_i}\)的前缀和均\(\ge0\)(3)构造序列\(b_i\),若\(s_i=\)')'or'?'