【发布时间】:2015-12-16 04:08:48
【问题描述】:
问题是:
给定长度为n的字符串,m个查询。
-
每个查询都是以下两种情况之一:
- 相反地改变第i个字符
- 检查从第 u 个字符到第 v 个字符的子字符串是否是正确的括号表达式。如果是,则打印 1,否则打印 0。
时间限制:0.2s
在这些情况下,定义了正确的括号表达式:
长度为0的字符串
一个字符串只包含'('和')'
如果 A 是正确的括号表达式,那么 (A) 也是正确的括号表达式
如果A和B是正确的括号表达式,那么AB也是正确的括号表达式
我的主要想法类似于CodeForces上的问题380C,http://codeforces.com/blog/entry/10363
然后我检查给定范围内的最长子序列是否等于范围的长度,所以我会得到答案。但是我遇到了时间限制错误。
我整天在互联网上搜索这个,但我没有得到答案。如果你能帮助我,我将不胜感激。 :)
这是我的代码:https://github.com/hoangvanthien/GH_CppFiles/blob/master/SPOJ/NKBRACKE.cpp
【问题讨论】:
标签: c++ string algorithm tree interval-tree