生产备案号怎么查询网站深圳十大工业设计公司

web/2025/10/8 1:42:22/文章来源:
生产备案号怎么查询网站,深圳十大工业设计公司,东莞软件网站推广,软件开发包括什么内容模拟堆也是对堆的一次深入理解和一些其它操作#xff0c;可以了解一下。 文章目录 前言 一、模拟堆 二、算法思路 1.结点上移 2.结点下移 3.插入一个数 4.输出当前集合的最小值 5.删除当前集合的最小值#xff08;数据保证此时的最小值唯一#xff09; 6.删除第k个插入的数 … 模拟堆也是对堆的一次深入理解和一些其它操作可以了解一下。 文章目录 前言 一、模拟堆 二、算法思路 1.结点上移 2.结点下移 3.插入一个数  4.输出当前集合的最小值 5.删除当前集合的最小值数据保证此时的最小值唯一 6.删除第k个插入的数 7.修改第k个插入的数修改为x 三、代码如下 1.代码如下 2.读入数据 3.代码运行结果 总结 前言 模拟堆也是对堆的一次深入理解和一些其它操作可以了解一下。 提示以下是本篇文章正文内容下面案例可供参考 一、模拟堆 维护一个集合初始时集合为空支持如下几种操作 I x插入一个数 xPM输出当前集合中的最小值DM删除当前集合中的最小值数据保证此时的最小值唯一D k删除第 k 个插入的数C k x修改第 k 个插入的数将其变为 x 现在要进行 N 次操作对于所有第 22 个操作输出当前集合的最小值。 输入格式 第一行包含整数 N。 接下来 N 行每行包含一个操作指令操作指令为 I xPMDMD k 或 C k x 中的一种。 输出格式 对于每个输出指令 PM输出一个结果表示当前集合中的最小值。 每个结果占一行。 数据范围 1≤N≤100000 −1000000000≤x≤1000000000 数据保证合法。 二、算法思路 我们还是通过一维整型数组heap来存储堆的值数组下标来表示是哪一个结点size表示堆中结点的个数或者堆中最后一个元素的下标。这道题中我们还是以小根堆为例子。堆在数组中存储任一结点的下标为x那么它的左孩子在数组中存储的下标为2x右孩子在数组中存储的下标为2x 1。注数组存储结点下标从1开始 1.结点上移 当我们插入一个新结点这个结点值比它的父结点值小或者修改某一个结点结点值比它的父节点小这两种情况我们才会让结点上移来维护小根堆的性质。 //结点上移只需要跟父结点比较即可public static void up(int x){while ( x / 2 1 heap[x / 2] heap[x]){int temp heap[x / 2];heap[x / 2] heap[x];heap[x] temp;x / 2;}} 我们需要判断当前下标有没有父结点即 x / 2是否满足大于等于1并且当父结点的值比子结点的值大的时候我们就需要将父结点和子结点进行交换然后再判断父结点是否小于它的父节点重复上述过程。具体详情可以看https://blog.csdn.net/m0_63267251/article/details/139388919这篇博客。 2.结点下移 当我们结点值修改后比它的左孩子或者右孩子值大然后我们从中找到值最小的那个索引然后让父结点跟最小的结点进行交换交换后我们再判断当前结点的值是否比它的左孩子或者右孩子值大重复上述操作我们要保证父节点的值要小于它的左孩子和右孩子的值。 具体详情可以看https://blog.csdn.net/m0_63267251/article/details/139388919这篇博客。 //传入结点下标public static void down(int x){int temp x;//两个if语句来找出3个结点中最小的结点的下标if(2 * x size heap[2* x] heap[temp]){temp 2 * x;}if (2 * x 1 size heap[2*x 1] heap[temp]){temp 2 * x 1;}//说明此时结点不是最小值进行交换再递归处理看是否还需要交换if(temp ! x){int t heap[temp];heap[temp] heap[x];heap[x] t;down(temp);}} 3.插入一个数 插入一个数我们直接在数组的末尾添加元素即可而size既可以表示堆中元素的个数也可以表示堆中元素在数组中存储的最后一个结点的下标。故我们添加元素为heap[size] x;size; if (cmd.equals(I)){x Integer.parseInt(s[1]);heap[size] x;} 4.输出当前集合的最小值 因为我们搭建的是小根堆故我们堆中的根结点的值就是堆中元素的最小值即heap[1]; 5.删除当前集合的最小值数据保证此时的最小值唯一 我们删除当前集合的最小值数组的第一个元素是很难被删除的我们还是删除数组的最后一个元素将根节点赋值为数组的最后一个元素即heap[1] heap[size];size--;然后此时有可能小根堆的性质被破坏所以我们只需要将根节点结点下移操作就可以即down(1)此时我们就完成了删除当前集合最小值的情况。 6.删除第k个插入的数 这个操作麻烦的是删除第k个插入的数而不是删除第k个结点。因此我们需要一个一维整型数组khp来存储第k个插入的数在堆中的下标即khp[k]我们还需要一个一维整型数组hp来存储我们堆中的点是第几个插入的点例如kph[j] k表示第j个插入的点是堆中第k个结点ph[k] j表示堆中的第k个结点时我们第k个插入的点这两个数组的值对应的是相反的。那么我们就需要更新一下我们的down操作和up操作。 public static void down(int x){int temp x;if(2 * x size heap[2 * x] heap[temp]){temp 2 * x;}if(2 * x 1 size heap[2 * x 1] heap[temp]){temp 2 * x 1;}if(temp ! x){hp_swap(temp,x);down(temp);}}//结点上移只需要跟父结点比较即可public static void up(int x){while ( x / 2 1 heap[x / 2] heap[x]){hp_swap(x,x/2);x / 2;}}//因为hp数组可以对应为堆中的元素下标在khp数中的关系所以我们先交换khp后交换hp或者先交换hp再交换khp也可以public static void hp_swap(int a,int b){int t khp[hp[a]];khp[hp[a]] khp[hp[b]];khp[hp[b]] t;t hp[a];hp[a] hp[b];hp[b] t;t heap[a];heap[a] heap[b];heap[b] t;} 对应的插入一个数、输出当前集合和最小值和删除集合最小值操作更新。 if (cmd.equals(I)){x Integer.parseInt(s[1]);size;m;heap[size] x;khp[m] size;hp[size] m;up(size);} else if (cmd.equals(PM)) {pw.println(heap[1]);} else if (cmd.equals(DM)) {hp_swap(1,size);size--;down(1);} else if (cmd.equals(D)) {k Integer.parseInt(s[1]);//找到第k歌数在堆中的位置k khp[k];hp_swap(k,size);size--;//两个操作最多执行一个up(k);down(k);} 7.修改第k个插入的数修改为x 我们将插入第k个数在堆中的坐标找到即khp[k]然后将堆中的值修改为x即heap[khp[k]] x。然后再维护一下小根堆性质down(kph[k])、up(khp[k])即可。 if (cmd.equals(C)) {k Integer.parseInt(s[1]);x Integer.parseInt(s[2]);k khp[k];heap[k] x;down(k);up(k);} 三、代码如下 1.代码如下 import java.util.*; import java.io.*; public class 模拟堆 {static PrintWriter pw new PrintWriter(new OutputStreamWriter(System.out));static BufferedReader br new BufferedReader(new InputStreamReader(System.in));static StreamTokenizer st new StreamTokenizer(br);static int N 100010;//堆中的数据static int[] heap new int[N];static int size 0;//第k个插入数在堆中的下标static int[] khp new int[N];//堆中的哪一个点是我们第几个插入的点static int[] hp new int[N];public static void main(String[] args) throws Exception{Scanner sc new Scanner(br);int n nextInt();//表示第几个插入的数int m 0;while (n-- 0){String[] s nextLine().split( );String cmd s[0];int x;int k;if (cmd.equals(I)){x Integer.parseInt(s[1]);size;m;heap[size] x;khp[m] size;hp[size] m;up(size);} else if (cmd.equals(PM)) {pw.println(heap[1]);} else if (cmd.equals(DM)) {hp_swap(1,size);size--;down(1);} else if (cmd.equals(D)) {k Integer.parseInt(s[1]);//找到第k歌数在堆中的位置k khp[k];hp_swap(k,size);size--;//两个操作最多执行一个up(k);down(k);} else if (cmd.equals(C)) {k Integer.parseInt(s[1]);x Integer.parseInt(s[2]);k khp[k];heap[k] x;down(k);up(k);}}pw.flush();}public static void down(int x){int temp x;if(2 * x size heap[2 * x] heap[temp]){temp 2 * x;}if(2 * x 1 size heap[2 * x 1] heap[temp]){temp 2 * x 1;}if(temp ! x){hp_swap(temp,x);down(temp);}}//结点上移只需要跟父结点比较即可public static void up(int x){while ( x / 2 1 heap[x / 2] heap[x]){hp_swap(x,x/2);x / 2;}}//因为hp数组可以对应为堆中的元素下标在khp数中的关系所以我们要先交换khp后交换hp或者先交换hp再交换khp也可以public static void hp_swap(int a,int b){int t khp[hp[a]];khp[hp[a]] khp[hp[b]];khp[hp[b]] t;t hp[a];hp[a] hp[b];hp[b] t;t heap[a];heap[a] heap[b];heap[b] t;}public static int nextInt()throws Exception{st.nextToken();return (int)st.nval;}public static String nextLine()throws Exception{return br.readLine();} }2.读入数据 8 I -10 PM I -10 D 1 C 2 8 I 6 PM DM 3.代码运行结果 -10 6 总结 上述解释了一下模拟堆中的一些基本操作知道题中各个数组的意思比较长和难以理解可以多看看梳理一下。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/88810.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站的优化外包php做网站还是linux

