首页 > 其他分享 >P1631 序列合并[优先队列]

P1631 序列合并[优先队列]

时间:2023-08-11 20:22:43浏览次数:54  
标签:队列 题解 P1631 cc cx 序列

P1631 序列合并

这个没做出来属实有些惭愧。看了题解觉得很妙。如果直接想的话可能反而很麻烦

题目是给两个n个数的不下降序列,问这两个序列任意各取出一个后相加的最小的n个数是什么。

直接贴题解吧题解 P1631 【序列合并】

一共会产生n*n个数,

a[1]+b[1]<=a[1]+b[2]........<=a[1]+b[n]

a[2]+b[1]<=a[2]+b[2]........<=a[2]+b[n]

.

.

a[n]+b[1]<=a[n]+b[2]........<=a[n]+b[n]

先把这前n个第一个数放入优先队列,最小的加入答案然后把它的下一个放入优先队列即可

查看代码

#include<iostream>
#include<vector>
#include<queue>
using namespace std;
typedef long long ll;
ll n,a[100005],b[100005],q[100005];
priority_queue<pair<int,int>, vector<pair<int,int> >,greater<pair<int, int> > >cc;
signed main()
{
	cin>>n;
	for(int i=1;i<=n;i++)cin>>a[i];
	for(int j=1;j<=n;j++)
	{
		cin>>b[j];
		q[j]++;
		cc.push(pair<int,int>(a[1]+b[j],j));
	}
	while(n--)
	{
		auto cx=cc.top();
		cc.pop();
		cout<<cx.first<<' ';
		cc.push(pair<int,int>(b[cx.second]+a[++q[cx.second]],cx.second));
	}
	return 0;
}

标签:队列,题解,P1631,cc,cx,序列
From: https://www.cnblogs.com/qbning/p/17623848.html

相关文章

  • 百度人脸识别授权序列号-设备时间复原问题
    Q:为什么单设备授权序列号失效?A:以下情况都有可能导致序列号失效,请您进行一-排查1.测试序列号过期,请在百度智能云管理后台申请更多测试序列号2.CPU、网卡等硬件损坏导致硬件指纹变更3.已经激活的设备硬件变更4.SDK升级:安卓1.0&2.0版本升级至3.0&4.0&5.0版本会导......
  • [oeasy]python0083_[趣味拓展]字体样式_正常_加亮_变暗_控制序列
    字体样式回忆上次内容上次了解了一个新的转义模式\033逃逸控制字符escesc退出标准输出流进行控制信息的设置可以清屏也可以设置光标输出的位置还能做什么呢?可以设置字符的颜色吗???......
  • [oeasy]python0083_[趣味拓展]字体样式_正常_加亮_变暗_控制序列
    字体样式回忆上次内容上次了解了一个新的转义模式\033逃逸控制字符esc esc让输出退出标准输出流进行控制信息的设置可以清屏也可以设置光标输出的位置  还能做什么呢?可以设置字符的颜色吗???......
  • prefur序列及Cayley公式
    一.写在前面p.s学习自https://www.cnblogs.com/dirge/p/5503289.html二.prefur序列1.由无根树生成prefur序列首先定义无根树中度数为1的节点是叶子节点。找到编号最小的叶子并删除,序列中添加与之相连的节点编号,重复执行直到只剩下2个节点。2.由prefur序列生成无根树设点集......
  • 最长公共子序列
    最长公共子序列一、什么是最长公共子序列(LongestCommonSubsequence,LCS)?最长公共子序列(LCS)是指在两个序列中,找出一个最长的子序列,使得这个子序列在这两个序列中都出现过。换句话说,就是从两个序列中删除一些元素后,剩下的最长公共子序列的长度。二、原理我们可以使用动态......
  • springboot~alibaba.fastjson2序列化时过滤字段
    当我们使用阿里的alibaba.fastjson2进行json序列化时,你可以通过方法参数PropertyFilter来实现对字段的获取,将需要序列化的字段写到PropertyFilter对象里,当然也可以将不进行序列化的写到这里,进行逻辑非操作即可实体classPerson{privateStringfirstName;privateStr......
  • MATLAB用深度学习长短期记忆 (LSTM) 神经网络对智能手机传感器时间序列数据进行分类|
    原文链接:http://tecdat.cn/?p=26318原文出处:拓端数据部落公众号 最近我们被客户要求撰写关于长短期记忆(LSTM)神经网络的研究报告,包括一些图形和统计输出。此示例说明如何使用长短期记忆(LSTM)网络对序列数据的每个时间步长进行分类。要训​​练深度神经网络对序列数据......
  • 子序列的最大优雅度
    给你一个长度为n的二维整数数组items和一个整数k。items[i]=[profiti,categoryi],其中profiti和categoryi分别表示第i个项目的利润和类别现定义items的子序列的优雅度可以用total_profit+distinct_categories2计算从items所有长度为k的子序列中,找出......
  • 代码随想录算法训练营第十天|力扣232.用栈实现队列、力扣225.用队列实现栈
    栈与队列理论知识栈提供push和pop等等接口,所有元素必须符合先进后出规则,所以栈不提供走访功能,也不提供迭代器(iterator)。不像是set或者map提供迭代器iterator来遍历所有元素。栈是以底层容器完成其所有的工作,对外提供统一的接口,底层容器是可插拔的(也就是说我们可以控制......
  • Feign和消息队列(MQ)的区别
    Feign和消息队列(MQ)是两个不同的概念,它们分别用于不同的目的。下面我将分别介绍它们的作用和特点。Feign是一个在微服务架构中用于实现服务间通信的轻量级、声明式的HTTP客户端。它由Netflix开源,并且与SpringCloud集成得非常紧密。Feign可以让开发人员以类似于编写本地方法调用的......