当前位置: 首页 > news >正文

o2o手机网站建设技术wordpress重新打开多站点

o2o手机网站建设技术,wordpress重新打开多站点,宝塔搭建wordpress博客,新手从零基础建站初级网站建设模拟堆 1.题目2.基本思想3.代码实现 1.题目 维护一个集合,初始时集合为空,支持如下几种操作: I x,插入一个数 x;PM,输出当前集合中的最小值;DM,删除当前集合中的最小值&#xff08…

模拟堆

  • 1.题目
  • 2.基本思想
  • 3.代码实现

1.题目

维护一个集合,初始时集合为空,支持如下几种操作:

  1. I x,插入一个数 x;
  2. PM,输出当前集合中的最小值;
  3. DM,删除当前集合中的最小值(数据保证此时的最小值唯一);
  4. D k,删除第 k 个插入的数;
  5. C k x,修改第 k 个插入的数,将其变为 x;

现在要进行 N次操作,对于所有第 2 个操作,输出当前集合的最小值。

输入格式
第一行包含整数 N N N

接下来 N N N 行,每行包含一个操作指令,操作指令为 I xPMDMD kC k x 中的一种。

输出格式
对于每个输出指令 PM,输出一个结果,表示当前集合中的最小值。

每个结果占一行。

数据范围
1 ≤ N ≤ 1 0 5 1≤N≤10^5 1N105

− 1 0 9 ≤ x ≤ 1 0 9 −10^9≤x≤10^9 109x109

数据保证合法。 数据保证合法。 数据保证合法。

输入样例:

8
I -10
PM
I -10
D 1
C 2 8
I 6
PM
DM

输出样例:

-10
6

2.基本思想

在这里插入图片描述

3.代码实现

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.Buffer;
import java.util.Scanner;public class _839模拟堆 {static int N = 100010;static int[] h = new int[N];//h代表heap(堆)static int[] ph = new int[N];//ph(point->heap)可以获得第几个插入的元素现在在堆的那个位置static int[] hp = new int[N]; //hp(heap->point)可以获得在堆的第n个元素存的是第几个插入的元素static int size, m;static void heap_swap(int a, int b) {//交换在heap中位置分别为a,b的两个元素swap(ph, hp[a], hp[b]);//第一步交换蓝色线swap(hp, a, b);//绿线swap(h, a, b);//真实值}static private void swap(int[] arr, int a, int b) {int temp = arr[a];arr[a] = arr[b];arr[b] = temp;}private static void down(int u) {//当前堆的元素下沉int min = u;if (u * 2 <= size && h[u * 2] < h[min]) min = u * 2;if (u * 2 + 1 <= size && h[u * 2 + 1] < h[min]) min = u * 2 + 1;if (u != min) {heap_swap(min, u);down(min);}}private static void up(int u) {while (u / 2 > 0 && h[u / 2] > h[u]) {heap_swap(u / 2, u);u /= 2;}}public static void main(String[] args) throws IOException {BufferedReader br = new BufferedReader(new InputStreamReader(System.in));int n = Integer.parseInt(br.readLine());while (n-- > 0) {String[] s = br.readLine().split(" ");String opt = s[0];if (opt.equals("I")) {int x = Integer.parseInt(s[1]);size++;m++;h[size] = x;ph[m] = size;hp[size] = m;up(size);} else if (opt.equals("PM")) System.out.println(h[1]);else if (opt.equals("DM")) {heap_swap(1, size);size--;down(1);} else if (opt.equals("D")) {int k = Integer.parseInt(s[1]);int u = ph[k];heap_swap(u, size);size--;down(u);up(u);} else if (opt.equals("C")) {int k = Integer.parseInt(s[1]);int x = Integer.parseInt(s[2]);int u = ph[k];h[u] = x;down(u);up(u);}}}
}
http://www.yayakq.cn/news/496940/

相关文章:

  • 视频网站开发书籍云服务器建设网站用什么系统
  • 可以上传图片的公司网站wordpress 群站
  • 电气网站建设WordPress与odoo接口
  • wordpress网站好用吗电商网络销售是做什么
  • vs做网站怎么加文件夹辽宁建设工程信息网登录不上去
  • 企业企业网站建设广 做网站蓝光电影下载
  • 做网站是做完给钱还是庆阳手机网站设计
  • 建立网站编程重庆网站建设大概需要多少钱
  • 做网站用个人还是企业比较好如何建设运输网站
  • 如何识别网页用什么网站做的静态网站挂马
  • 高校网站建设前言mm 263企业邮箱登录
  • 佳木斯 两学一做 网站四川建设网官网住房和城乡厅
  • 河南网站搭建计算机应用软件开发流程图
  • 什么网站广告做多河南建设安全监督网站
  • 专业网站建设报价免费软件库下载
  • 网站用户体验准则网站建设亮点
  • 河北师大科技楼网站建设乐清 网站建设
  • 一个网站大概多少页面资源开发公司经营范围
  • 做钓鱼网站教程视频龙岗汤坑社区网站建设
  • wordpress ico潍坊自动seo
  • 许昌市建设投资有限公司 网站做ui设计的软件
  • 中小型企业 公司网站建设wordpress 后台用户权限
  • 网页设计个人网站心得体会岳阳做网站 公司电话
  • 网站开发有侵权吗如何制作ppt课件
  • 怎么查网站死链推广公司哪里找
  • html5手机网站制作软件广州购物必去的地方
  • 泰安市建设局网站WordPress主题如何更新
  • 外贸网站案例wordpress都是不安全模块
  • 网站怎么icp备案做动漫网站要多少钱
  • 寿县有做网站开发的吗学校网站制作素材