51.哀家要长脑子了!
1.P1003 [NOIP2011 提高组] 铺地毯

重复 模拟 要求覆盖在最上面的地毯编号,用四个数组abgk分别记录地毯起点的左下角横纵坐标,地毯的长度宽度,输入的坐标x y 当它满足大于等于左下角坐标 并且 小于等于 地毯左下角横纵坐标的时候,就表示它在这个地毯上了 一直遍历完所有输入的地毯,最后就是覆盖在最上面的地毯
C++版本
#include<iostream>
using namespace std;const int N = 1e6+10;
int a[N], b[N], g[N], k[N];int main(){int n;cin >> n;for(int i = 1; i <= n; i++)cin >> a[i] >> b[i] >> g[i] >> k[i];int x,y;cin >> x >> y;int res = -1;for(int i = 1; i <= n; i++)if(x >= a[i] && y >= b[i] && x <= a[i]+g[i] && y <= b[i]+k[i])res = i;cout << res;return 0;
}
Java版本
import java.util.Scanner;public class Main{static final int N = (int)1e6 + 10;static int[] a = new int[N];static int[] b = new int[N];static int[] g = new int[N];static int[] k = new int[N];public static void main(String[] args){Scanner sc = new Scanner(System.in);int n = sc.nextInt();for(int i = 0; i < n; i++){a[i] = sc.nextInt();b[i] = sc.nextInt();g[i] = sc.nextInt();k[i] = sc.nextInt();}int x = sc.nextInt();int y = sc.nextInt();int res = -1;for(int i = 0; i < n; i++)if(x>=a[i] && y>=b[i] && x<=a[i]+g[i] && y<=b[i]+k[i])res = i + 1;System.out.println(res);}
}
2.P1007 独木桥

其实一个点下桥的最近距离就是转头直接下去,最远就是走到对面去,但因为题目要求相遇要转身给了干扰,但是,其实也还是可以看成相遇的时候不用转身继续往对面走,因为继续走不转身相当于对面的士兵帮你把你自己转身之后的路走了,这样子就简化了。
C++版本
#include<iostream>
using namespace std; int main(){int l;cin >> l;int n;cin >> n;int ans = 0, res = 0;for(int i = 0; i < n; i++){int a;cin >> a;ans = max(max(l-a+1, a), ans);res = max(min(l-a+1, a), res);}cout << res << " " << ans;return 0;
}
Java版本
import java.util.Scanner;
public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int l = sc.nextInt();int n = sc.nextInt();int max = 0;int min = 0;for (int i = 0; i < n; i++) {int a = sc.nextInt();max = Math.max(Math.max(l+1-a, a), max);min = Math.max(Math.min(l+1-a, a), min);}System.out.println(min + " " + max);}
}
3.P1008 [NOIP1998 普及组] 三连击

