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 来创建一个简单的、交互式的任务进度条。用户可以通过点击进度条的任意位置来…...
学会流体力学,冬天洗澡再也不冷啦
前些日子收到一位网友“究极理性怪物”的私信,说最近在学校的公共浴室洗澡时,快被冻死了,希望我从流体力学角度帮他分析一下浴室的温度分布,以便找到相对温暖的洗澡位置。 我看到后觉得很有意思,就与他展开了关于澡堂…...
docker详细操作--未完待续
docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...
shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...
以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:
一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...
【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...
Go 语言接口详解
Go 语言接口详解 核心概念 接口定义 在 Go 语言中,接口是一种抽象类型,它定义了一组方法的集合: // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的: // 矩形结构体…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...
涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...
CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云
目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...
Java面试专项一-准备篇
一、企业简历筛选规则 一般企业的简历筛选流程:首先由HR先筛选一部分简历后,在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如:Boss直聘(招聘方平台) 直接按照条件进行筛选 例如:…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...
