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

csp基础知识——分治、查找与排序

分治分治是一种思想具体是在解决某类问题的一种解决思路常常在排序算法中使用。当然用一个具体的例子可以快速了解一下。假设在一堆n个质量相同的真硬币中混入了一枚质量较轻的假硬币现在要找出来常规方法是一个一个测量重量兴许运气好测几次就能知道结果运气不好的情况下可能到最后一个才能知道结果。所以时间复杂度就是O(n)。哦这种方法实在是太慢了有没有快一点的方法。那可以分成个数相同的两堆每堆n/2个假设是整数假硬币就在比较轻的那堆里这样就可以排除一半的硬币然后我们接着把这堆比较轻的一分为二每堆n/2/2个继续找更轻的就又排除了一些这样循环往复直到找到最后两个硬币测出最轻的那个即可找到目标。这样的时间复杂度是O(logn)在基数n比较大的时候可以大大减少算力和时间复杂度。好接下来说一下这样的思路的应用题型。基础题型二分查找、归并排序二分查找在线性表中要查找某个数值采用二分查找是个很好的方法其思路就是分治的思想。二分查找也称折半查找(Binary Search)它是一种效率较高的查找方法。但是二分查找要求线性表必须采用顺序存储结构而且表中元素按关键字有序排列。具体的题目有1.二分查找元素x在数列中是否存在求出现位置2.二分查找左边界第一次出现的位置(0)3.二分查找右边界最后一次出现的位置(n)基本方法while(lr){mid(lr)/2;if(x a[mid]) rmid-1;else if(x a[mid]) lmid1;else {coutmid;//printf(%d,mid);return 0;//break;}}注意求mid有多种方法mid (lr)/2 (lr)1 l(r-l)/2 //最后一种可以防止lr越界二分函数1.binary_search(abegin , aend , x , cmp);函数含义在a数组的下标为[begin,end)区间内按照cmp的排序规则找元素x。找到返回true,找不到返回false。注意点(1)查找区间是左闭右开的[begin,end),不包含结束位置(2)排序规则cmp不是必须的但查找时的排序规则必须和排序的规则是一致的2.lower_bound() 和upper_bound()二分查找左边界 T* lower_bound(abegin , aend , x , cmp);函数含义在a数组的下标为[begin,end)区间内按照cmp的排序规则找元素x的左边界第一个元素的x的位置返回位置指针注意点(l)基本注意点同binary_search;(2)此处返回的不是下标的值而是返回指针T*p(3)如果找不到符合条件的元素位置指向下标为end的元素位置二分查找右边界 T*upper_bound(abegin , aend , x , cmp);函数含义在a数组的下标为[begin,end)区间内按照cmp的排序规则找元素x的右边界第一个元素的x的位置返回位置指针注意点同lower_bound例题

相关文章:

csp基础知识——分治、查找与排序

分治分治是一种思想,具体是在解决某类问题的一种解决思路,常常在排序算法中使用。当然用一个具体的例子可以快速了解一下。假设在一堆(n个)质量相同的真硬币中混入了一枚质量较轻的假硬币,现在要找出来,常规…...

终极NCM解密指南:3分钟解锁网易云音乐加密格式,让音乐自由播放

终极NCM解密指南:3分钟解锁网易云音乐加密格式,让音乐自由播放 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为下载的网易云音乐NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump是一款简单…...

Java 25 外部函数接口增强:仅剩72小时!OpenJDK 25正式版冻结前必须掌握的3个@ClangBinding兼容性开关

更多请点击: https://intelliparadigm.com 第一章:Java 25 外部函数接口增强概览 Java 25 正式将外部函数与内存 API(Foreign Function & Memory API)从预览状态转为正式特性(JEP 497),标…...

内存健康守护神:如何用Memtest86+彻底检测电脑内存故障

内存健康守护神:如何用Memtest86彻底检测电脑内存故障 【免费下载链接】memtest86plus Official repo for Memtest86 项目地址: https://gitcode.com/gh_mirrors/me/memtest86plus 你的电脑是否经常出现蓝屏、死机或数据损坏?这些恼人的问题很可能…...

[FRP]Windows 安装 frpc 客户端,以及P2P方式ssh配置

一. 下载 frpc 客户端程序 客户端程序下载地址:GITHUB官方仓库 。根据您的 CPU 类型选择合适的版本。 本教程以 v0.68.1 为例:选择 frp_0.68.1_windows_amd64.zip 下载。 二、解压文件 三、配置文件 frpc.toml serverAddr "服务端IP" ser…...

【优化调度】含氢气氨气综合能源系统优化调度【含Matlab源码 15394期】

💥💥💥💥💥💥💥💥💞💞💞💞💞💞💞💞💞Matlab武动乾坤博客之家💞…...

Vue2 转 Vue3 思维转变与工程实践

一、前言Vue2 转 Vue3 思维转变与工程实践 是当前技术圈热议的话题。本文从实际场景出发,帮你快速掌握核心要点。二、核心概念2.1 什么是Vue3Vue3是现代软件开发中不可或缺的一环,下面通过一个典型场景来理解它的核心价值。2.2 基本用法// 基础示例 asyn…...

开发者职业倦怠自救手册:找回编码的快乐——写给软件测试从业者的专业指南

我们为何“倦”了?在软件测试领域深耕多年后,许多从业者会经历这样一个阶段:曾经对发现Bug、保障质量充满热情,如今却感到重复、枯燥甚至迷茫。每天面对相似的测试用例、无穷的回归测试、复杂的自动化脚本维护,以及不断…...

【仅限头部金融级用户知晓】Java 25 ZGC 2.0生产调优白皮书(含JFR采样模板与火焰图标注规范)

更多请点击: https://intelliparadigm.com 第一章:Java 25 ZGC 2.0 生产调优白皮书导论 ZGC 2.0 是 Java 25 中面向超低延迟场景的下一代垃圾收集器重大演进,其核心目标是将 GC 停顿时间稳定控制在 **1ms 以内**(P99 ≤ 0.8ms&am…...

HarmonyOS Tabs组件自定义遮罩效果全解析

引言:提升tabBar视觉体验的遮罩技术在HarmonyOS应用开发中,Tabs组件作为常见的导航控件,广泛应用于各类内容切换场景。然而,当tabBar页签内容过长且采用可滚动模式时,简单的背景色设置往往无法提供理想的视觉体验——用…...

React组件化开发全解析,前端现代必备知识

我们来深入、系统地拆解 React 前端技术。 一、核心概念:React 是什么? React 是一个用于构建用户界面的 JavaScript 库(注意,它不是框架)。它的核心思想是组件化和声明式编程。你可以把它想象成乐高积木&#xff1a…...

每日AI新闻推送:具身智能、芯片与大模型的最新突破(2026.04.26)

为您精选过去24小时内全球最具影响力的10条科技新闻,涵盖具身智能、机器人、芯片、大模型与应用四大核心领域。 🤖 具身智能与机器人:从“能动”迈向“会干”的元年 1. 智元机器人宣布2026为“部署态元年”,万台下线开启工业化落…...

终极指南:3分钟掌握FF14过场动画跳过插件的完整使用技巧

终极指南:3分钟掌握FF14过场动画跳过插件的完整使用技巧 【免费下载链接】FFXIV_ACT_CutsceneSkip 项目地址: https://gitcode.com/gh_mirrors/ff/FFXIV_ACT_CutsceneSkip 还在为《最终幻想14》中重复的副本过场动画浪费时间吗?FFXIV_ACT_Cutsce…...

如何用NVIDIA Profile Inspector解决游戏性能与画质难题

如何用NVIDIA Profile Inspector解决游戏性能与画质难题 【免费下载链接】nvidiaProfileInspector 项目地址: https://gitcode.com/gh_mirrors/nv/nvidiaProfileInspector 你是否曾遇到过这样的困扰:明明显卡性能足够,但游戏画面总是出现撕裂&am…...

底层算法逆向揭秘:哪些降重软件可以同时降低查重率和AIGC疑似率?2026高效论文降重方案全解析

【CSDN独家硬核长文 / 年度置顶专栏】 博主身份:CSDN百大实力榜博主 / AI安全与大语言模型(LLM)风控研究员 / 硕博避坑指南星推官 版权声明:本文系2026年毕业压测季的最真实黑盒施压数据,未经授权严禁搬运。这是一场为了保住各位毕业双证的“…...

初识VTK中的类

QVTKOpenGLNativeWidget&#xff1a;用于在QT中嵌入显示VTK数据的widget VTKOpenGLNativeWidget* m_vtk new QVTKOpenGLNativeWidget(this);vtkGenericOpenGLRenderWindow&#xff1a;VTK 渲染窗口 vtkSmartPointer<vtkGenericOpenGLRenderWindow> m_renderWindow vtkS…...

八大网盘直链下载终极指南:LinkSwift开源工具免费解锁高效下载体验

八大网盘直链下载终极指南&#xff1a;LinkSwift开源工具免费解锁高效下载体验 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动…...

tlbs-map-vue:解决Vue项目中地图集成难题的现代化组件方案

tlbs-map-vue&#xff1a;解决Vue项目中地图集成难题的现代化组件方案 【免费下载链接】tlbs-map-vue 基于腾讯位置服务 JavaScript API 封装的 Vue 版地图组件库 项目地址: https://gitcode.com/gh_mirrors/tl/tlbs-map-vue 在当今的前端开发中&#xff0c;地图功能已成…...

盲盒小程序如何设计,才能让用户忍不住下单?

抓不住用户痛点 再好看的小程序也白搭很多做盲盒生意的老板都踩过同一个坑&#xff0c;花大价钱做了小程序&#xff0c;上线之后点击率不低&#xff0c;就是没人付款下单。盯着后台数据看半天&#xff0c;愣是找不出问题出在哪。你是不是也以为&#xff0c;只要把盲盒摆上去&am…...

企业级文档管理终极指南:5步快速部署OpenKM开源文档管理系统

企业级文档管理终极指南&#xff1a;5步快速部署OpenKM开源文档管理系统 【免费下载链接】document-management-system OpenKM is a Open Source Document Management System 项目地址: https://gitcode.com/gh_mirrors/do/document-management-system 在数字化办公时代…...

Real-Anime-Z部署教程:使用conda环境隔离Z-Image与其它扩散模型依赖

Real-Anime-Z部署教程&#xff1a;使用conda环境隔离Z-Image与其它扩散模型依赖 1. 项目介绍 Real-Anime-Z是一款基于Stable Diffusion技术的写实向动漫风格大模型&#xff0c;由Devilworld团队开发。它巧妙融合了写实与动漫风格&#xff0c;创造出独特的2.5D视觉效果——在保…...

加入国内正规水漆定制招商,实际收益和体验究竟如何?

家人们&#xff0c;最近不少人都在考虑加入国内正规水漆定制招商&#xff0c;我作为爱瑞德全屋定制的深度体验者&#xff0c;今天就来跟大家好好唠唠实际收益和体验到底咋样。我之前家里装修&#xff0c;就面临着不少痛点。家里收纳那叫一个混乱&#xff0c;各种东西堆得到处都…...

网络丢包怎么排查?一文讲透从现象确认、抓包定位到链路归因的完整方法

网络丢包怎么排查&#xff1f;一文讲透从现象确认、抓包定位到链路归因的完整方法 **一句话定义&#xff1a;**网络丢包排查&#xff0c;不是简单看一个丢包率数字&#xff0c;而是要回答“包丢在什么位置、在什么条件下丢、对业务到底造成了什么影响”。 很多团队一看到应用变…...

Win11Debloat:彻底释放Windows系统潜能的终极优化工具

Win11Debloat&#xff1a;彻底释放Windows系统潜能的终极优化工具 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter and cu…...

Phi-3.5-mini-instruct保姆级部署教程:5分钟搞定环境配置与快速启动

Phi-3.5-mini-instruct保姆级部署教程&#xff1a;5分钟搞定环境配置与快速启动 1. 为什么选择Phi-3.5-mini-instruct&#xff1f; Phi-3.5-mini-instruct是微软推出的轻量级大语言模型&#xff0c;具有3.8B参数和128K超长上下文处理能力。相比同类模型&#xff0c;它有三大优…...

5个必知技巧:rgthree-comfy如何让你的ComfyUI工作流更智能高效?

5个必知技巧&#xff1a;rgthree-comfy如何让你的ComfyUI工作流更智能高效&#xff1f; 【免费下载链接】rgthree-comfy Making ComfyUI more comfortable! 项目地址: https://gitcode.com/gh_mirrors/rg/rgthree-comfy 你是否曾在使用ComfyUI时感到工作流程杂乱无章&am…...

WVP-GB28181-Pro语音广播技术架构优化:海康设备媒体流传输稳定性深度解析

WVP-GB28181-Pro语音广播技术架构优化&#xff1a;海康设备媒体流传输稳定性深度解析 【免费下载链接】wvp-GB28181-pro 基于GB28181-2016、部标808、部标1078标准实现的开箱即用的网络视频平台。自带管理页面&#xff0c;支持NAT穿透&#xff0c;支持海康、大华、宇视等品牌的…...

单细胞数据分析避坑指南:你的表达矩阵是怎么来的?详解Barcode、UMI与建库方法

单细胞测序数据溯源&#xff1a;从建库方法到表达矩阵的技术迷宫解密 当你在Seurat中加载那个精心准备的表达矩阵时&#xff0c;是否曾好奇这些数字背后的生物学真相&#xff1f;单细胞RNA测序技术如同一个精密的分子显微镜&#xff0c;但它的成像质量首先取决于建库方法这个&q…...

企业级私有化AI模型训练工作站DLTM一体化AI模型训练工作站重构企业AI自主可控新模式

在企业数字化转型深水区&#xff0c;AI模型训练正从“云端租用”走向“本地自主”。DLTM企业级私有化AI模型训练工作站&#xff0c;以零代码易用、全链路安全、全流程自动化、企业级稳定四大核心能力&#xff0c;打破技术与安全双重壁垒&#xff0c;让企业真正掌握AI主动权&…...

从计算sin(π/6)开始:手把手教你用STM32的DSP库做实际信号处理

从计算sin(π/6)到实时频谱分析&#xff1a;STM32 DSP库实战指南 在嵌入式开发中&#xff0c;信号处理一直是提升系统性能的关键环节。想象一下&#xff0c;你正在设计一个智能家居的声控模块&#xff0c;需要快速识别用户的语音指令&#xff1b;或者开发一款工业设备的状态监测…...