前m大的数(哈希入门)&&sort
http://acm.hdu.edu.cn/showproblem.php?pid=1280
普通方法(625ms)
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int b[*];
int cmp(const void *a,const void *b)
{
return *(int *)b-*(int *)a;
}
int main()
{
int n,m;
int a[];
while(scanf("%d%d",&n,&m)!=EOF)
{
int k=;
for(int i=;i<n;i++)
scanf("%d",&a[i]);
for(int i=;i<n;i++)
{
for(int j=i+;j<n;j++)
b[k++]=a[i]+a[j];
}
qsort(b,k,sizeof(b[]),cmp);
printf("%d",b[]);
for(int i=;i<m;i++)
{
printf(" %d",b[i]); }
printf("\n");
}
return ;
}
哈希(15ms)
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
int n,m;
int a[],b[];
while(scanf("%d%d",&n,&m)!=EOF)
{
memset(b,,sizeof(b));
for(int i=;i<n;i++)
scanf("%d",&a[i]);
for(int i=;i<n;i++)
{
for(int j=i+;j<n;j++)
b[a[i]+a[j]]++;
}
int flag=;
int l=;
for(int i=;i>=;i--)
{
while(b[i])
{
if(flag==)
{
printf("%d",i);
flag=;
}
else printf(" %d",i);
b[i]--;
l++;
if(l==m) break;
}
if(l==m) break; }
printf("\n");
}
return ;
}
http://acm.hdu.edu.cn/showproblem.php?pid=1425
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define N 500000
int b[];
int main()
{
int n,m,t;
while(scanf("%d%d",&n,&m)!=EOF)
{
memset(b,,sizeof(b));
for(int i=;i<n;i++)
{
scanf("%d",&t);
if(t<)
b[t+N]++;
else b[t+N]++;
}
int flag=;
int l=;
for(int i=;i>=;i--)
{
while(b[i])
{
if(flag==)
{
printf("%d",i-N);
flag=;
}
else printf(" %d",i-N);
b[i]--;
l++;
if(l==m) break;
}
if(l==m) break; }
printf("\n");
}
return ;
}
前m大的数(哈希入门)&&sort的更多相关文章
- hdu 1280 前m大的数 哈希
前m大的数 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Subm ...
- hdu---(1280)前m大的数(计数排序)
前m大的数 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
- 找出数组前N大的数
这个题也是个比较有名的面试题.当然有很多变种. 题目意思基本是:从一个数据量很大的数组里找前N大的元素.不允许排序. 这个题有两个比较好的思路: 思路一:用快速排序的思想,是思想,不是要排序; 思路二 ...
- HDU 1280 前m大的数
http://acm.hdu.edu.cn/showproblem.php?pid=1280 前m大的数 Time Limit: 2000/1000 MS (Java/Others) Memory L ...
- 输出前n大的数(分治)
描述:给定一个数组包含n个元素,统计前m大的数并且把这m个数从大到小输 出. 输入: 第一行包含一个整数n,表示数组的大小.n < 100000.第二行包含n个整数,表示数组的元素,整数之间以一 ...
- 4J - 前m大的数
还记得Gardon给小希布置的那个作业么?(上次比赛的1005)其实小希已经找回了原来的那张数表,现在她想确认一下她的答案是否正确,但是整个的答案是很庞大的表,小希只想让你把答案中最大的M个数告诉她就 ...
- 前m大的数(hdu1280)
前m大的数 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Subm ...
- 7617:输出前k大的数
7617:输出前k大的数 查看 提交 统计 提问 总时间限制: 10000ms 单个测试点时间限制: 1000ms 内存限制: 65536kB 描述 给定一个数组,统计前k大的数并且把这k个数从大到小 ...
- 输出前 k 大的数
总时间限制: 10000ms 单个测试点时间限制: 1000ms 内存限制: 65536kB 描述 给定一个数组,统计前k大的数并且把这k个数从大到小输出. 输入 第一行包含一个整数n,表示数组的大小 ...
- 杭电 1280 前m大的数
http://acm.hdu.edu.cn/showproblem.php?pid=1280 前m大的数 Time Limit: 2000/1000 MS (Java/Others) Memor ...
随机推荐
- WP8.1学习系列(第一章)——添加应用栏
做过android开发的同学们应该都知道有个ActionBar的头部操作栏,而wp也有类似的一个固定在app页面里通常拥有的内部属性,就是应用栏.以前叫做ApplicationBar,现在wp和win ...
- springbatch---->springbatch的使用(三)
这里我们对上篇博客的例子做一个修改性的测试来学习一下springbatch的一些关于chunk的一些有用的特性.我渐渐能意会到,深刻并不等于接近事实. springbatch的学习 一.chunk的s ...
- css笔记 - 张鑫旭css课程笔记之 vertical-align 篇
支持负值的属性: margin letter-spacing word-spacing vertical-align 元素vertical-align垂直对齐的位置与前后元素都没有关系元素vertic ...
- sql management studio正则替换sql
需要把create proc xxx替换为 drop proc xxx go create proc xxx 方法,使用正则查找替换 create procedure {\[dbo\]\.[^\(]+ ...
- ant重新编译打包hadoop-core-1.2.1.jar时遇到的错
错误1. [root@MyDB01 hadoop]# ant -Dversion=1.2.1 examples 错误: 找不到或无法加载主类 org.apache.tools.ant.launch.L ...
- Elasticsearch学习之SearchRequestBuilder的query类型
1. 分词的时机 对于ES来讲,可以对文档的内容进行分词(前提是设置了analyzed),也可以对输入的搜索词进行分词.对输入的搜索词进行分词时需要看下使用的什么类型的query.不同的query可能 ...
- storm事务
1. storm 事务 对于容错机制,Storm通过一个系统级别的组件acker,结合xor校验机制判断一个msg是否发送成功,进而spout可以重发该msg,保证一个msg在出错的情况下至少被重发一 ...
- [原]linux下将网卡设置为混杂模式
设置为混杂模式ifconfig eth2 promisc取消设置ifconfig eth2 -promisc ------------------------------------------ 下面 ...
- ssh免密码登录之ssh-keygen的用法
A服务器:192.168.100.2 B服务器:192.168.100.3 要达到的目的:A服务器ssh登录B服务器不需要输入密码 1.在A服务器下使用ssh-keygen命令生成公钥/私钥密钥对,执 ...
- Des加密(js+java结果一致)【原创】
des加密算法,javascript版本和java版本 目录: 1.资源文件下载 2.JavaScript文件(des.js) 3.html文件(des.html) 4.java文件(des.java ...