一、The kth great number

题目链接:https://vjudge.net/problem/HDU-4006

用set写超时 (在VJ里,用C++显示Compilation Error,选择G++,则是TLE)

#include <iostream>
#include <set>
#include <cstdio>
#include <string>
#include <map>
#include <queue>
typedef long long ll;
using namespace std;int main ()
{string com;int n,x,k;while(scanf("%d",&n)!=EOF){multiset<int,greater<int>> s;multiset<int,greater<int>>::iterator it;cin >> k;while(n--){cin >> com;if(com=="I"){cin >> x;s.insert(x);}else if(com == "Q"){int count=0;for(it=s.begin();it!=s.end();it++){count++;if(count==k){cout << *it <<endl;break;}}}}}return 0;
}

之后再想一想的时候,发现set里面不允许有重复的字符,但是这个题目是可以存在重复的情况的,所以改用multiset,之后保证multiset里一直都只有k个数字(默认按照从小到大排列),所以保证了第一个数组是他的第k大数字。

#include <iostream>
#include <set>
#include <cstdio>
#include <string>
#include <map>
#include <queue>
typedef long long ll;
using namespace std;int main ()
{string com;int n,x,k;while(scanf("%d",&n)!=EOF){multiset<int> s;multiset<int>::iterator it;cin >> k;while(n--){cin >> com;if(com=="I"){cin >> x;s.insert(x);if(s.size()>k)s.erase(s.begin());}else if(com == "Q"){cout << *s.begin() << endl;}}}return 0;
}

二、排序

http://acm.hdu.edu.cn/showproblem.php?pid=1106

string + multiset

个人感觉用字符数组处理会很麻烦

一开始用的是set就会WA,因为set里没有重复的数字,但是这道题目里是允许有重复的数字的

#include <iostream>
#include <set>
#include <cstdio>
#include <string>
#include <map>
#include <queue>
#include <stack>
#include <algorithm>
#include <sstream>
typedef long long ll;
using namespace std;int main ()
{string s,s1;multiset<ll> t;s1.clear();s.clear();while(cin >> s){int i=0;while(i<s.length()){if(s[i]!='5'){s1+=s[i];}else{if(s1.empty()!=1){ll a;stringstream ss;ss << s1;ss >> a;t.insert(a);s1.clear();}}i++;}if(s1.empty()!=1){ll a;stringstream ss;ss << s1;ss >> a;t.insert(a);s1.clear();}multiset<ll>::iterator it;for(it=t.begin();it!=t.end();it++){if(it!=t.begin())  cout << " ";cout << *it ;}cout << endl;s.clear();s1.clear();t.clear();}return 0;
}

【ACM】 multiset 的 一些应用相关推荐

  1. 网内计算:可编程数据平面和技术特定应用综述

    网内计算:可编程数据平面和技术特定应用综述 摘要--与云计算相比,边缘计算提供了更靠近终端设备的处理,降低了用户体验的延迟.最新的In-Network Computing范例采用可编程网络元素在数据达 ...

  2. 解题报告(十三)中国剩余定理(ACM / OI)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量的题解和代码,题目难度不一 ...

  3. 《算法竞赛中的初等数论》(二)正文 0x20同余(ACM / OI / MO)(十五万字符数论书)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 写在最前面:本文部分内容来自网上各大博客或是各类图书,由我个人整理,增加些许见解,仅做学习交流使用,无 ...

  4. C++ STL泛型编程——在ACM中的运用

    学习过C++的朋友们应该对STL和泛型编程这两个名词不会陌生.两者之间的关系不言而喻,泛型编程的思想促使了STL的诞生,而STL则很好地体现了泛型编程这种思想.这次想简单说一下STL在ACM中的一些应 ...

  5. HDOJ 4302 Holedox Eating (multiset || 线段树)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4302 思路:很多人说这题是个线段树题...不过当时没想出来怎么用线段树做~后面再补吧... 比赛时用的 ...

  6. 这是一份简易的ACM模板

    1.基础算法 __int128 typedef __int128 LL; inline __int128 read(){__int128 x=0,f=1;char ch=getchar();while ...

  7. acm第一周学习总结

    acm第一周学习总结 一.学习内容总结 1.STL的简单应用:使用string定义字符串. 2.使用万能头文件#include<bits/stdc++.h> 3.使用sync_with_s ...

  8. ACM算法训练赛——STL(完结)

    STL训练赛 A - JiaoZhu and SC #include <bits/stdc++.h> #define int long long #define rep(i, a, b) ...

  9. ACM学习心得(5000字)

    ACM学习心得 姓名:  邓华伟          学号: 20163940           专业班级:计算机1班 转眼之间,一个学期就这么过去了,ACM课程也圆满的落下了帷幕,经过这一学期的学习 ...

最新文章

  1. python 重载_python模块重载的五种方法
  2. matlab中一组数取百分位数_GRE数学难题-正态分布+百分位数
  3. Exchange OWA管理-----HTTPS实现OWA表单
  4. Goods:图书模块按分类查询各层实现
  5. 微信8.0大更新,6大新功能加入!未来还将引入自己的输入法!
  6. 求n个数中的最大或最小k个数
  7. test of duplicate control id
  8. 导入mysql source_mysql导入source数据库
  9. 大一计算机专业学生如何在寒假充电?
  10. containerd客户端工具nerdctl的使用
  11. Spark学习-SparkSQL--03-SparkSQL CLI 建表查询出问题
  12. HUSD审计报告:托管账户储备超7.87亿美元
  13. 才发现,我已经过不起新年了
  14. 190712每日一句 生命的韧性
  15. vs2010 vs2012 插件小番茄 visual assist x破解版下载
  16. 在VS中一个项目下两个以上源文件怎么通过编译
  17. unity3d 嵌入 移动MM SDK 闪退的问题
  18. N32G457VEL7移植FreeRTOS代码
  19. java通过进程名称杀进程_根据进程名杀死进程 -kill进程名
  20. 实战详解Maven部署(deploy)jar到私有仓库Nexus及如何引入私仓jar包

热门文章

  1. 在Java中是如何定义和声明接口的?
  2. python值得报班学习吗
  3. 软件安全访谈:ZipSlip、NodeJS安全性和BBS攻击
  4. SilverLight 4页面跳转大全
  5. CSS盒模型及边距问题
  6. 单据自动转换并审核的方法示例
  7. js变量以及其作用域详解
  8. ecshop 商品颜色尺寸仿淘宝选择功能教程(2.7.0版本)
  9. 四 Vue学习 router学习
  10. 使用complete的图片属性检测图片是否加载完毕