博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
学习笔记 | 最小堆、“种草”
阅读量:3786 次
发布时间:2019-05-22

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

在这里插入图片描述

在这里插入图片描述

def HeadAdjust(nums, k, n):    nums[0] = nums[k]    i = 2*k    while i <= n:        if i < n and nums[i] > nums[i+1]:            i += 1        if nums[0] <= nums[i]:            break        else:            nums[k] = nums[i]            k = i        i = i*2    nums[k] = nums[0]def minHead(nums, n, x):    for i in range(n//2, -1, -1):        HeadAdjust(nums, i, n)if __name__ == '__main__':    nums = input().split()    nums = [int(it) for it in nums]    n = nums[0]    m = nums[1]    x = nums[2]    xc = input().split()    xc = [int(it) for it in xc]    xc.insert(0, 0)    minHead(xc, n, x)    for _ in range(m):        xc[1] += x        HeadAdjust(xc, 1, n)    print(xc[1])

转载地址:http://xiztn.baihongyu.com/

你可能感兴趣的文章
3.输入整型数组和排序标识,对其元素按照升序或降序进行排序
查看>>
13.找到字符串的最长无重复字符串字串
查看>>
java常用垃圾回收器G1和CMS有什么区别
查看>>
BIO、NIO,AIO的区别
查看>>
linux压缩与解压
查看>>
数据结构基础(一)
查看>>
Linux反弹shell姿势总结
查看>>
CVE-2018-2894 WebLogic远程上传漏洞复现
查看>>
Nginx解析漏洞复现
查看>>
GhostScript沙箱绕过(命令执行漏洞)CVE-2018-16509
查看>>
通过图片获取地理位置
查看>>
PHP提权姿势
查看>>
Linux VI VIM编辑器
查看>>
Linux 进程管理
查看>>
Vulmap的使用
查看>>
SPSS Modeler工具笔记
查看>>
逻辑题分享
查看>>
后端开发中常用的语言
查看>>
数学考试(牛客)
查看>>
Codeforces Round #697 (Div. 3)
查看>>