[Codeforces730A. Toda 2] STL模拟+Skills
[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相关推荐
- C++ STL : 模拟实现STL中的关联式容器unordered_map/unordered_set
目录 unordered_map/unordered_set unordered_map/unordered_set与map/set的区别 底层哈希桶的改造 仿函数 Key值的获取方法 hash(ke ...
- 1/22 测试一(STL 模拟 贪心)C.(贪心,给出气球,输出最好成绩)Contest Balloons
1/22 测试一(STL 模拟 贪心) C.(贪心,给出气球,输出最好成绩)Contest Balloons One tradition of ACM-ICPC contests is that a ...
- STL模拟实现1.0 -- list和iterator模拟实现和简单分析
引言 C ++ 标准模本库<STL>中有很多优秀的代码实现,不然怎么能叫做C++标准模板库呢,其中一个实现就是有一个容器,叫做list.所谓容器其实就是存储相同类型数据的一个存储集合,li ...
- UVA-11995(STL+模拟)附讲解
题目传送门 题目大意 给一个"包"(某种数据结构)输入一些数据,然后又从中取出一部分,根据这些数据判断这个"包"是哪种数据结构,对应输入"stack& ...
- C++ STL : 模拟实现STL中的容器适配器stack和queue
目录 什么是容器适配器 stack stack的文档介绍-(来自cplusplus) stack的实现 queue queue的文档介绍-(来自cplusplus) queue的实现 什么是容器适配器 ...
- C++ STL : 模拟实现STL中的list类
文章目录 list list的介绍 list的优缺点 list的迭代器失效问题 实现的接口 节点部分 迭代器部分 list部分 代码实现 list list的介绍 list的文档介绍 list是可以在 ...
- C++ STL : 模拟实现STL中的vector类
文章目录 vector vector的介绍 vector的优缺点 实现时需要注意的细节问题 1. Capacity增长问题 2. memset等函数来带的按字节拷贝问题 3. 深浅拷贝问题 4. 迭代 ...
- 【51nod - 1875】 丢手绢(约瑟夫问题,可打表,用STL模拟)
题干: 六一儿童节到了,小朋友们在玩丢手绢的游戏.总共有C个小朋友,编号从1到C,他们站成一个圈,第i(1<i<=C)个人的左边是i-1,第1个人的左边是C.第i(1<=i<C ...
- hrbust 1313 火影忍者之~静音【优先队列STL+模拟】
火影忍者之-静音 Time Limit: 1000 MS Memory Limit: 32767 K Total Submit: 246(58 users) Total Accepted: 76(54 ...
- AtCoder - ABC 170 - D(思维+数论)E(STL+模拟)
D - Not Divisible 题意: 现有一个长度为 n 的序列 A,请你输出满足以下条件的所有整数 的数量: 对于每一个整数 j (1 ≤ j ≤ n且 i ≠ j) , ≠ 0 ( mo ...
最新文章
- linux下进程的tty,Linux下TTY驱动程序分析
- 设计模式-观察者模式(Observer)
- 为什么 Java 线程没有 Running 状态?
- 训练技巧 | 功守道:NLP中的对抗训练 + PyTorch实现
- 【项目管理】git和码云的使用
- TreeCtrl 查找功能的最简单实现
- Scala构建工具SBT
- 网络安全公司的源代码遭泄露,售价25万美元
- 什么是统一架构框架 (Unified Architecture Framework)?
- 资源搜索神器 海量精品资源教程 大大啦啦资源神器
- 标签上title属性与alt属性的区别是什么
- 从Facebook上市看“社交网站效应”
- vscode 上使用 SDCC 工具链开发 8051(DHT11温湿度传感器示例)
- 《计算机网络》笔记摘抄汇总
- IOB, BIO, BIOES
- Python 遍历文件夹下所有文件 合并txt内容
- 深入理解JVM的PC寄存器(Program Counter Register)
- yolov5的detect.py代码详解
- 刀片服务器怎么连接显示屏,CMC是如何连接的 刀片管理模块的秘密
- 开源程序LAN_share 单例模式巧用
热门文章
- 【CodeForces 767C】Garland (树形DP)
- java实现心形图案|桃心_java实现心形图案
- 西门子smart200模拟量与左移右移指令
- 【真北读书】弗兰克意义三途径,让你人生的意义不漂移
- 电脑出现蓝屏运行慢怎么办
- 阅读高效能人士七个习惯
- matlab拟合度R方,...1),问题是什么是拟合优度?、R^2大于多少说明拟合度很好,R^2在...-拟合度-数学-冀群是同学...
- 摄影文件服务器,服务器和摄影摄像设备招标文件.pdf
- 51Talk-Level 7 Unit 1 L1
- 苹果手机系统更新信号无服务器,苹果手机经常显示无信号该如何解决你会吗?...