Parencodings

题意:

由括号序列S可经P规则和W规则变形为P序列和W序列。

p规则是:pi是第i个右括号左边的左括号的数;

w规则是:wi是第i右括号与它匹配的左括号之间右括号的数(其中包括它本身)。

题解:

这题真的好简单,数据也小,算是一个增加了我信心的题吧。 1是左括号,2是右括号。

代码:

#include <vector>
#include <cstdio>
#include <string>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
const int INF=0x3f3f3f3f;
typedef long long ll;
#define PU puts("");
#define PI(A) printf("%d\n",A)
#define SI(N) scanf("%d",&(N))
#define SII(N,M) scanf("%d%d",&(N),&(M))
#define cle(a,val) memset(a,(val),sizeof(a))
#define rep(i,b) for(int i=0;i<(b);i++)
#define Rep(i,a,b) for(int i=(a);i<=(b);i++)
#define reRep(i,a,b) for(int i=(a);i>=(b);i--)
const double EPS= 1e-9 ;/*  /     C o d i n g  S p a c e     /  */const int MAXN= 20 + 9 ;
int N;
vector<int > vei;
int main()
{int T;SI(T);while(T--){SI(N);int k=1;rep(i,N){int x;SI(x);for (int j=k;j<=x;j++){vei.push_back(1);}vei.push_back(2);k=x+1;}vector<int > vere;int d=vei.size();for (int i=d-1;i>=0;i--){if (vei[i]==2){int ans=0;int cnt1=0,cnt2=0;for (int u=i;u>=0;u--){if (vei[u]==2){cnt2++;ans++;}else{cnt1++;}if (cnt1==cnt2) break;}vere.push_back(ans);}}for (int i=vere.size()-1;i>=0;i--) printf("%d%c",vere[i],i==0?'\n':' ');vei.clear();}return 0;
}

转载于:https://www.cnblogs.com/s1124yy/p/5701604.html

hdu 1361 Parencodings 简单模拟相关推荐

  1. IoC容器总结与简单模拟

    IoC容器总结与简单模拟 当一个组件需要外部资源时,最直接也最明智的方法是执行查找,这种行为称为主动查找.但这种查找存在一个缺点--组件需要知道如何获得资源.那么它的解决方案是什么呢?请看下文. AD ...

  2. 使用动态代理简单模拟一下spring的事务管理

    按照平时写代码的习惯,我们会定义一个service接口 package com.proxy.test; public interface UserService {public void sayHel ...

  3. 7-18 银行业务队列简单模拟 (25 分)

    7-18 银行业务队列简单模拟 (25 分) 设某银行有A.B两个业务窗口,且处理业务的速度不一样,其中A窗口处理速度是B窗口的2倍 -- 即当A窗口每处理完2个顾客时,B窗口处理完1个顾客.给定到达 ...

  4. Jmeter简介以及简单模拟性能测试

    1.Jemter简介 1.我们为什么使用Jmeter 开源,免费,基于Java编写,可集成到其他系统可拓展各个功能插件 支持接口测试, 压力(负载和压力)测试等多种功能,支持录制回放, 入门简单相较于 ...

  5. JavaWeb学习总结(四十九)——简单模拟Sping MVC

    在Spring MVC中,将一个普通的java类标注上Controller注解之后,再将类中的方法使用RequestMapping注解标注,那么这个普通的java类就够处理Web请求,示例代码如下: ...

  6. 银行业务队列简单模拟 (25 分)c语言c++

    7-2 银行业务队列简单模拟 (25 分) 设某银行有A.B两个业务窗口,且处理业务的速度不一样,其中A窗口处理速度是B窗口的2倍 -- 即当A窗口每处理完2个顾客时,B窗口处理完1个顾客.给定到达银 ...

  7. NYOJ 题目77 开灯问题(简单模拟)

    开灯问题 时间限制:3000 ms  |            内存限制:65535 KB 难度:1 描述 有n盏灯,编号为1~n,第1个人把所有灯打开,第2个人按下所有编号为2 的倍数的开关(这些灯 ...

  8. FZU - 2202 犯罪嫌疑人(逻辑思维+简单模拟)

    题目链接:点击查看 题目大意:给出n和m,代表有n个人,每个人说一句话,指认一个人是无辜还是罪犯,总共有m个人说了真话,问每个人说话的真实性 题目分析:一拿到这个题目我是懵逼的..因为n给到了1e5, ...

  9. 7-45 银行业务队列简单模拟 (10 分)

    7-45 银行业务队列简单模拟 (10 分) 设某银行有A.B两个业务窗口,且处理业务的速度不一样,其中A窗口处理速度是B窗口的2倍 -- 即当A窗口每处理完2个顾客时,B窗口处理完1个顾客.给定到达 ...

最新文章

  1. 【组队学习】【25期】Datawhale组队学习内容介绍
  2. Exchange OWA管理-----HTTPS实现OWA表单
  3. Disruptor 源码阅读笔记--转
  4. 网络流 24 题汇总(LOJ 上只有 22 题???)
  5. 《软件项目管理(第二版)》第 2 章——项目准备和启动 重点部分总结
  6. zigbee的路由器能分配网络地址吗_家用无线路由器讲解
  7. Git修改提交的用户名和Email
  8. 老生常谈之CSS的垂直居中
  9. 机器视觉中的图像采集卡
  10. 阶段3 3.SpringMVC·_05.文件上传_3 文件上传之Springmvc方式上传原理分析
  11. 开源的SNMP网管系统LibreNMS
  12. Android:Java集合面试题集锦
  13. 走向世界中的我国摄影测量与遥感 ——访中国测绘学会理事长、国家测绘局原副局长杨凯
  14. 有了这套前端数据可视化框架,人人都能快速上手(赠100套前端可视化大屏模板)
  15. 【零基础】speech driven animation中文安装使用指南
  16. 局域网组网 | 路由器常用命令
  17. linux开篇——硬盘和mbr简介
  18. java整合支付宝遇到的坑及解决方法
  19. HttpClient设置HTTP请求头Header
  20. 『Python学习笔记』Python中的异步Web框架之fastAPI介绍RestAPI

热门文章

  1. DXUT实战1:CG+D3D9+DXUT(june_2010)
  2. python访问oracle_用Python操作Oracle
  3. 知识图谱组队学习Task04——知识库的查询语句
  4. efficientnet-yolo3-tf2的实现
  5. redmi airdots左右耳不串联怎么办_小米AirDots二代4小时售罄,告诉你戴狂卖3500万的耳机是什么感受...
  6. Meta-Learning
  7. selenium中录制拖拽动作
  8. zend新建php文件夹,php - 对于Zend的项目模块基于一步一步转化成文件夹结构 - SO中文参考 - www.soinside.com...
  9. BZOJ 2679 [Usaco2012 Open]Balanced Cow Subsets
  10. 使用TensorFlow 来实现一个简单的验证码识别过程