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

成都网站建设好多科技我要学电脑哪里有短期培训班

成都网站建设好多科技,我要学电脑哪里有短期培训班,我的网站没备案怎么做淘宝客推广,dede做视频网站模拟堆 1.题目2.基本思想3.代码实现 1.题目 维护一个集合#xff0c;初始时集合为空#xff0c;支持如下几种操作#xff1a; I x#xff0c;插入一个数 x#xff1b;PM#xff0c;输出当前集合中的最小值#xff1b;DM#xff0c;删除当前集合中的最小值#xff08… 模拟堆 1.题目2.基本思想3.代码实现 1.题目 维护一个集合初始时集合为空支持如下几种操作 I x插入一个数 xPM输出当前集合中的最小值DM删除当前集合中的最小值数据保证此时的最小值唯一D k删除第 k 个插入的数C k x修改第 k 个插入的数将其变为 x 现在要进行 N次操作对于所有第 2 个操作输出当前集合的最小值。 输入格式 第一行包含整数 N N N。 接下来 N N N 行每行包含一个操作指令操作指令为 I xPMDMD k 或 C k x 中的一种。 输出格式 对于每个输出指令 PM输出一个结果表示当前集合中的最小值。 每个结果占一行。 数据范围 1 ≤ N ≤ 1 0 5 1≤N≤10^5 1≤N≤105 − 1 0 9 ≤ x ≤ 1 0 9 −10^9≤x≤10^9 −109≤x≤109 数据保证合法。 数据保证合法。 数据保证合法。 输入样例 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];//phpoint-heap可以获得第几个插入的元素现在在堆的那个位置static int[] hp new int[N]; //hp(heap-point)可以获得在堆的第n个元素存的是第几个插入的元素static int size, m;static void heap_swap(int a, int b) {//交换在heap中位置分别为ab的两个元素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.dnsts.com.cn/news/108313.html

相关文章:

  • 提供广东中山网站建设沙田镇网站建设
  • 网站开发售后服务能力国外公司网站设计
  • 网站建设的软件平台wordpress统计蜘蛛
  • 石家庄模板做网站长沙网站自己制作
  • 政和网站建设wzjseo免费建造公司网站
  • 检察机关门户网站建设情况视频网站 怎么做
  • 网站后台psd济南自助建站
  • 湖北省住房和城乡建设厅网站wordpress 空白框架
  • 怎么做一个免费的网站制作网页模板
  • 合肥响应式网站建设方案能下载的网站
  • 松江网站建设培训朔州怀仁网站建设
  • 营销网站方案设计做你的爱人3在线观看
  • 湛江网站建设价格网站要求wordpress
  • 自己建立网站多少钱深圳网站设计精选刻
  • 南宁兴宁区建设局网站如何建立一个外贸公司网站
  • 如何做网站代码wordpress建影视网站
  • 白城网站建设公司论坛网站地图怎么做
  • 牛商网做网站wordpress主题 知更鸟
  • 二七区网站建设关于营销的最新的新闻
  • 公司主页网站设计河北网站建设价格低
  • 在线建站哪个网站好亚马逊雨林
  • 哪些网站页面简洁建行手机银行app
  • xuzhou网站制作品牌怎么注册
  • 网站主目录WordPress开网店
  • 如何把网站放到百度泰州百度seo公司
  • 行业门户网站有哪些百度框架户开户渠道代理
  • 企业网站建设 企业官网定制网站建设与管理好学吗
  • 网站设计的思路wordpress农业网站
  • 网站设计制作公司设计师常备设计网站大全
  • vs怎么添加做网站四川省工程信息造价网