博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj 2442 Sequence
阅读量:4699 次
发布时间:2019-06-09

本文共 825 字,大约阅读时间需要 2 分钟。

// 题意:有 m个序列,每个序列 n个元素,从每个序列中选择一个元素组成一个数并计算和, // 总共有 n^m 个和,输出最小的 n个和 // 思路:用STL的堆解决,将第一个序列读入arr1中,升序排序;将第二个序列读入arr2中,升序排序 // 将arr2[0]+arr1[0...n]读入heap,之后建大顶堆 make_heap(heap,heap+n); // 其后,对于i=1...n-1,将t=arr2[i]+arr1[0...n]与堆顶作比较,若小于堆顶,则删除原堆顶结点,并将t压入,否则退出 // 把heap复制到arr1数组并排序,这样arr1 就保存着当前最小的n个和.再继续以上过程. #include 
#include
using namespace std; int arr1[2002],arr2[2002],heap[2002]; int main() {
int cases,n,m; cin>>cases; while(cases--) {
cin>>m>>n; for(int i=0;i
>arr1[i]; sort(arr1,arr1+n); while(--m) {
for(int i=0;i
>arr2[i]; sort(arr2,arr2+n); for(int i=0;i

转载于:https://www.cnblogs.com/mjc467621163/archive/2012/03/14/2395908.html

你可能感兴趣的文章
Chukwa
查看>>
(转)Maven仓库——私服介绍
查看>>
设计模式之工厂模式
查看>>
仿复制粘贴功能,长按弹出tips的实现
查看>>
BZOJ4516: [Sdoi2016]生成魔咒(后缀自动机)
查看>>
查看手机已经记住的WIFI密码
查看>>
最新版IntelliJ IDEA2019 破解教程(2019.08.07-情人节更新)
查看>>
C# 两个datatable中的数据快速比较返回交集或差集
查看>>
关于oracle样例数据库emp、dept、salgrade的mysql脚本复杂查询分析
查看>>
adb shell am 的用法
查看>>
iOS10 UI教程视图和子视图的可见性
查看>>
FindChildControl与FindComponent
查看>>
中国城市json
查看>>
android下载手动下载Android SDK
查看>>
C++学习:任意合法状态下汉诺塔的移动(原创)
查看>>
leetcode133 - Clone Graph - medium
查看>>
一点小基础
查看>>
PHP 自动加载类 __autoload() 方法
查看>>
JDK中的Timer和TimerTask详解(zhuan)
查看>>
【python练习】ATM&购物商城程序
查看>>