分析:这其实就是括号匹配题,一眼贪心题,不过一开始贪错了,以为([)]是合法的......其实括号之间不能嵌套.

一开始的想法是尽量往左边填左括号,因为每种括号的数量都确定了,那么左括号和右括号的数量也就确定了,但是这样会有一个问题:1 1 1 2 3 1 1 3 2 1,最后两个1被指定为右括号,这样的贪心会使它嵌套.正着贪心似乎很难,沿用之前模拟赛的思路,倒着贪心:从已知推向未知.

题目中告诉了右括号的位置,从后往前枚举,为了尽可能地防止嵌套,在右边如果能放左括号就尽量放左括号,不行就放右括号,最后判断一下能不能合法就可以了.

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>using namespace std;int n, m, a[1000010], cnt[1000010], pos[1000010],p[1000010], ans[1000010], tot[1000010];int main()
{scanf("%d", &n);for (int i = 1; i <= n; i++){scanf("%d", &a[i]);cnt[a[i]]++; }for (int i = 1; i <= n; i++)if (cnt[i] % 2 != 0){printf("NO\n");return 0;}scanf("%d", &m);for (int i = 1; i <= m; i++){int t;scanf("%d", &t);pos[t] = 1;}for (int i = n; i >= 1; i--){if (pos[i] == 1){tot[a[i]]++;ans[i] = 2;p[a[i]]--;}else{if (tot[a[i]] >= 1){tot[a[i]]--;ans[i] = 1;p[a[i]]++;}else{tot[a[i]]++;ans[i] = 2;p[a[i]]--;}}}for (int i = 1; i <= n; i++)if (p[i] != 0){printf("NO\n");return 0;}for (int i = 1; i <= n; i++){if (ans[i] == 1)printf("+%d ", a[i]);elseprintf("-%d ", a[i]);}return 0;
}

转载于:https://www.cnblogs.com/zbtrs/p/7780507.html

noip模拟赛 写代码相关推荐

  1. 【HHHOJ】NOIP模拟赛 捌 解题报告

    点此进入比赛 得分: \(30+30+70=130\)(弱爆了) 排名: \(Rank\ 22\) \(Rating\):\(-31\) \(T1\):[HHHOJ260]「NOIP模拟赛 捌」Dig ...

  2. NOIP模拟赛csy2021/10/30

    NOIP模拟赛csy2021/10/30 比赛时间规划 赛后反思与总结 这..总的来说感觉打的很不好,根本没有状态,有一部分原因是今天来晚了,太慌,更多的还是这次题感觉很难o(╥﹏╥)o 比赛时间规划 ...

  3. 【WZOI第二次NOIP模拟赛Day1T2】世界末日 解题报告

    [WZOI第二次NOIP模拟赛Day1T2]世界末日 Problem 2 世界末日 (doomsday.pas/c/cpp) 背景 话说CWQ大牛终于打开了那扇神秘大门,但迎接他的不是什么神秘的东西, ...

  4. 辣鸡(ljh) NOIP模拟赛 模拟 平面几何 数论 化学相关(雾)

    [题目描述] 辣鸡ljhNOI之后就退役了,然后就滚去学文化课了. 然而在上化学课的时候,数学和化学都不好的ljh却被一道简单题难住了,受到了大佬的嘲笑. 题目描述是这样的:在一个二维平面上有一层水分 ...

  5. NOI.AC NOIP模拟赛 第六场 游记

    NOI.AC NOIP模拟赛 第六场 游记 queen 题目大意: 在一个\(n\times n(n\le10^5)\)的棋盘上,放有\(m(m\le10^5)\)个皇后,其中每一个皇后都可以向上.下 ...

  6. 【noip模拟赛4】Matrix67的派对 暴力dfs

    [noip模拟赛4]Matrix67的派对 描述 Matrix67发现身高接近的人似乎更合得来.Matrix67举办的派对共有N(1<=N<=10)个人参加,Matrix67需要把他们安排 ...

  7. jyzy noip模拟赛5.22-2

    不知道哪来的题 jyzy noip模拟赛5.22-2 样例输入 1 2 3 4 样例输出 0.200000000000000 数据 |a|,|b|,|c|,|d|<=1e9 很多大佬迅速想到二分 ...

  8. NOIP 模拟赛 长寿花 题解

    NOIP 模拟赛 长寿花 题解 要放 \(n\) 层物品,第 \(i\) 层有 \(a_i\) 个位置放物品,物品有 \(m\) 中颜色,有约束条件: 同一层两个相邻物品颜色不能相同. 相邻两层颜色集 ...

  9. NOIP模拟赛套路技巧经验总结

    前言 还有2天就NOIP了,之前做了这么多场模拟赛,是时候拿出来总结一下, 算是给自己一针强心剂. 列表 从最近的考试总结起(个人认为的重点,可能有重复,仅供参考): (转化很重要,一定要简化问题过后 ...

最新文章

  1. 单片机音频节奏灯_用C51写的单片机音乐彩灯程序
  2. (转)mxArray数据类型
  3. 11.32 php扩展模块装安
  4. c语言 python rsa库_Python遇到性能瓶颈怎么办?
  5. IOS7新增120*120Icon图标
  6. C++ 变量判定的螺旋法则
  7. 大数据WEB阶段Spring框架(一)IOC控制反转、DI注入依赖
  8. LINUX 对引导加密
  9. 虚拟机网络配置详解(NAT、桥接、Hostonly)
  10. codeforces1494 D. Dogeforces(构造)
  11. LaTeX对公式字体加粗
  12. Spark入门-了解Spark核心概念
  13. 复制远程服务器的文件 报错 scp: not a regular file
  14. spss回归分析_SPSS之回归分析
  15. 力扣-746. 使用最小花费爬楼梯
  16. python贪吃蛇手机版代码_Python贪吃蛇简单的代码
  17. WPF的5种绑定模式(mode)
  18. Adobe Reader 下载
  19. 图片随意命名可能被广告拦截插件拦截
  20. Vue Cli脚手架安装与使用

热门文章

  1. php中 ob_start()有什么作用
  2. tar命令核心应用案列及多重参数和find组合应用
  3. 设置文字多行显示溢出显示省略号
  4. ASP.Net string 类的扩展方法 [转]
  5. js导航条 二级滑动 模仿块级作用域
  6. 对PostgreSQL SPI例子的学习
  7. APUE Chapter 1 - UNIX System Overview
  8. java线程提交_从Java线程到线程池
  9. python 读取当前文件夹下所有后缀为.lib文件
  10. 常用的C#正则表达式!