2014 - 2015东京区域赛:Problem G Flipping Parentheses【线段树变种】
比赛链接本题题意:给你一个合法的括号串,比如(())()()()()然后会改变q次,每次改变一个括号的朝向,然后你要输出一个数ans表示你要翻转第ans个括号的朝向使得新的串仍然是合法的;同时如果存在多个ans,请对最左边的括号操作。即要求找一个leftest 下标翻转后能保持括号信息正常;括号匹配容易想到栈和前缀和。栈排除,因为有q次操作;前缀和设左括号为+1,右括号为-1,于是能得到一个前缀和串;容易知道,括号串合法的充要条件是前缀和串处处不为负数;又双叒叕容易想到:如果翻转了pos位置的一
原创
2021-05-18 09:51:32 ·
205 阅读 ·
0 评论