1.梳理、总结经纬度处理在Maxcompute平台上的实战应用,如bd09、gcj02、wgs84经纬度坐标系转换UDF函数注册与使用。 2.欢迎批评指正,跪谢一键三连! 文章目录 1.参考代码 1.参考代码 坐标系转换 bd09坐标系(百度坐标系)…

开锁做网站哪个好凡科建站后台登录

贪吃蛇是个非常经典的游戏,用C语言来实现也是一个好玩的事情。这个游戏我写完后放在知乎,竟然点赞的人数超级多。我觉得大家喜欢,一个方面是因为写得简单,大家都能看得懂,一个可扩展性还是非常强的。我试了说一下这个代…

上线了建站教程西柏坡门户网站建设规划书

PHP(PHP:Hypertext Preprocessor,PHP:超文本预处理器)是PHP Group和开放源代码社区共同维护的一种开源的通用计算机脚本语言。该语言主要用于Web开发,支持多种数据库及操作系统。 PHP中存在安全漏洞,该漏洞源于程序没有…

青海wap网站建设比较好wordpress导出数据库

1.Controller概述 Controller是在集群上管理和运行容器的对象。是一个实际存在的对象。 2.pod和Controller之间的关系 pod通过controller实现应用的运维,包括伸缩、滚动升级等操作。 这里pod和controller通过label标签来建立关系。如下所示: 3.Deployment控制器应用场景 -1:…

