首页 > 其他分享 >动态k小

动态k小

时间:2023-04-29 22:44:49浏览次数:74  
标签:输出 int long 根堆 动态 用大 输入

题目:

 这道题目十分简单,只要用大根堆维护前k小的数字即可,用大根堆是因为方便输出(用小根堆需要输出堆底),前k个先单独输入,不输出(第k个除外,单独输出) ,之后k+1~n如果输入进来的数字比堆顶大,直接跳过,否则先把原堆顶弹出再推入输入进来的数字,每一次输出堆顶即可。

程序:

#include<bits/stdc++.h>
using namespace std;
long long n,k,t;
priority_queue<long long> q;
int main()
{
    ios::sync_with_stdio(false);
    cin>>n>>k;
    for(int i=1;i<=k;i++) cin>>t,q.push(t);
    printf("%d\n",q.top());
    for(long long i=k+1;i<=n;i++)//  2 1
    {
        cin>>t;
        if(t<q.top()) q.pop(),q.push(t);
        printf("%d\n",q.top());
    }
    return 0;
}

 

标签:输出,int,long,根堆,动态,用大,输入
From: https://www.cnblogs.com/wjk53233/p/17364587.html

相关文章

  • 2023-04-29 动态规划介绍
    2023-04-29动态规划介绍动态规划是运筹学课程的一部分多阶段决策问题有一类活动的过程,可以分成若干个互相联系的阶段,在它的每一阶段都需要作出决策,从而使整个过程达到最好的活动效果当然,每个阶段的决策的选取不是任意确定的,它依赖于当前的状态,又会影响以后的发展如下图,①......
  • 动态增加表单方法--ff/ie
    ---------------------增加方法----------------------------<h3><center>批量增加评论</center></h3><BR><formaction=""method="post"οnsubmit="returncheck_form();"><inputtype="button"va......
  • Java 项目中一种简单的动态修改配置即时生效的方式 WatchService
    这种方式仅适合于比较小的项目,例如只有一两台服务器,而且配置文件是可以直接修改的。例如Springmvc以war包的形式部署,可以直接修改resources中的配置文件。如果是Springboot项目,还想用这种方式的话,就要引用一个外部可以编辑的文件,比如一个固定的目录,因为springboot大多......
  • Spring AOP 和 动态代理技术
     AOP是什么东西首先来说AOP并不是Spring框架的核心技术之一,AOP全称AspectOrientProgramming,即面向切面的编程。其要解决的问题就是在不改变源代码的情况下,实现对逻辑功能的修改。常用的场景包括记录日志、异常处理、性能监控、安全控制(例如拦截器)等,总结起来就是,凡是想对......
  • 【专栏精选】实战:动态配置图片
    本文节选自洪流学堂公众号技术专栏《大话Unity2019》,未经允许不可转载。洪流学堂公众号回复专栏,查看更多专栏文章。洪流学堂,让你快人几步。你好,我是郑洪智。小新:“大智,最近我在做一个虚拟展厅的demo,你说我怎么最大程度提高这个程度的扩展性呢?最好图片和文字说明是可以动态替换的。......
  • 动态规划
    动态规划(简称dp),是指把一个问题分解为若干个子问题,通过局部最优解得到全局最优的一种算法策略或者说一种思想方法。简单来讲,就是用一个数组表示我们要求的问题的答案,如果你知道前一个问题的答案,你就可以推出后一个问题的答案。1.概述在算法竞赛中,动态规划是一种非常重要且常见......
  • SQLSERVER 动态生成列、合计行
    /*test110'2023-04-26','2023-04-26','全部','901100569,901100570,901100571,901100572,901100573';*/ALTERPROCEDURE[dbo].[test110]@StartDatedatetime,@EndDatedatetime,@unameVARCHAR(50)='......
  • 【LeetCode动态规划#14】子序列系列题(最长递增子序列、最长连续递增序列、最长重复子
    最长递增子序列力扣题目链接(opensnewwindow)给你一个整数数组nums,找到其中最长严格递增子序列的长度。子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7]是数组[0,3,1,6,2,2,7]的子序列。示例1:输入:nums=[10,9,2,5,3,7......
  • CF1814E Chain Chips & CF750E New Year and Old Subsequence - 动态 dp -
    一句话概括动态dp:用来解决带修改/多次区间询问的dp问题。将转移写成矩阵的形式,然后利用线段树求解区间问题/单点修改1814E注意一条边要么选2要么选0次,而且第一条边一定是选了2次。如果有一条边没选,那么这条边两侧的边一定都选了。设\(f_i\)代表考虑到第\(i\)条边,......
  • C#高性能动态获取对象属性值的步骤
    动态获取对象的性能值,这个在开发过程中经常会遇到,这里我们探讨一下何如高性能的获取属性值。为了对比测试,我们定义一个类PeoplepublicclassPeople{publicstringName{get;set;}}然后通过直接代码调用方式来取1千万次看要花多少时间:privatestaticvoidDirectly......