传送门

题意:n个人,每天只能进出办公室一次;现在给一个数组,问能分成几天,例如:8
(1 -1 1 2 -1 -2 3 -3)
可以分成:(1  -1) , (1 2 -1 -2) , (3 -3) 3天,或者 (1 -1) , (1 2 -1 -2 3 -3) 2天
分析:直接模拟
map 大法好 ,这里是用map模拟和标记,普通数组标记貌似会T
#include <set>
#include <map>
#include <cmath>
#include <stack>
#include <queue>
#include <string>
#include <vector>
#include<cstring>
#include <stdio.h>
#include <iostream>
#include <algorithm>
#define INF 0x3f3f3f3f
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
const int maxn=1e5+5;
int t,n;
map<int,int>mp,m;
int a[maxn],b[maxn],tot;
int main()
{cin>>n;for(int i=1;i<=n;i++)cin>>a[i];int ans=0,cnt=0;bool flag=false;for(int i=1;i<=n;i++){if(mp.count(a[i])==0&&a[i]>0) mp[a[i]]++,cnt++;else if(a[i]<0&&mp.count(-a[i])==1&&m.count(-a[i])==0) {mp.erase(-a[i]);m[-a[i]]=1;if(mp.empty()){b[tot++]=cnt*2,cnt=0,ans++;m.clear();}}else flag=true;}while (!mp.empty()){flag=true;mp.clear();}if(flag){printf("-1");return 0;}printf("%d\n",ans);for(int i=0;i<tot;i++)printf("%d ",b[i]);return 0;
}

codeforces.1253 B相关推荐

  1. CodeForces 1253 C. Sweets Eating DP

    一.内容 Tsumugi brought n delicious sweets to the Light Music Club. They are numbered from 1 to n, wher ...

  2. Codeforces 1253/C. Sweets Eating(前缀和+找规律)

    传送门 题意:给定一个长度为n的序列,代表每个糖果的糖度,每颗糖果经过d天后糖度将变为 d*ai ;xx每天最多可以吃k课糖果,问怎么选择糖果,使得吃掉 g 颗糖果xx获得的最少糖度:例如:n=9,k ...

  3. CodeForces 375D Tree and Queries

    传送门:https://codeforces.com/problemset/problem/375/D 题意: 给你一颗有根树,树上每个节点都有其对应的颜色,有m次询问,每次问你以点v为父节点的子树内 ...

  4. 「日常训练」Bad Luck Island(Codeforces Round 301 Div.2 D)

    题意与分析(CodeForces 540D) 是一道概率dp题. 不过我没把它当dp做... 我就是凭着概率的直觉写的,还好这题不算难. 这题的重点在于考虑概率:他们喜相逢的概率是多少?考虑超几何分布 ...

  5. 【codeforces 812C】Sagheer and Nubian Market

    [题目链接]:http://codeforces.com/contest/812/problem/C [题意] 给你n个物品; 你可以选购k个物品;则 每个物品有一个基础价值; 然后还有一个附加价值; ...

  6. CodeForces 获得数据

    针对程序的输出可以看见 CodeForces :当输入.输出超过一定字符,会隐藏内容 所以:分若干个程序进行输入数据的获取 1. 1 for (i=1;i<=q;i++) 2 { 3 scanf ...

  7. codeforces水题100道 第二十七题 Codeforces Round #172 (Div. 2) A. Word Capitalization (strings)...

    题目链接:http://www.codeforces.com/problemset/problem/281/A 题意:将一个英文字母的首字母变成大写,然后输出. C++代码: #include < ...

  8. CodeForces 595A

    题目链接: http://codeforces.com/problemset/problem/595/A 题意: 一栋楼,有n层,每层有m户,每户有2个窗户,问这栋楼还有多少户没有睡觉(只要一个窗户灯 ...

  9. codeforces A. Jeff and Digits 解题报告

    题目链接:http://codeforces.com/problemset/problem/352/A 题目意思:给定一个只有0或5组成的序列,你要重新编排这个序列(当然你可以不取尽这些数字),使得这 ...

最新文章

  1. ie8 script445: 对象不支持此操作_经验总结:上海增值税认证勾选安装和操作步骤...
  2. 实现一个反向传播人工神经网络
  3. Hadoop/HIVE错误解决方案汇总
  4. [UE4]子控件Child Widget顶层容器选择
  5. Struts2,Hibernate,Spring框架学习总结
  6. excel小技巧之如何提取指定字符之前的字段
  7. 调度工具之Azkaban 介绍
  8. 百度大脑推出智能招聘解决方案,助力节省招聘成本
  9. win7绕过开机密码
  10. 根据程序流程图化程序流图_程序流程图有什么用?简单实用的流程图模板大全...
  11. 基于腾讯旗下代码管理平台CODING的CI/CD集成
  12. OC底层 - runtime 一个char变量按位保存多个BOOL变量值
  13. Celery异步任务
  14. 对Rapidly-exploring Random Trees(RRT)路径规划方法的理解
  15. 总结论文中正负样本的选择
  16. 全国考研计算机成绩排名,全国33所计算机考研名校跨考难度系数排名
  17. Photoshop完全自学入门与经典实例全视频教程(更新完毕)
  18. windows10ftp搭建,实现主机与虚拟机文件传输文件,以及解决FTP文件夹错误,无法与服务器建立连接。
  19. 十款经典php网店系统
  20. linux常规实战(三)简单的samba共享实现

热门文章

  1. 【CSharp】延迟初始化(Lazy)
  2. 一文了解“什么是ACL”、“什么是EACL”、“什么是NAACL”、“什么是AACL”国际会议
  3. 1004_Median
  4. 在access中一列称为_在数据表中,每一行称为一条____,每一列称为一个____。
  5. Promise回调地狱的拯救者
  6. Internet Explorer 编程简述(序)
  7. ColorOS 13流畅吗?看OPPO在系统上做了哪些升级?
  8. 图像处理笔记二(阙值、霍夫变换、重映射)
  9. mysql中日期相减_Excel日期和时间运算
  10. 16、Mediator 仲裁者模式