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

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 提高组] 铺地毯​​​​​​ 重复 模拟 要求覆盖在最上面的地毯编号&#xff0c;用四个数组abgk分别记录地毯起点的左下角横纵坐标&#xff0c;地毯的长度宽度&#xff0c;输入的坐标x y 当它满足大于等于左下角坐标 并且 小于等于 地毯左下角横纵坐标的时候…...

Overleaf 无法显示图片

问题描述 在Overleaf中的代码为&#xff1a; \begin{figure}\centering\includegraphics[width0.98\linewidth]{figures/test.png}\caption{This is a test.}\label{fig:test} \end{figure}但无法正常显示图片&#xff1a; 解决方案 修改编译模式为正常Normal而非快速Fast …...

如何实现 C/C++ 与 Python 的通信?

在现代编程中&#xff0c;C/C与Python的通信已经成为一种趋势&#xff0c;尤其是在需要高性能和灵活性的场景中。本文将深入探讨如何实现这两者之间的互通&#xff0c;包括基础和高级方法&#xff0c;帮助大家在混合编程中游刃有余。 C/C 调用 Python&#xff08;基础篇&#…...

音视频入门基础:FLV专题(13)——FFmpeg源码中,解析任意Type值的SCRIPTDATAVALUE类型的实现

一、SCRIPTDATAVALUE类型 从《音视频入门基础&#xff1a;FLV专题&#xff08;9&#xff09;——Script Tag简介》中可以知道&#xff0c;根据《video_file_format_spec_v10_1.pdf》第80到81页&#xff0c;SCRIPTDATAVALUE类型由一个8位&#xff08;1字节&#xff09;的Type和…...

jvm里的metaspace oom 排查问题思路-使用MAT

文章目录 metapace oom 问题排查点-1-duplicate class 数量排查点-2-classloader 数量一些可能迷惑人的方向 metapace oom 问题 metapace 问题都是由加载的class 太多&#xff0c;导致内存不够报出来的。 排查点-1-duplicate class 数量 首先看这里&#xff0c;通常一个clas…...

2025舜宇招聘【内推码】

【2025内推码】 DSwNQ9yu DSJXN8Mr 舜宇集团2025届全球校园招聘正式启动&#xff01;&#xff01;&#xff01; 专业需求&#xff1a;机械、自动化、电子、电气、通信、控制、测控、计算机、软件、物理、光学等专业&#xff1b; 工作地点&#xff1a;宁波余姚、浙江杭州、广东…...

APP自动化搭建与应用

APP自动化环境搭建 用于做APP端UI自动化&#xff0c;adb连接手机设备。 需要的工具java编辑器&#xff1a;jdk、Android-sdk软件开发工具组、appium的python客户端、nodes.js、夜神模拟器、apk包、uiautomatorviewer 第一步&#xff1a;安装sdk&#xff0c;里面包含建立工具bu…...

kafka-windows集群部署

kafka-windows集群部署目录 文章目录 kafka-windows集群部署目录前言一、复制出来四个kafka文件夹二、修改集群每个kafka的配置文件四、启动zookeeper&#xff0c;kafka集群 前言 部署本文步骤可以先阅读这一篇博客&#xff0c;这篇是关于单机kafka部署测试的。本文用到的文件…...

4个顶级的大模型推理引擎

LLM 在文本生成应用中表现出色&#xff0c;例如具有高理解度和流畅度的聊天和代码完成模型。然而&#xff0c;它们的庞大规模也给推理带来了挑战。基本推理速度很慢&#xff0c;因为 LLM 会逐个生成文本标记&#xff0c;需要对每个下一个标记进行重复调用。随着输入序列的增长&…...

Oracle中ADD_MONTHS()函数详解

文章目录 前言一、ADD_MONTHS()的语法二、主要用途三、测试用例总结 前言 在Oracle数据库中&#xff0c;ADD_MONTHS()函数用于在日期中添加指定的月数。 一、ADD_MONTHS()的语法 ADD_MONTHS(date, n) 其中&#xff0c;date是一个日期值&#xff0c;n是一个整数值&#xff0c…...

【SQL】掌握SQL查询技巧:高效数据整合与查询优化

目录 1. SQL 的基本构成2. SQL 联接&#xff08;JOIN&#xff09;2.1 内联接&#xff08;INNER JOIN&#xff09;2.2 外联接&#xff08;OUTER JOIN&#xff09;2.2.1 左外联接&#xff08;LEFT JOIN&#xff09;2.2.2 右外联接&#xff08;RIGHT JOIN&#xff09;2.2.3 全外联…...

一个月学会Java 第5天 控制结构

