P1177快速排序
这是一个快速排序的模板题。拿到题后便写了quicksort(确定一个基准数,利用两个哨兵,把大的放右边,小的放左边,再递归实现排序),但是竟然TLE了60pts(???),于是翻看dalao们的题解,发现了堆排序(在清北学会了,但是一个学期后给忘了),然后看到了一个multiset(set去重,它不去),这个STL插入后自动排序,然后利用迭代器进行输出。STL大法好。
1.要养成用标准读入与输出的习惯
2.善于利用STL,平日还要多加积累
3.牢记迭代器语法
代码:
#include<iostream>
#include<set>
#include<cstdio>
#define N 1000005
using namespace std; int n;
int main(){
multiset<int>a;
scanf("%d",&n);
int x;
for(int i=;i<=n;i++){
scanf("%d",&x);
a.insert(x);
}
multiset<int>::iterator it;
for(it=a.begin();it!=a.end();it++){
cout<<*it<<" ";
}
return ;
}
P1177快速排序的更多相关文章
- 洛谷P1177快速排序
传送门 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> ...
- 【堆】【洛谷例题】p1090 p1334 p1177
(都是比较简单的典型的而且都是小根堆的例题) p1090 合并果子[传送门] 算法分析:要尽量使用最小的体力合并完所有果子,那么每次合并的两堆果子应该是这所有堆中最小的一个(因为越先合并的堆要被算的次 ...
- 洛谷 P1177 【模板】快速排序【13种排序模版】
P1177 [模板]快速排序 题目描述 利用快速排序算法将读入的N个数从小到大排序后输出. 快速排序是信息学竞赛的必备算法之一.对于快速排序不是很了解的同学可以自行上网查询相关资料,掌握后独立完成.( ...
- P1177 【模板】快速排序(学完归并和堆排之后的二更)
P1177 [模板]快速排序 不用说,连题目上都标了是一道模板,那今天就来对能用到的许多排序方式进行一个总结: 选择排序 选择排序(Selection sort)是一种简单直观的排序算法.它的工作原理 ...
- 洛谷——P1177 【模板】快速排序
P1177 [模板]快速排序. 题目描述 利用快速排序算法将读入的N个数从小到大排序后输出. 快速排序是信息学竞赛的必备算法之一.对于快速排序不是很了解的同学可以自行上网查询相关资料,掌握后独立完成. ...
- 洛谷 P1177 【模板】快速排序(排序算法整理)
P1177 [模板]快速排序 题目描述 利用快速排序算法将读入的N个数从小到大排序后输出. 快速排序是信息学竞赛的必备算法之一.对于快速排序不是很了解的同学可以自行上网查询相关资料,掌握后独立完成.( ...
- 洛谷 P1177 【模板】快速排序 【快速排序/multiset排序】
题目描述 利用快速排序算法将读入的N个数从小到大排序后输出. 快速排序是信息学竞赛的必备算法之一.对于快速排序不是很了解的同学可以自行上网查询相关资料,掌握后独立完成.(C++选手请不要试图使用STL ...
- 洛谷【P1177】【模板】快速排序
题目传送门:https://www.luogu.org/problemnew/show/P1177 快排是一种对于冒泡排序的优化. 对于区间\([l,r]\),我们选择一个键值\(k\),让比\(k\ ...
- 洛谷 P1177 【模板】快速排序
这道题用传统快排(如下所示)的结果就是最后三个点TLE: void swap(int &a, int &b) { int tmp = a; a = b; b = tmp; } void ...
随机推荐
- 9 斐波那契数列Fibonacci
题目1:写一个函数,输入n,求Fibonacci数列的第n项.该数列定义如下: n=0时,f(n)=0; n=1时,f(n)=1; n>1时,f(n)=f(n-1)+f(n-2) 1. 效率差的 ...
- OpenQA.Selenium.Chrome Action滑动操作
//[定位] //滑块元素 var wrapper = driver.FindElement(By.XPath("/html/body/div/div[1]/div[1]/div[2]&qu ...
- ASP.NET如何实现断点续传的上传、下载功能?
1 背景 用户本地有一份txt或者csv文件,无论是从业务数据库导出.还是其他途径获取,当需要使用蚂蚁的大数据分析工具进行数据加工.挖掘和共创应用的时候,首先要将本地文件上传至ODPS,普通的小文件通 ...
- Devexpress MVC Gridview 获取到增删改的所有行数据(JSON) 并使用SQL事物保存数据
//ModalChargeGridView Gridview的名字//Con_Shp_Chg 数据库表名//ConShpChgUID UID或者是标识列//gs_Language 语言(中英文)//l ...
- Spring Boot教程(九)异步方法
创建工程 在pom文件引入相关依赖: <dependency> <groupId>org.springframework.boot</groupId> <ar ...
- Spring Boot教程(一)在springboot中用redis实现消息队列
环境依赖 创建一个新的springboot工程,在其pom文件,加入spring-boot-starter-data-redis依赖: <dependency> <groupId&g ...
- Oracle使用正则表达式拆分字段里多行分布式值
不规范的表设计往往会带来程序设计上的麻烦,也会降低SQL的性能. 例如下表显示的内容: 这样我们调取多值字段用来做匹配的话就比较麻烦,我们可以通过正则表达式REGEXP_SUBSTR先将 多值得列分成 ...
- CentOS7修改计算机名!
https://www.cnblogs.com/acgpiano/p/4170546.html sudo hostnamectl set-hostname <host-name>
- 48 条高效率的 PHP 优化写法
来源:歪麦博客 https://www.awaimai.com/1050.html 1 字符串 1.1 少用正则表达式 能用PHP内部字符串操作函数的情况下,尽量用他们,不要用正则表达式, 因为其效率 ...
- PADS LAYOUT的一般流程
1.概述 本文档的目的在于说明使用PADS的印制板设计软件PowerPCB进行印制板设计的流程和一些注意事项,为一个工作组的设计人员提供设计规 范,方便设计人员之间进行交流和相互检查. 2.设计 ...