带管理后台的网站桂林网页

在互联网购物日益普及的今天,四川古力未来科技抖音小店凭借其独特魅力和安全保障措施,成为越来越多消费者信赖的购物平台。本文将详细解读四川古力未来科技抖音小店的安全保障措施,让您在享受便捷购物的同时也能安心放心。 一、平台背景与安全…

西安市建网站找哪家网站建设国外

以实现下面的效果为示例 完整代码&#xff1a; let msgList ["数据1被引用", "数据2被引用"];// 使用html的换行标签拼接信息&#xff0c;默认行距太小&#xff0c;此处用两个<br/><br/>let message 以下数据不能删除&#xff0c;原因是&…

网站原型图是什么网络营销推广流程

一、 选择排序的思想 选择排序的基本思想是&#xff1a;每一趟在n-i1&#xff08;i1&#xff0c;2&#xff0c;…n-1&#xff09;个记录中选取关键字最小的记录作为有序序列中第i个记录。基于此思想的算法主要有简单选择排序、树型选择排序和堆排序。简单选择排序的基本思想&a…

网站建设后台编程茂名本土网站建设公司

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼* 名称&#xff1a;外部中断* 日期&#xff1a;2013-9-10* 晶振:11.0592MHZ******************************************************************/#include //包含头文件&#xff0c;对IO进行定义&#xff0c;可以选中后右击&…

汕头搭建建站wordpress网站怎么样

PHP单文件上传原理及上传函数的封装服务器(临时文件)——>指定目录,当文件进入服务器时它就是临时文件了,这时操作中要用临时文件的名称tmp_name。//在客户端设置上传文件的限制(文件类型和大小)是不安全的&#xff0c;因为客户能通过源代码修改限制&#xff0c;所以在服务端…

家纺行业英文网站模板wordpress short_open_tag