Day5 控制结构 这么叫可能有些就算有基础的人也看不懂&#xff0c;其实就是if-else、switch-case、for、while、do-while这几个&#xff0c;没基础的听到了这个也不要慌张&#xff0c;这几个是程序的基础&#xff0c;多多训练就好 第一章 顺序结构 这章其实没有什么好讲的&…...

世界职业院校技能大赛(大数据技术与应用)参赛项目介绍内容模拟示例参考

最近关注世界职业院校技能大赛的同学应该都知道了&#xff0c;比赛已经正式改为”世界职业院校技能大赛“了&#xff0c;不仅仅是名称变化&#xff0c;而且比赛的形式也发生了巨大的改革&#xff0c;2024年世界职业院校技能大赛设置42个赛道&#xff0c;要求各比赛项目提交项目…...

【Python】文件及目录

文章目录 概要一、文件对象的函数1.1 open()函数1.2 文件对象的函数1.3 with语句 二、基于os和os.path模块的目录操作三、基于Pandas的文件处理3.1 Pandas读写各种类型文件 其他章节的内容 概要 本文主要将了打开文件的函数open()的参数&#xff0c;以及文件对象的函数&#x…...

OpenHarmony(鸿蒙南向开发)——标准系统方案之瑞芯微RK3566移植案例(下)

往期知识点记录&#xff1a; 鸿蒙&#xff08;HarmonyOS&#xff09;应用层开发&#xff08;北向&#xff09;知识点汇总 鸿蒙&#xff08;OpenHarmony&#xff09;南向开发保姆级知识点汇总~ 持续更新中…… 概述 OpenHarmony Camera驱动模型结构 HDI Implementation&#x…...

霓虹灯数字时钟(可复制源代码)

文章目录 一、效果演示二、CodeHTMLCSSJavaScript 三、实现思路拆分CSS 部分JavaScript 部分 四、源代码 一、效果演示 文末可一键复制完整代码 二、Code HTML <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><…...

大模型微调技术之 LoRA:开启高效微调新时代

一、LoRA 简介 LoRA&#xff0c;即低秩适应&#xff08;Low-Rank Adaptation&#xff09;&#xff0c;是一种用于微调大型语言模型的技术&#xff0c;旨在以较小的计算资源和数据量实现模型的快速适应特定任务或领域。 LoRA 方法通过引入低秩近似的思想&#xff0c;对大型预训…...

【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 的任务进度条 在网页开发中&#xff0c;任务进度条是一种常见的 UI 组件&#xff0c;它可以直观地展示任务的完成情况。本文将向你展示如何使用 HTML CSS JavaScript 来创建一个简单的、交互式的任务进度条。用户可以通过点击进度条的任意位置来…...

学会流体力学,冬天洗澡再也不冷啦

前些日子收到一位网友“究极理性怪物”的私信&#xff0c;说最近在学校的公共浴室洗澡时&#xff0c;快被冻死了&#xff0c;希望我从流体力学角度帮他分析一下浴室的温度分布&#xff0c;以便找到相对温暖的洗澡位置。 我看到后觉得很有意思&#xff0c;就与他展开了关于澡堂…...

Android Wi-Fi 连接失败日志分析

1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分&#xff1a; 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析&#xff1a; CTR…...

ES6从入门到精通:前言

ES6简介 ES6&#xff08;ECMAScript 2015&#xff09;是JavaScript语言的重大更新&#xff0c;引入了许多新特性&#xff0c;包括语法糖、新数据类型、模块化支持等&#xff0c;显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var&#xf…...

day52 ResNet18 CBAM

在深度学习的旅程中&#xff0c;我们不断探索如何提升模型的性能。今天&#xff0c;我将分享我在 ResNet18 模型中插入 CBAM&#xff08;Convolutional Block Attention Module&#xff09;模块&#xff0c;并采用分阶段微调策略的实践过程。通过这个过程&#xff0c;我不仅提升…...

边缘计算医疗风险自查APP开发方案

核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

Linux简单的操作

ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

STM32F4基本定时器使用和原理详解

STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢

随着互联网技术的飞速发展&#xff0c;消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁&#xff0c;不仅优化了客户体验&#xff0c;还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用&#xff0c;并…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

android RelativeLayout布局

<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:gravity&…...

pgsql:还原数据库后出现重复序列导致“more than one owned sequence found“报错问题的解决

问题&#xff1a; pgsql数据库通过备份数据库文件进行还原时&#xff0c;如果表中有自增序列&#xff0c;还原后可能会出现重复的序列&#xff0c;此时若向表中插入新行时会出现“more than one owned sequence found”的报错提示。 点击菜单“其它”-》“序列”&#xff0c;…...