[Codeforces730A. Toda 2] STL模拟+Skills

题目链接:[Codeforces730A. Toda 2]
题意描述:有一个长度为NN的数列r1,r2,…,rnr_1,r_2,\ldots,r_n,每次操作可以从中选2~min{5,N}\boldsymbol{2\text{~}min\{5, N\}}个数字,然后对选中的数字的rir_i全部减一,当rir_i为0时,减一还是00。经过上面一系列操作之后,可以让数列中每个rir_i都相等。求让数列所有元素相等并且元素的值尽可能大,变换的步数没有要求。
解题思路:利用multiset进行模拟。让每次只放2个或者3个数字。不去考虑放4个或者放5个。这样模拟起来就轻松多了。。

#include <bits/stdc++.h>
using namespace std;const int MAXN = 100 + 5;
const int INF = 0x3f3f3f3f;struct SNode {int r, id;SNode() {}SNode(int r, int id) : r(r), id(id) {}bool operator < (const SNode& e) const {return r > e.r;}
};int N;
vector<string> Ans;
multiset<SNode> S;int main() {
#ifndef ONLINE_JUDGEfreopen("input.txt", "r", stdin);
#endifios::sync_with_stdio(false);S.clear();Ans.clear();cin >> N;for (int i = 0, r; i < N; i++) {cin >> r;S.insert(SNode(r, i));}while (S.begin()->r != S.rbegin()->r) {int sz = S.size(), num = 2;if(S.count(*S.begin()) == 3) num ++;string buf(N, '0');vector<SNode> ar(num);for (int i = 0; i < num; i++) {SNode p = *S.begin(); S.erase(S.begin());buf[p.id] = '1';p.r = max(p.r - 1, 0);ar[i] = p;}S.insert(ar.begin(), ar.end());Ans.push_back(buf);}cout << S.begin()->r << "\n" << Ans.size() << "\n";copy(Ans.begin(), Ans.end(), ostream_iterator<string>(cout, "\n"));return 0;
}

[Codeforces730A. Toda 2] STL模拟+Skills相关推荐

  1. C++ STL : 模拟实现STL中的关联式容器unordered_map/unordered_set

    目录 unordered_map/unordered_set unordered_map/unordered_set与map/set的区别 底层哈希桶的改造 仿函数 Key值的获取方法 hash(ke ...

  2. 1/22 测试一(STL 模拟 贪心)C.(贪心,给出气球,输出最好成绩)Contest Balloons

    1/22 测试一(STL 模拟 贪心) C.(贪心,给出气球,输出最好成绩)Contest Balloons One tradition of ACM-ICPC contests is that a ...

  3. STL模拟实现1.0 -- list和iterator模拟实现和简单分析

    引言 C ++ 标准模本库<STL>中有很多优秀的代码实现,不然怎么能叫做C++标准模板库呢,其中一个实现就是有一个容器,叫做list.所谓容器其实就是存储相同类型数据的一个存储集合,li ...

  4. UVA-11995(STL+模拟)附讲解

    题目传送门 题目大意 给一个"包"(某种数据结构)输入一些数据,然后又从中取出一部分,根据这些数据判断这个"包"是哪种数据结构,对应输入"stack& ...

  5. C++ STL : 模拟实现STL中的容器适配器stack和queue

    目录 什么是容器适配器 stack stack的文档介绍-(来自cplusplus) stack的实现 queue queue的文档介绍-(来自cplusplus) queue的实现 什么是容器适配器 ...

  6. C++ STL : 模拟实现STL中的list类

    文章目录 list list的介绍 list的优缺点 list的迭代器失效问题 实现的接口 节点部分 迭代器部分 list部分 代码实现 list list的介绍 list的文档介绍 list是可以在 ...

  7. C++ STL : 模拟实现STL中的vector类

    文章目录 vector vector的介绍 vector的优缺点 实现时需要注意的细节问题 1. Capacity增长问题 2. memset等函数来带的按字节拷贝问题 3. 深浅拷贝问题 4. 迭代 ...

  8. 【51nod - 1875】 丢手绢(约瑟夫问题,可打表,用STL模拟)

    题干: 六一儿童节到了,小朋友们在玩丢手绢的游戏.总共有C个小朋友,编号从1到C,他们站成一个圈,第i(1<i<=C)个人的左边是i-1,第1个人的左边是C.第i(1<=i<C ...

  9. hrbust 1313 火影忍者之~静音【优先队列STL+模拟】

    火影忍者之-静音 Time Limit: 1000 MS Memory Limit: 32767 K Total Submit: 246(58 users) Total Accepted: 76(54 ...

  10. AtCoder - ABC 170 - D(思维+数论)E(STL+模拟)

    D - Not Divisible 题意: 现有一个长度为 n 的序列 A,请你输出满足以下条件的所有整数  的数量: 对于每一个整数 j (1 ≤ j ≤ n且 i ≠ j) ,  ≠ 0 ( mo ...

最新文章

  1. linux下进程的tty,Linux下TTY驱动程序分析
  2. 设计模式-观察者模式(Observer)
  3. 为什么 Java 线程没有 Running 状态?
  4. 训练技巧 | 功守道:NLP中的对抗训练 + PyTorch实现
  5. 【项目管理】git和码云的使用
  6. TreeCtrl 查找功能的最简单实现
  7. Scala构建工具SBT
  8. 网络安全公司的源代码遭泄露,售价25万美元
  9. 什么是统一架构框架 (Unified Architecture Framework)?
  10. 资源搜索神器 海量精品资源教程 大大啦啦资源神器
  11. 标签上title属性与alt属性的区别是什么
  12. 从Facebook上市看“社交网站效应”
  13. vscode 上使用 SDCC 工具链开发 8051(DHT11温湿度传感器示例)
  14. 《计算机网络》笔记摘抄汇总
  15. IOB, BIO, BIOES
  16. Python 遍历文件夹下所有文件 合并txt内容
  17. 深入理解JVM的PC寄存器(Program Counter Register)
  18. yolov5的detect.py代码详解
  19. 刀片服务器怎么连接显示屏,CMC是如何连接的 刀片管理模块的秘密
  20. 开源程序LAN_share 单例模式巧用

热门文章

  1. 【CodeForces 767C】Garland (树形DP)
  2. java实现心形图案|桃心_java实现心形图案
  3. 西门子smart200模拟量与左移右移指令
  4. 【真北读书】弗兰克意义三途径,让你人生的意义不漂移
  5. 电脑出现蓝屏运行慢怎么办
  6. 阅读高效能人士七个习惯
  7. matlab拟合度R方,...1),问题是什么是拟合优度?、R^2大于多少说明拟合度很好,R^2在...-拟合度-数学-冀群是同学...
  8. 摄影文件服务器,服务器和摄影摄像设备招标文件.pdf
  9. 51Talk-Level 7 Unit 1 L1
  10. 苹果手机系统更新信号无服务器,苹果手机经常显示无信号该如何解决你会吗?...