二分与前缀和

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,一经查实,立即删除!

相关文章

在迷惘的时候需要问自己的200个问题?

迷惘时问自己问题是一种很好的方法&#xff0c;可以帮助你更深入地理解自己的内心世界、目标和价值观。以下是超过200个问题&#xff0c;希望能够帮助你在迷惘时找到方向&#xff1a; 我最近感到快乐的时刻是什么&#xff1f;我最近感到沮丧的时刻是什么&#xff1f;我对自己的…

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

信任和安全的话题过于庞大&#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…

业务能力技术栈 —— 树立层次思维,专注于本层面的事物

Q:根据目前的物理学&#xff0c;世间万物是由夸克等基本粒子构成的&#xff0c;会有人想从基本粒子推演出万物的运行规律吗&#xff1f;如社会规律&#xff0c;历史规律&#xff0c;即便是考虑了量子力学的概率与不确定性。 肯定有人想&#xff0c;但是目前做不到&#xff0c;不…

ES6语法(七)Promise

1. Promise ECMAscript 6 原生提供了 Promise 对象。Promise 对象代表了未来将要发生的事件&#xff0c;用来传递异步操作的消息。 1.1. 说明 1.1.1. 单个异步程序 //检测机构//resolve : 表示成功的状态//reject : 表示失败的状态new Promise((resolve,reject) > {if(处理…

Apache POI 解析和处理Excel

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

机器学习(2_1)经验误差,拟合度,评估方法

前言 大部分概念都会给出解释&#xff0c;如果你有不懂的概念&#xff0c;请你在评论中写出 训练集&#xff08;Training Set&#xff09; 用于模型拟合的数据样本。这部分数据集主要用于训练模型&#xff0c;使模型通过学习数据的特征来产生一个可以用于预测的模型。在训练…

来,聊聊前端框架发展史

文章目录 前言一、阶段1. 早期阶段&#xff1a;原生HTML/CSS/JavaScript2. jQuery时代3. MVC/MVVM框架的兴起4. 现代前端框架与工具链4.1. React Webpack Babel4.1.1. 安装依赖4.1.2. 配置Webpack4.1.3. Babel配置4.1.4. React组件和入口文件4.1.5. 运行开发服务器 4.2. Vue.…

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;更是深入到能源…

day54(reactJS)关于事件处理函数 props方法 合成事件 严格模式 组件声明周期 纯组件以及性能优化以及网络请求

&#xff08;reactJS&#xff09;关于事件处理函数this指向的 props与state&#xff0c;setState方法 合成事件与事件对象 严格模式标签 组件声明周期 纯组件以及性能优化以及关于网络请求 1.关于事件处理函数this指向2.关于合成事件与事件对象3.props与state&#xff0c;setSt…

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

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

数据结构---C语言版 408 2019-41题代码版

题目&#xff1a; 2019 年 ( 单链表 ) 41 &#xff0e;&#xff08; 13 分&#xff09;设线性表 L ( a 1 , a 2 , a 3 ,…… ,an2, a n 1 , a n ) 采用带头结点的单链表保存&#xff0c;链表中 的结点定义如下&#xff1a; typedef struct node { int data; struc…

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终端…

提示词工程技术:类比、后退、动态少样本、自动生成CoT

类比提示 “类比提示”利用类比推理的概念&#xff0c;鼓励模型生成自己的例子和知识&#xff0c;从而实现更灵活和高效的解决问题。 后退提示 “后退提示”专注于抽象&#xff0c;引导模型推导出高级概念和原理&#xff0c;进而提高其推理能力。 使用一个基本的数学问题来…

isdigit 是 Python 中字符串对象的一个方法,用于检查字符串中的所有字符是否都是数字。

如果字符串中的所有字符都是数字&#xff0c;则返回 True&#xff0c;否则返回 False。这个方法只能用于检查整数&#xff0c;并且它只能识别 0-9 的数字字符。 这里有一个使用 isdigit 方法的例子&#xff1a; s "12345" if s.isdigit(): print("字符串只包…

npm下载时下载失败解决方法

1.清楚缓存 npm cache clean --force2.切换下载镜像 1.查看当前使用的镜像地址命令 npm config get registry切换为淘宝镜像命令&#xff08;安装一些package容易报错&#xff09; npm config set registry https://registry.npm.taobao.org或官方&#xff1a; npm config…