当前位置: 首页 > news >正文

郑州商城网站设计/全网营销的公司

郑州商城网站设计,全网营销的公司,网站制作 太原,北京行业网站制作HDU 4915 Parenthese sequence 题目链接 题意:给定一个有?的左右括号串,?能替代为(或),问括号匹配是否唯一或多种或不可能 思路:先从右往左扫一边,维护一个up, down表示当前位置右边右括号剩余个数的上限…

HDU 4915 Parenthese sequence

题目链接

题意:给定一个有?的左右括号串,?能替代为'('或')',问括号匹配是否唯一或多种或不可能

思路:先从右往左扫一边,维护一个up, down表示当前位置右边右括号剩余个数的上限和下限,假设维护完后起始位置的下限为0,那么就是能够的,由于为0就代表没有多余的右括号。然后在从左往右扫一遍,和上面一样的处理,仅仅是遇到每一个问号的位置时,试一下左括号和右括号,假设都满足,表示这个位置能放左右括号,是多种可能,假设全部?都仅仅有唯一的方法,那么答案就是唯一

代码:

#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;const int N = 1000005;char str[N];
int n, up[N], down[N], lup[N], ldown[N];bool init() {up[n - 1] = down[n - 1] = 1;int cnt = 0;for (int i = n - 2; i >= 0; i--) {if (str[i] == ')') {up[i] = up[i + 1] + 1;down[i] = down[i + 1] + 1;}else if (str[i] == '(') {up[i] = up[i + 1] - 1;down[i] = down[i + 1] - 1;if (down[i] < 0) {if (cnt == 0) return false;cnt--;if (up[i] == down[i]) up[i] = 1;down[i] = 1;}}else {up[i] = up[i + 1] + 1;down[i] = down[i + 1] - 1;if (down[i + 1] > 0 || cnt > 0) {down[i] = down[i + 1] - 1;if (down[i] < 0) {down[i] = 1;cnt--;}}else down[i] = down[i + 1] + 1;cnt++;}}return (down[0] == 0);
}void solve() {n = strlen(str);if (!init()) {printf("None\n");return;}lup[0] = ldown[9] = 1;for (int i = 1; i < n - 1; i++) {if (str[i] == '(') {lup[i] = lup[i - 1] + 1;ldown[i] = ldown[i - 1] + 1;}else if (str[i] == ')') {ldown[i] = ldown[i - 1] - 1;lup[i] = lup[i - 1] - 1;if (ldown[i] < 0) {if (lup[i] == ldown[i]) lup[i] = 1;ldown[i] = 1;}}else {int flag = 0;lup[i] = lup[i - 1] + 1;ldown[i] = ldown[i - 1] - 1;if (ldown[i] < 0) ldown[i] = 1;int u, d;u = lup[i - 1] + 1;d = ldown[i - 1] + 1;if (u >= down[i + 1] && d <= up[i + 1])flag++;u = max(0, lup[i - 1] - 1);d = max(0, ldown[i - 1] - 1);if (u >= down[i + 1] && d <= up[i + 1])flag++;if (flag == 2) {printf("Many\n");return;}}}printf("Unique\n");
}int main() {while (~scanf("%s", str)) {solve();}return 0;
}


转载于:https://www.cnblogs.com/blfshiye/p/4304300.html

http://www.jmfq.cn/news/5238523.html

相关文章:

  • 网站建设与网页设计制作书籍/合肥网络推广软件系统
  • 购物网站怎么做SEO/品牌营销策划怎么写
  • 企业网站建设规划的基本原则有哪些/搜索百度一下
  • wordpress+显示异常/东莞seo建站投放
  • 江西网站建设费用/人员优化方案
  • 做网站要求什么软件/品牌推广与传播方案
  • 网页制作与网站建设宝典pdf/大型网站建设
  • 无代码网站开发/百度推广运营这个工作好做吗
  • 网站建设预算明细/百度小程序入口
  • 沈阳做网站最好的公司/经典软文案例
  • 全网视频合集网站建设/如何推广品牌
  • 做五金有哪些网站推广/广告设计与制作需要学什么
  • 做网站有多赚钱/站长之家查询工具
  • 长春制作门户网站的公司/网站推广软件免费版
  • 付费推广方式有哪些/长沙seo优化推荐
  • 肇庆企业免费建站/推广发帖网站
  • 做网站的图片分类/seo排名资源
  • c 做网站怎么显示歌词/产品推广宣传方案
  • 做网站页面怎么做/seo排名优化工具
  • 苹果做封面下载网站/seo顾问服务 品达优化
  • 大型网站设计公司/哪里有永久免费建站
  • 做网站要学哪些/seo优化关键词放多少合适
  • 外贸专业网站制作/网络软文案例
  • 好看的网站颜色搭配/爱站网络挖掘词
  • 汽车app网站建设/云搜索神器
  • 网站开发工具安卓版/sem数据分析
  • 动态网站开发与全程实例/优化网站教程
  • 教学网站/抖音关键词排名
  • 做合法的海外购网站需要什么手续/广州网站排名优化公司
  • 设置本机外网ip做网站/百度关键词指数查询