目录 一、引言 二、农村环境整治的重要性 1、提升农民生活质量 2、促进农村经济发展 3、保护农村生态环境 三、当前农村环境面临的问题 1、垃圾处理不当 2、污水处理设施缺乏 3、农业面源污染严重 四、加强农村环境治理的措施 1、完善农村垃圾处理体系 2、加强农村…

网站评价佛山城市建设投资有限公司

目录 1.背景 2.创建虚拟环境 3.目录结构 4.pip安装 5.环境使用 1.背景 很多应用、开源软件都是python写的&#xff0c;各自有各自的软件包和版本依赖&#xff0c;有事可能会有所冲突&#xff0c;为了避免这个冲突&#xff0c;建议采用venv虚拟环境。 本文讲解venv虚拟环…

江苏扬州工程建设信息网站台山网站建设

string数据类型的命令操作 设置键值 使用append 命令设置键值&#xff0c;后面跟键的名字&#xff0c;可以先判断该建是否存在&#xff0c;存在将值追加在后面&#xff0c;不存在自动添加该建 append mykey hello读取键值 get mykey数值类型自减1 数值类型自加1 查看值的…

南宁有名的seo费用网站建设优化服务平台

转载自&#xff1a;http://blog.csdn.net/sszgg2006/article/details/8447176文件路径正斜杠和反斜杠正斜杠&#xff0c;又称左斜杠&#xff0c;符号是"/"&#xff1b;反斜杠&#xff0c;也称右斜杠&#xff0c;符号是"\"。文件路径的表示可以分为绝对路径…

一级a做爰片就线在看网站wordpress 搜索模板

文章目录 背景实现能力手撸开始demo流程拆解实现 render 函数构建 fiber 树处理工作单元实现 create fiber加入 diff fiber 的逻辑 commit 阶段hooks 实现 源码地址参考文章 背景 前文中学习了 react 中核心的 fiber 架构&#xff0c;时间切片&#xff0c;双缓存等&#xff0c…

家居设计网站模板厦门网站排名

音视频采集API false表示不采集,true表示采集 WebRTC API适配 获取音视频设备的访问权限 通过 return navigator.mediaDevices.enumerateDevices();/*返回一个promise,为了获取音视频的权限*/ 视频约束

做微网站公司名称抖音代运营报价明细表

最近收到深圳市通信管理局的违法违规APP处置通知大概如下: 并且详细列举了 facebook sdk 在未经用户允许前调用的 TelephonyManager.getNetworkOperatorName(); 方法,获取运营商名称. 解决方法, 首先 在用户没有点击允许隐私条款前 不要调用任何Facebook sdk 方法,比如: Fac…

珠海网站建设怎么样网页设计与制作教程用户注册

实验任务描述: 用VS2008构造ASP.NET站点开发环境;用ASP.NET完成JavaScript开发调试;用Ext3.0.0完成一个简单的树显示站;WebService程序设计,Dijstra最短路Web 服务;JavaScript通过Ajax技术调用WebService;一、Windows下WEB共享设置 打开你的WINDOWS,鼠标点开“我的电脑”…

浙江省邮电工程建设有限公司网站企业网站的建设水平直接关系到网络营销的效果

#方法一&#xff1a;命令行设置 ##1.在macOS 操作系统中&#xff0c;你可以通过以下步骤使用图形界面来设置 PYTHONPATH 环境变量 &#xff08;1&#xff09;点击屏幕左上角的苹果图标&#xff0c;在弹出菜单中选择 “系统偏好设置”。 &#xff08;2&#xff09;在系统偏好设…

长沙做网站nn微联讯点很好直播功能开发

8种机械键盘轴体对比本人程序员&#xff0c;要买一个写代码的键盘&#xff0c;请问红轴和茶轴怎么选&#xff1f;预备知识如图&#xff0c;这是一个4位数码管模块&#xff0c;由两片 74HC595 级联控制&#xff0c;引脚如图&#xff0c;从上到下&#xff0c;分别为VCC(3.3V/5V),…

网站改版用新空间好吗青海城乡和住房建设厅网站

1. 首先查看当前的python版本 python -V 2. 进入已经激活的conda环境&#xff0c;搜索库中有无想要的python版本(若有想安装的版本可跳过) conda search --full --name python 3. 安装库中存在且符合要求的python版本即可(以python3.8.1为例) conda install python3.8.1