哎呀,其实挺好想到的,但是我还是想不到。。。。。
注意百位数枚举到3就好了,再大就溢出来了
C++版本
#include<iostream>
using namespace std;int main(){for(int i = 1; i <= 3; i++){ //百位数for(int j = 1; j <= 9; j++){ //十位数for(int k = 1; k <= 9; k++){ //个位数if(i == k || j == i || k == j) continue; //跳过相同的int a = i*100 + j*10 + k;int b = a * 2;int c = a * 3;if(c >= 1000) return 0;int l = b/100, m = b/10%10, n = b%10; //取出每一位上的数int o = c/100, p = c/10%10, q = c%10;if(i+j+k+l+m+n+o+p+q == 1+2+3+4+5+6+7+8+9 && //一个数字用一次i*j*k*l*m*n*o*p*q == 1*2*3*4*5*6*7*8*9)cout << a << " " << b << " " << c << endl;}}}return 0;
}
Java版本
public class Main{public static void main(String[] args){for(int i = 1; i <= 3; i++){for(int j = 1; j <= 9; j++){for(int k = 1; k <= 9; k++){if(i == j || j == k || i == k) continue;int a = i*100 + j*10 + k;int b = a * 2;int c = a * 3;if(c >= 1000) break;int l = b/100, m = b/10%10, n = b%10;int o = c/100, p = c/10%10, q = c%10; if(i+j+k+l+m+n+o+p+q == 1+2+3+4+5+6+7+8+9 &&i*j*k*l*m*n*o*p*q == 1*2*3*4*5*6*7*8*9)System.out.println(a + " " + b + " " + c);}}}}
}
4.220. 存在重复元素 III - 力扣(LeetCode)

首先用的双重for循环还想着简简单单。。
可以用set(滑动窗口和查找,但是桶排序效率更高
C++版本
class Solution {
public:bool containsNearbyAlmostDuplicate(vector<int>& nums, int k, int t) {set<long> st;for (int i = 0; i < nums.size(); i++) {auto lb = st.lower_bound((long)nums[i] - t);if (lb != st.end() && *lb <= (long)nums[i] + t) return 1;st.insert(nums[i]);if (i >= k) st.erase(nums[i - k]);}return 0;}
};
Java版本
class Solution {public boolean containsNearbyAlmostDuplicate(int[] nums, int indexDiff, int valueDiff) {int n = nums.length ;TreeSet<Long> ts = new TreeSet<>();for(int i = 0; i < n; i++){Long val = nums[i]*1L;// 小于等于nums[i] 的最大元素Long left = ts.floor(val);// 大于等于nums[i] 的最小元素Long right = ts.ceiling(val);if(left!=null && val - left <= valueDiff) return true;if(right!=null && right - val <= valueDiff) return true;ts.add(val);if(i >= indexDiff) ts.remove(nums[i-indexDiff]*1L);}return false;}
}
Java中的TreeSeet
有序、唯一
1.创建TreeSet
import java.util.TreeSetTreeSet<Integer> ts = new TreeSet<>();
2.添加元素
ts.add(要添加的元素);
3.删除元素
ts.remove(要删除的元素);
4.查找元素
boolean chazhao = ts.contains(要查找的元素值);
5.获取子集
// 获取从 1 到 5 的子集
TreeSet<数据类型> subSet = (TreeSet<数据类型>) ts.subSet(1, 5);
6.获取头尾元素
// 获取最小元素
接收 = ts.first();// 获取最大元素
接收 = ts.last();
7.获取上下界元素
// 获取大于等于val 的最小元素
接收 = ts.ceiling(val);// 获取小于等于val 的最大元素
接受 = ts.floor(val);
8.获取下一个元素和前一个元素
// 获取 val 的下一个元素
接收 = ts.higher(val);// 获取 val 的前一个元素
接收 = ts.lower(val);
相关文章:
51.哀家要长脑子了!
1.P1003 [NOIP2011 提高组] 铺地毯 重复 模拟 要求覆盖在最上面的地毯编号,用四个数组abgk分别记录地毯起点的左下角横纵坐标,地毯的长度宽度,输入的坐标x y 当它满足大于等于左下角坐标 并且 小于等于 地毯左下角横纵坐标的时候…...
Overleaf 无法显示图片
问题描述 在Overleaf中的代码为: \begin{figure}\centering\includegraphics[width0.98\linewidth]{figures/test.png}\caption{This is a test.}\label{fig:test} \end{figure}但无法正常显示图片: 解决方案 修改编译模式为正常Normal而非快速Fast …...
如何实现 C/C++ 与 Python 的通信?
在现代编程中,C/C与Python的通信已经成为一种趋势,尤其是在需要高性能和灵活性的场景中。本文将深入探讨如何实现这两者之间的互通,包括基础和高级方法,帮助大家在混合编程中游刃有余。 C/C 调用 Python(基础篇&#…...
音视频入门基础:FLV专题(13)——FFmpeg源码中,解析任意Type值的SCRIPTDATAVALUE类型的实现
一、SCRIPTDATAVALUE类型 从《音视频入门基础:FLV专题(9)——Script Tag简介》中可以知道,根据《video_file_format_spec_v10_1.pdf》第80到81页,SCRIPTDATAVALUE类型由一个8位(1字节)的Type和…...
jvm里的metaspace oom 排查问题思路-使用MAT
文章目录 metapace oom 问题排查点-1-duplicate class 数量排查点-2-classloader 数量一些可能迷惑人的方向 metapace oom 问题 metapace 问题都是由加载的class 太多,导致内存不够报出来的。 排查点-1-duplicate class 数量 首先看这里,通常一个clas…...
2025舜宇招聘【内推码】
【2025内推码】 DSwNQ9yu DSJXN8Mr 舜宇集团2025届全球校园招聘正式启动!!! 专业需求:机械、自动化、电子、电气、通信、控制、测控、计算机、软件、物理、光学等专业; 工作地点:宁波余姚、浙江杭州、广东…...
APP自动化搭建与应用
APP自动化环境搭建 用于做APP端UI自动化,adb连接手机设备。 需要的工具java编辑器:jdk、Android-sdk软件开发工具组、appium的python客户端、nodes.js、夜神模拟器、apk包、uiautomatorviewer 第一步:安装sdk,里面包含建立工具bu…...
kafka-windows集群部署
kafka-windows集群部署目录 文章目录 kafka-windows集群部署目录前言一、复制出来四个kafka文件夹二、修改集群每个kafka的配置文件四、启动zookeeper,kafka集群 前言 部署本文步骤可以先阅读这一篇博客,这篇是关于单机kafka部署测试的。本文用到的文件…...
4个顶级的大模型推理引擎
LLM 在文本生成应用中表现出色,例如具有高理解度和流畅度的聊天和代码完成模型。然而,它们的庞大规模也给推理带来了挑战。基本推理速度很慢,因为 LLM 会逐个生成文本标记,需要对每个下一个标记进行重复调用。随着输入序列的增长&…...
Oracle中ADD_MONTHS()函数详解
文章目录 前言一、ADD_MONTHS()的语法二、主要用途三、测试用例总结 前言 在Oracle数据库中,ADD_MONTHS()函数用于在日期中添加指定的月数。 一、ADD_MONTHS()的语法 ADD_MONTHS(date, n) 其中,date是一个日期值,n是一个整数值,…...
【SQL】掌握SQL查询技巧:高效数据整合与查询优化
目录 1. SQL 的基本构成2. SQL 联接(JOIN)2.1 内联接(INNER JOIN)2.2 外联接(OUTER JOIN)2.2.1 左外联接(LEFT JOIN)2.2.2 右外联接(RIGHT JOIN)2.2.3 全外联…...
一个月学会Java 第5天 控制结构
Day5 控制结构 这么叫可能有些就算有基础的人也看不懂,其实就是if-else、switch-case、for、while、do-while这几个,没基础的听到了这个也不要慌张,这几个是程序的基础,多多训练就好 第一章 顺序结构 这章其实没有什么好讲的&…...
世界职业院校技能大赛(大数据技术与应用)参赛项目介绍内容模拟示例参考
最近关注世界职业院校技能大赛的同学应该都知道了,比赛已经正式改为”世界职业院校技能大赛“了,不仅仅是名称变化,而且比赛的形式也发生了巨大的改革,2024年世界职业院校技能大赛设置42个赛道,要求各比赛项目提交项目…...
【Python】文件及目录
文章目录 概要一、文件对象的函数1.1 open()函数1.2 文件对象的函数1.3 with语句 二、基于os和os.path模块的目录操作三、基于Pandas的文件处理3.1 Pandas读写各种类型文件 其他章节的内容 概要 本文主要将了打开文件的函数open()的参数,以及文件对象的函数&#x…...
OpenHarmony(鸿蒙南向开发)——标准系统方案之瑞芯微RK3566移植案例(下)
往期知识点记录: 鸿蒙(HarmonyOS)应用层开发(北向)知识点汇总 鸿蒙(OpenHarmony)南向开发保姆级知识点汇总~ 持续更新中…… 概述 OpenHarmony Camera驱动模型结构 HDI Implementation&#x…...
霓虹灯数字时钟(可复制源代码)
文章目录 一、效果演示二、CodeHTMLCSSJavaScript 三、实现思路拆分CSS 部分JavaScript 部分 四、源代码 一、效果演示 文末可一键复制完整代码 二、Code HTML <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><…...
大模型微调技术之 LoRA:开启高效微调新时代
一、LoRA 简介 LoRA,即低秩适应(Low-Rank Adaptation),是一种用于微调大型语言模型的技术,旨在以较小的计算资源和数据量实现模型的快速适应特定任务或领域。 LoRA 方法通过引入低秩近似的思想,对大型预训…...
【Vue】Vue2(2)
文章目录 1 数据代理1.1 回顾Object.defineproperty方法1.2 何为数据代理1.3 Vue中的数据代理 2 事件处理2.1 事件的基本使用2.2 事件修饰符2.3 键盘事件 1 数据代理 1.1 回顾Object.defineproperty方法 <!DOCTYPE html> <html><head><meta charset&quo…...
如何实现一个基于 HTML+CSS+JS 的任务进度条
如何实现一个基于 HTMLCSSJS 的任务进度条 在网页开发中,任务进度条是一种常见的 UI 组件,它可以直观地展示任务的完成情况。本文将向你展示如何使用 HTML CSS JavaScript 来创建一个简单的、交互式的任务进度条。用户可以通过点击进度条的任意位置来…...
学会流体力学,冬天洗澡再也不冷啦
前些日子收到一位网友“究极理性怪物”的私信,说最近在学校的公共浴室洗澡时,快被冻死了,希望我从流体力学角度帮他分析一下浴室的温度分布,以便找到相对温暖的洗澡位置。 我看到后觉得很有意思,就与他展开了关于澡堂…...
Admin.Net中的消息通信SignalR解释
定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...
Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...
【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...
从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)
设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...
相机从app启动流程
一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...
基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...
Spring Boot面试题精选汇总
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...
Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...
