二分与前缀和

789. 数的范围 - AcWing题库 

import java.util.*;public class Main{static int N = 100010;static int[] a = new int[N];public static void main(String[] args){Scanner sc = new Scanner(System.in);int n = sc.nextInt();int m = sc.nextInt();for(int i = 0; i < n; i ++){a[i] = sc.nextInt();}while(m -- > 0){int x = sc.nextInt();int l = 0, r = n - 1;while(l < r){int mid = l + r >> 1;if(a[mid] >= x) r = mid;//找到区间的左端点(区分大于等于x的和小于x的)else l = mid + 1;}if(a[l] != x) System.out.println("-1 -1");else{System.out.print(l + " ");l = 0;r = n - 1;while(l < r){int mid = l + r + 1 >> 1;if(a[mid] <= x) l = mid;//找到区间的右端点(区分小于等于x的和大于x的)else r = mid - 1;}System.out.println(l);}}}
}

790. 数的三次方根 - AcWing题库

import java.util.*;public class Main{public static void main(String[] args){Scanner sc = new Scanner(System.in);double x = sc.nextDouble();double l = -100, r = 100;while(r - l > 1e-8){double mid = (l + r) / 2;if(mid * mid * mid >= x) r = mid;else l = mid;}System.out.printf("%.6f", l);}
}

 795. 前缀和 - AcWing题库

import java.util.*;public class Main{public static void main(String[] args){Scanner sc = new Scanner(System.in);int N = 100010;int[] a = new int[N];int[] b = new int[N];int n = sc.nextInt();int m = sc.nextInt();for(int i = 1; i <= n; i ++){a[i] = sc.nextInt();//数组的每个数}for(int i = 1; i <= n; i ++){b[i] = b[i - 1] + a[i];//前缀和}while(m -- > 0){int l = sc.nextInt();int r = sc.nextInt();System.out.println(b[r] - b[l - 1]);}}
}

796. 子矩阵的和 - AcWing题库

import java.util.*;public class Main{static int N = 1010;static int[][] a = new int[N][N];//每个位置的值static int[][] s = new int[N][N];//二维前缀和public static void main(String[] args){Scanner sc = new Scanner(System.in);int n = sc.nextInt();int m = sc.nextInt();int q = sc.nextInt();for(int i = 1; i <= n; i ++){for(int j = 1; j <= m; j ++){a[i][j] = sc.nextInt();}}for(int i = 1; i <= n; i ++){for(int j = 1; j <= m; j ++){s[i][j] = s[i - 1][j] + s[i][j - 1] - s[i - 1][j - 1] + a[i][j];}}while(q -- > 0){int x1 = sc.nextInt();int y1 = sc.nextInt();int x2 = sc.nextInt();int y2 = sc.nextInt();System.out.println(s[x2][y2] - s[x1 - 1][y2] - s[x2][y1 - 1] + s[x1 - 1][y1 - 1]);}}
}

1227. 分巧克力 - AcWing题库

import java.util.*;public class Main{static int N = 100010;static int n, m;static int[] h = new int[N];static int[] w = new int[N];public static boolean check(int x){int res = 0;for(int i = 1; i <= n; i ++){res += (h[i] / x) * (w[i] / x);}if(res >= m) return true;return false;}public static void main(String[] args){Scanner sc = new Scanner(System.in);n = sc.nextInt();m = sc.nextInt();int max = 0;for(int i = 1; i <= n; i ++){h[i] = sc.nextInt();w[i] = sc.nextInt();max = Math.max(h[i], max);max = Math.max(w[i], max);}int l = 0, r = max;while(l < r){int mid = l + r + 1>> 1;if(check(mid)) l = mid;else  r = mid - 1;}System.out.print(l);}
}

 

1230. K倍区间 - AcWing题库

import java.util.*;public class Main{static int N = 100010;static long[] a = new long[N];static long[] s = new long[N];//前缀和static long[] cnt = new long[N];//模k余数为xstatic int n, k;public static void main(String[] args){Scanner sc = new Scanner(System.in);n = sc.nextInt();k = sc.nextInt();for(int i = 1; i <= n; i ++){a[i] = sc.nextInt();}for(int i = 1; i <= n; i ++){s[i] = s[i - 1] + a[i];}long res = 0;cnt[0] = 1;//初始化余数为0也是一种情况for(int i = 1; i <= n; i ++){res += cnt[(int)(s[i] % k)];//在还没有改变模k的余数为x的前缀和的个数之前,加到答案中cnt[(int)(s[i] % k)] ++;//个数加1}System.out.print(res);}
}

 

730. 机器人跳跃问题 - AcWing题库

import java.util.*;public class Main{static int N = 100010;static int[] h = new int[N];static int n, max;public static boolean check(int x){for(int i = 1; i <= n; i ++){x = 2 * x - h[i];if(x >= max) return true;//只要存在能量大于等于最大值,就已经可以保证了if(x < 0) return false;}return true;}public static void main(String[] args){Scanner sc = new Scanner(System.in);n = sc.nextInt();max = 0;for(int i = 1; i <= n; i ++){h[i] = sc.nextInt();max = Math.max(max, h[i]);}int l = 0, r = N;while(l < r){int mid = l + r >> 1;if(check(mid)) r = mid;else l = mid + 1;}System.out.print(l);}
}

 

1221. 四平方和 - AcWing题库

import java.util.*;class PII implements Comparable<PII>{int a, b, c;public PII(int a, int b, int c){this.a = a;this.b = b;this.c =c;}public int compareTo(PII o){if(a != o.a) return Integer.compare(a, o.a);if(b != o.b) return Integer.compare(b, o.b);return Integer.compare(c, o.c);}
}public class Main{static int N = 2500010;static PII[] sum = new PII[N];static int n, m;public static void main(String[] args){Scanner sc = new Scanner(System.in);n = sc.nextInt();for(int c = 0; c * c <= n; c ++){for(int d = c; d * d + c * c <= n; d ++){sum[m ++] = new PII(d * d + c * c, c, d);}}Arrays.sort(sum, 0, m);//按照定义的次序排序for(int a = 0; a * a <= n; a ++){for(int b = a; b * b + a * a <= n; b ++){int t = n - (a * a + b * b);//通过二分判断这个t是否在sum数组中出现过int l = 0, r = m - 1;while(l < r){int mid = l + r >> 1;if(sum[mid].a >= t) r = mid;else l = mid + 1;}if(sum[l].a == t){System.out.print(a + " " + b + " " + sum[l].b + " " + sum[l].c);return;} }}}
}

 

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

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

相关文章

《互联网的世界》第五讲-信任和安全(第一趴:物理世界的非对称加密装置)

信任和安全的话题过于庞大&#xff0c;涉及很多数学知识&#xff0c;直接涉及 “正事” 反而不利于理解问题的本质&#xff0c;因此需要先讲一个前置作为 part 1。 part 1 主要描述物理世界的信任和安全&#xff0c;千万不要觉得数字世界是脱离物理世界的另一天堂&#xff0c;…

【C++庖丁解牛】实现string容器的增删查改 | string容器的基本接口使用

&#x1f4d9; 作者简介 &#xff1a;RO-BERRY &#x1f4d7; 学习方向&#xff1a;致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 &#x1f4d2; 日后方向 : 偏向于CPP开发以及大数据方向&#xff0c;欢迎各位关注&#xff0c;谢谢各位的支持 目录 前言&#x1f4d6;pu…

MACBOOK PRO M2 MAX 安装Stable Diffusion及文生图实例

以前偶尔会使用Midjourney生成一些图片&#xff0c;现在使用的头像就是当时花钱在Midjourney上生成的。前段时间从某鱼上拍了一台性价比还不错的macbook&#xff0c;想着不如自己部署Stable Diffusion&#xff08;以下简称SD&#xff09;尝试一下。 网上有很多教程&#xff0c…

Apache POI 解析和处理Excel

摘要&#xff1a;由于开发需要批量导入Excel中的数据&#xff0c;使用了Apache POI库&#xff0c;记录下使用过程 1. 背景 Java 中操作 Excel 文件的库常用的有Apache POI 和阿里巴巴的 EasyExcel 。Apache POI 是一个功能比较全面的 Java 库&#xff0c;适合处理复杂的 Offi…

qt-C++笔记之使用Cmake来组织和构建QWidget工程项目

qt-C笔记之使用Cmake来组织和构建QWidget工程项目 —— 杭州 2024-03-10 code review! 文章目录 qt-C笔记之使用Cmake来组织和构建QWidget工程项目1.运行2.文件结构3.CMakeLists.txt4.main.cpp5.widget.h6.widget.cpp7.widget.ui 1.运行 2.文件结构 3.CMakeLists.txt 代码 c…

中国联通云联网在多元行业应用中的核心地位与价值体现

在全球化浪潮与数字化转型的时代背景下&#xff0c;中国联通积极响应市场需求&#xff0c;推出以云联网为核心的全球化智能组网解决方案&#xff0c;突破地理限制&#xff0c;为各行业提供高效、安全、灵活的网络服务。该方案不仅涵盖传统的通信连接&#xff0c;更是深入到能源…

【神经网络与深度学习】深度神经网络(DNN)

概述 深度神经网络&#xff08;Deep Neural Networks&#xff0c;DNN&#xff09;是一种由多个隐藏层组成的神经网络模型。每个隐藏层由多个神经元组成&#xff0c;这些神经元通过权重和激活函数进行信息传递和计算。 深度神经网络通过多层的非线性变换&#xff0c;可以学习到…

Smart PLC模拟量采集和低通滤波器组合应用

SMART PLC模拟量采集功能块"S_ITR"算法公式和详细代码请参考下面文章&#xff1a; 1、模拟量采集功能块"S_ITR" https://rxxw-control.blog.csdn.net/article/details/121347697https://rxxw-control.blog.csdn.net/article/details/1213476972、线性转换…

ARM-v7 程序计数器PC的相关指令与应用

1. 前言 如图1所示&#xff0c;R14是连接寄存器&#xff08;Link Register&#xff09;&#xff0c;在汇编指令中通常也写为LR&#xff0c;用于存储函数调用和异常等的返回信息&#xff0c;复位时&#xff0c;默认值为0xFFFFFFFF&#xff1b; 图1 Core register R15是程序计数…

vscode 配置 c 语言 问题解决

1.VS code调试时显示Unable to start debugging.The value of miDebuggerPath is invalid。 解决方法: VS code调试时显示Unable to start debugging.The value of miDebuggerPath is invalid_unable to start debugging. the value of midebugger-CSDN博客 2.VSCode运行C终端…

分类算法(Classification algorithms)

逻辑回归(logical regression&#xff09;&#xff1a; 逻辑回归这个名字听上去好像应该是回归算法的&#xff0c;但其实这个名字只是在历史上取名有点区别&#xff0c;但实际上它是一个完全属于是分类算法的。 我们为什么要学习它呢&#xff1f;在用我们的线性回归时会遇到一…

前端框架的发展历史介绍

前端框架的发展历史是Web技术进步的一个重要方面。从最初的简单HTML页面到现在的复杂单页应用程序&#xff08;SPA&#xff09;&#xff0c;前端框架和库的发展极大地推动了Web应用程序的构建方式。以下是一些关键的前端框架和库&#xff0c;以及它们的发布年份、创建者和主要特…

java-ssm-jsp的问卷调查系统的设计与实现

java-ssm-jsp的问卷调查系统的设计与实现 获取源码——》公主号&#xff1a;计算机专业毕设大全

第十五章垃圾回收相关算法

第十五章垃圾回收相关算法 文章目录 第十五章垃圾回收相关算法1. 垃圾标记阶段的算法之引用计数算法1.1 垃圾标记阶段&#xff1a;对象存货判断1.2 方式一&#xff1a;引用计数算法循环引用 1.3 小结 2. 垃圾标记阶段的算法之可达性分析算法2.1 方式二&#xff1a;可达性分析&a…

Qt 定时器事件

文章目录 1 定时器事件1.1 界面布局1.2 关联信号槽1.3 重写timerEvent1.4 实现槽函数 启动定时器 2 定时器类 项目完整的源代码 QT中使用定时器&#xff0c;有两种方式&#xff1a; 定时器类&#xff1a;QTimer定时器事件&#xff1a;QEvent::Timer&#xff0c;对应的子类是QTi…

HttpURLConnection详解及使用

HttpURLConnection 请求响应流程 设置连接参数的方法 setAllowUserInteractionsetDoInputsetDoOutputsetIfModifiedSincesetUseCachessetDefaultAllowUserInteractionsetDefaultUseCaches 发送URL请求 建立实际连接之后&#xff0c;就是发送请求&#xff0c;把请求参数传到…

docker-swarm集群搭建

目录 一、docker swarm介绍 二、部署docker 三、搭建集群 3.1 工作模式 3.2 将当前主机作为leader 3.3 将第二个节点slave1加入到worker 3.4 将第三个节点slave2也加入到worker 3.5 将第四个节点(slave3)加入到manager 四、总结 一、docker swarm介绍 Docker Swarm…

java中{ }对变量可用scope的限制

改变变量定义位置可解决 y定义在{}内&#xff0c;属于局部变量&#xff0c;只能再在{}其中有效使用&#xff0c;因此第二个输出报错。 将int y6放在main()后&#xff0c;{}前可解决

浅析开源内存数据库Fastdb

介绍&#xff1a; Fastdb是免费开源内存数据库&#xff0c;其优秀的性能&#xff0c;和简洁的C代码&#xff0c;让我学习使用过程中收益颇多&#xff0c;但是国内中文相关研究的文章相当稀少&#xff0c;外文我查询相当不便。有兴趣的朋友可以通过以下网站访问&#xff1a;Mai…

《vtk9 book》 官方web版 第3章 - 计算机图形基础 (3 / 6)

3.8 演员几何 我们已经看到了光照属性如何控制演员的外观&#xff0c;以及相机如何结合变换矩阵将演员投影到图像平面上。剩下的是定义演员的几何形状&#xff0c;以及如何将其定位在世界坐标系中。 建模 计算机图形学研究中的一个重要主题是建模或表示物体的几何形状。…