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

蓝桥杯二分题

P1083 [NOIP2012 提高组] 借教室

题目描述

在大学期间,经常需要租借教室。大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室。教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样。

面对海量租借教室的信息,我们自然希望编程解决这个问题。

我们需要处理接下来 𝑛n 天的借教室信息,其中第 𝑖i 天学校有 𝑟𝑖ri​ 个教室可供租借。共有 𝑚m 份订单,每份订单用三个正整数描述,分别为 𝑑𝑗,𝑠𝑗,𝑡𝑗dj​,sj​,tj​,表示某租借者需要从第 𝑠𝑗sj​ 天到第 𝑡𝑗tj​ 天租借教室(包括第 𝑠𝑗sj​ 天和第 𝑡𝑗tj​ 天),每天需要租借 𝑑𝑗dj​ 个教室。

我们假定,租借者对教室的大小、地点没有要求。即对于每份订单,我们只需要每天提供 𝑑𝑗dj​ 个教室,而它们具体是哪些教室,每天是否是相同的教室则不用考虑。

借教室的原则是先到先得,也就是说我们要按照订单的先后顺序依次为每份订单分配教室。如果在分配的过程中遇到一份订单无法完全满足,则需要停止教室的分配,通知当前申请人修改订单。这里的无法满足指从第 𝑠𝑗sj​ 天到第 𝑡𝑗tj​ 天中有至少一天剩余的教室数量不足 𝑑𝑗dj​ 个。

现在我们需要知道,是否会有订单无法完全满足。如果有,需要通知哪一个申请人修改订单。

输入格式

第一行包含两个正整数 𝑛,𝑚n,m,表示天数和订单的数量。

第二行包含 𝑛n 个正整数,其中第 𝑖i 个数为 𝑟𝑖ri​,表示第 𝑖i 天可用于租借的教室数量。

接下来有 𝑚m 行,每行包含三个正整数 𝑑𝑗,𝑠𝑗,𝑡𝑗dj​,sj​,tj​,表示租借的数量,租借开始、结束分别在第几天。

每行相邻的两个数之间均用一个空格隔开。天数与订单均用从 11 开始的整数编号。

输出格式

如果所有订单均可满足,则输出只有一行,包含一个整数 00。否则(订单无法完全满足)

输出两行,第一行输出一个负整数 −1−1,第二行输出需要修改订单的申请人编号。

输入输出样例

输入 #1复制

4 3 
2 5 4 3 
2 1 3 
3 2 4 
4 2 4

输出 #1复制

-1 
2

说明/提示

【输入输出样例说明】

第 11份订单满足后,44天剩余的教室数分别为 0,3,2,30,3,2,3。第 22 份订单要求第 22天到第 44 天每天提供33个教室,而第 33 天剩余的教室数为22,因此无法满足。分配停止,通知第22 个申请人修改订单。

【数据范围】

对于10%的数据,有1≤𝑛,𝑚≤101≤n,m≤10;

对于30%的数据,有1≤𝑛,𝑚≤10001≤n,m≤1000;

对于 70%的数据,有1≤𝑛,𝑚≤1051≤n,m≤105;

对于 100%的数据,有1≤𝑛,𝑚≤106,0≤𝑟𝑖,𝑑𝑗≤109,1≤𝑠𝑗≤𝑡𝑗≤𝑛1≤n,m≤106,0≤ri​,dj​≤109,1≤sj​≤tj​≤n。

NOIP 2012 提高组 第二天 第二题

2022.2.20 新增一组 hack 数据

import java.io.*;// 主类,程序的入口
public class Main {// 用于从标准输入读取数据并进行词法分析的工具类实例,这里配置为从标准输入流读取private static final StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));// 用于向标准输出写入数据的实例private static final PrintWriter pw = new PrintWriter(System.out);// 表示天数private static int n;// 表示订单数量private static int m;// r[i]表示第i天可用于租借的教室数量private static int[] r;// d数组用于存储每份订单每天需要租借的教室数量private static int[] d;// s数组用于存储每份订单租借开始的天数private static int[] s;// t数组用于存储每份订单租借结束的天数private static int[] t;// diff[i]用于存储第i天与前一天可租借教室数量的差值(r[i] - r[i - 1])private static int[] diff;// 从输入流中读取下一个整数的方法,通过StreamTokenizer解析并返回整数值private static int nextInt() throws IOException {in.nextToken();return (int) in.nval;}// 读取输入数据的方法,包括天数、每天可租借教室数量以及各份订单信息private static void read() throws IOException {// 读取天数n = nextInt();// 读取订单数量m = nextInt();// 初始化r数组,长度为n + 1,索引从1开始对应天数r = new int[n + 1];// 初始化diff数组,长度为n + 1,用于记录相邻两天可租借教室数量差值diff = new int[n + 1];for (int i = 1; i <= n; ++i) {// 读取第i天可租借的教室数量r[i] = nextInt();// 计算第i天与前一天可租借教室数量的差值diff[i] = r[i] - r[i - 1];}// 初始化d数组,用于存储每份订单每天需要的教室数量d = new int[m];// 初始化s数组,用于存储每份订单租借开始天数s = new int[m];// 初始化t数组,用于存储每份订单租借结束天数t = new int[m];for (int i = 0; i < m; ++i) {// 读取每份订单每天需要租借的教室数量d[i] = nextInt();// 读取每份订单租借开始的天数s[i] = nextInt();// 读取每份订单租借结束的天数t[i] = nextInt();}}// 尝试根据给定的订单数量来判断是否能够满足这些订单的教室分配需求private static boolean solve(int index) {// book数组用于模拟教室数量的增减情况,类似一个差分数组的应用int[] book = new int[n + 1];// 根据前index份订单来更新book数组,模拟教室分配和回收情况for (int i = 0; i < index; ++i) {// 在租借开始的那天减去相应的教室需求数量,表示被占用了book[s[i]] -= d[i];// 如果租借结束的下一天还在天数范围内,则在那天加上相应的教室数量,表示归还了if (t[i] + 1 <= n) {book[t[i] + 1] += d[i];}}int num = 0;// 遍历每一天,计算累计的教室数量,看是否会出现负数(即教室不够用的情况)for (int i = 1; i <= n; ++i) {num += diff[i] + book[i];if (num < 0) {return false;}}return true;}// 程序的主入口方法public static void main(String[] args) throws IOException {// 先读取输入的天数、订单数量以及相关的教室和订单信息read();// 初始化二分查找的左右边界,left表示最小可能满足所有订单的情况(从第1份订单开始尝试)// right表示最大可能出现不满足情况(所有订单都尝试分配)int left = 1, right = m;int res = 0;// 二分查找过程,通过不断缩小范围来确定是哪份订单导致无法满足教室分配while (left <= right) {int mid = left + right >> 1;// 如果当前尝试的订单数量(mid份订单)能够满足教室分配需求if (solve(mid)) {// 说明可能更多的订单也能满足,将左边界右移,继续尝试更多订单left = mid + 1;} else {// 如果当前mid份订单无法满足教室分配需求,记录当前的mid值(可能就是导致不满足的订单编号)res = mid;// 缩小右边界,继续在左半边查找right = mid - 1;}}// 如果res不为0,说明存在订单无法满足,按照输出格式先输出-1if (res!= 0) {pw.println(-1);}// 输出需要修改订单的申请人编号(res的值就是那个编号,如果所有订单都能满足res就是0)pw.println(res);// 确保输出缓冲区的数据被刷新并输出到标准输出pw.flush();}
}

P4343 [SHOI2015] 自动刷题机

题目背景

曾经发明了信号增幅仪的发明家 SHTSC 又公开了他的新发明:自动刷题机——一种可以自动 AC 题目的神秘装置。

题目描述

自动刷题机刷题的方式非常简单:首先会瞬间得出题目的正确做法,然后开始写程序。每秒,自动刷题机的代码生成模块会有两种可能的结果:

1.写了 𝑥x 行代码
2.心情不好,删掉了之前写的 𝑦y 行代码。(如果 𝑦y 大于当前代码长度则相当于全部删除。)

对于一个 OJ,存在某个固定的正整数长度 𝑛n,一旦自动刷题机在某秒结束时积累了大于等于 𝑛n 行的代码,它就会自动提交并 AC 此题,然后新建一个文件(即弃置之前的所有代码)并开始写下一题。SHTSC 在某个 OJ 上跑了一天的自动刷题机,得到了很多条关于写代码的日志信息。他突然发现自己没有记录这个 OJ 的 𝑛n 究竟是多少。所幸他通过自己在 OJ 上的 Rank 知道了自动刷题机一共切了 𝑘k 道题,希望你计算 𝑛n 可能的最小值和最大值。

输入格式

第一行两个整数 𝑙,𝑘l,k,表示刷题机的日志一共有 𝑙l 行,一共了切了 𝑘k 题。

接下来 𝑙l 行,每行一个整数 𝑥𝑖xi​,依次表示每条日志。若 𝑥𝑖≥0xi​≥0,则表示写了 𝑥𝑖xi​ 行代码,若 𝑥𝑖<0xi​<0,则表示删除了 −𝑥𝑖−xi​ 行代码。

输出格式

输出一行两个整数,分别表示 𝑛n 可能的最小值和最大值。
如果这样的 𝑛n 不存在,请输出一行一个整数 −1−1。

输入输出样例

输入 #1复制

4 2
2
5
-3
9

输出 #1复制

3 7

说明/提示

数据规模与约定
  • 对于 20%20% 的数据,保证 𝑙≤10l≤10;
  • 对于 40%40% 的数据,保证 𝑙≤100l≤100 ;
  • 对于 60%60% 的数据,保证𝑙≤2×103l≤2×103;
  • 对于 100%100% 的数据,保证 1≤𝑙≤1051≤l≤105,−109≤𝑥𝑖≤109−109≤xi​≤109
import java.io.*;public class Main {// 用于从标准输入读取数据并进行词法分析的工具类实例,配置为从标准输入流读取private static final StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));// 用于向标准输出写入数据的实例private static final PrintWriter pw = new PrintWriter(System.out);// 表示刷题机的日志行数,即操作记录的数量private static int l;// 表示自动刷题机一共AC的题目数量private static int k;// x数组用于存储每条日志对应的操作(写代码行数或删代码行数)private static int[] x;// 从输入流中读取下一个整数的方法,通过StreamTokenizer解析并返回整数值private static int nextInt() throws IOException {in.nextToken();return (int) in.nval;}// 读取输入数据的方法,包括日志行数、AC题目数量以及每条日志对应的操作信息private static void read() throws IOException {// 读取刷题机的日志行数l = nextInt();// 读取自动刷题机一共AC的题目数量k = nextInt();// 初始化x数组,长度为l,用于存储每条日志对应的操作信息x = new int[l];for (int i = 0; i < l; ++i) {// 依次读取每条日志对应的操作(写代码行数或删代码行数)x[i] = nextInt();}}// 根据给定的代码行数阈值n,模拟自动刷题机的工作过程,计算按照此阈值能AC的题目数量private static int solve(long n) {int cnt = 0; // 用于记录按照给定阈值能AC的题目数量long len = 0; // 用于记录当前积累的代码行数for (int i = 0; i < l; ++i) {// 累加当前操作对应的代码行数变化(写代码增加,删代码减少)len += x[i];// 如果当前积累的代码行数大于等于阈值n,或者代码行数小于0(可能删多了)if (len >= n || len < 0) {// 如果代码行数大于等于阈值,说明完成了一题,题目数量加1cnt += (len >= n? 1 : 0);// 无论哪种情况(完成一题或者代码删没了),都重新开始积累代码,将代码行数置0len = 0;}}return cnt;}// 通过二分查找的方式,在给定的区间内查找满足条件的代码行数阈值n// minFlag用于区分是查找最小值还是最大值,true表示查找最小值,false表示查找最大值private static long search(long left, long right, boolean minFlag) {long res = -1; // 用于记录最终查找到的满足条件的阈值,初始化为-1表示未找到while (left <= right) {long mid = left + right >> 1; // 取中间值作为当前尝试的阈值int cnt = solve(mid); // 根据当前中间阈值,计算能AC的题目数量if (cnt < k) {// 如果计算出的AC题目数量小于给定的k,说明阈值大了,缩小查找区间(右移右边界)right = mid - 1;} else if (cnt > k) {// 如果计算出的AC题目数量大于给定的k,说明阈值小了,扩大查找区间(左移左边界)left = mid + 1;} else {// 如果计算出的AC题目数量等于给定的k,说明找到了一个满足条件的阈值res = mid;if (minFlag) {// 如果是查找最小值,继续缩小查找区间,往更小的值方向找(右移右边界)right = mid - 1;} else {// 如果是查找最大值,继续扩大查找区间,往更大的值方向找(左移左边界)left = mid + 1;}}}return res;}// 程序的主入口方法public static void main(String[] args) throws IOException {// 先读取输入的日志行数、AC题目数量以及每条日志对应的操作信息read();// 如果日志行数小于AC题目数量,说明不可能存在满足条件的阈值,直接输出-1并结束程序if (l < k) {System.out.println(-1);return;}// 查找代码行数阈值n的最小值,传入初始查找区间和表示查找最小值的标识long min = search(1, (long) 10e14, true);// 如果未找到最小值(返回-1),说明不存在满足条件的阈值,输出-1并结束程序if (min == -1) {System.out.println(-1);return;}// 查找代码行数阈值n的最大值,传入初始查找区间和表示查找最大值的标识long max = search(1, (long) 10e14, false);// 输出找到的代码行数阈值n的最小值和最大值System.out.println(min + " " + max);}
}

相关文章:

蓝桥杯二分题

P1083 [NOIP2012 提高组] 借教室 题目描述 在大学期间&#xff0c;经常需要租借教室。大到院系举办活动&#xff0c;小到学习小组自习讨论&#xff0c;都需要向学校申请借教室。教室的大小功能不同&#xff0c;借教室人的身份不同&#xff0c;借教室的手续也不一样。 面对海量租…...

3D数字化革新,探索博物馆的正确打开新方式!

3D数字化的发展&#xff0c;让博物馆也焕发新机&#xff0c;比如江苏省的“云上博物”&#xff0c;汇聚江苏全省博物馆展陈资源&#xff0c;采取线上展示和线下体验两种方式进行呈现的数字展览项目。在线上&#xff0c;用户可以通过H5或小程序进入“云上博物”数字展览空间&…...

工业检测基础-工业相机选型及应用场景

以下是一些常见的工业检测相机种类、检测原理、应用场景及选型依据&#xff1a; 2D相机 检测原理&#xff1a;基于二维图像捕获&#xff0c;通过分析图像的明暗、纹理、颜色等信息来检测物体的特征和缺陷.应用场景&#xff1a;广泛应用于平面工件的外观检测&#xff0c;如检测…...

通过 FRP 实现 P2P 通信:控制端与被控制端配置指南

本文介绍了如何通过 FRP 实现 P2P 通信。FRP&#xff08;Fast Reverse Proxy&#xff09;是一款高效的内网穿透工具&#xff0c;能够帮助用户突破 NAT 和防火墙的限制&#xff0c;将内网服务暴露到公网。通过 P2P 通信方式&#xff0c;FRP 提供了更加高效、低延迟的网络传输方式…...

即时通信系统项目总览

聊天室服务端项目总体介绍 本项目是一个全栈的即时通信系统, 前端使用QT实现聊天客户端, 后端采⽤微服务框架设计, 由网关子服务统一接收客户端的请求, 再分发到不同的子服务上处理并将结果返回给网关, 网关再将响应转发给客户端 拆分的微服务包含&#xff1a; 网关服务器&…...

QT获取tableview选中的行和列的值

查询数据库数据放入tableview&#xff08;tableView_database&#xff09;后 QSqlQueryModel* sql_model new QSqlQueryModel(this);sql_model->setQuery("select * from dxxxb_move_lot_tab");sql_model->setHeaderData(0, Qt::Horizontal, tr("id&quo…...

GDPU 人工智能 期末复习

1、python基础 2、回归、KNN、K-Means、搜索方法思想及算法实现步骤 3、知识表示基本概念 4、状态空间的相关概念、表示方法及应用 5、图搜索策略及应用 6、问题归约概念、与或图搜索、博弈树搜索与剪枝 7、决策树、贝叶斯决策算法及其应用 8、神经网络与深度学习基本概念 一、…...

编程之路,从0开始:补充篇

Hello大家好&#xff01;很高兴和大家又见面啦&#xff01;给生活添点passion&#xff0c;开始今天的编程之路&#xff01; 我的博客&#xff1a;<但凡. 我的专栏&#xff1a;《编程之路》、《题海拾贝》、《数据结构与算法之美》 欢迎点赞&#xff0c;关注&#xff01; 这篇…...

使用缓存提升Web应用性能:从新手到高手的实践指南

引言 在现代Web开发中&#xff0c;性能优化是确保用户体验和系统稳定性的关键。使用缓存是提升网站性能的有效手段之一&#xff0c;可以显著减少数据库访问和计算开销。根据“网站优化第一定律”&#xff0c;缓存可以提升网站的响应速度&#xff0c;减少延迟&#xff0c;从而改…...

【数字电路与逻辑设计】实验一 序列检测器

文章总览&#xff1a;YuanDaiMa2048博客文章总览 【数字电路与逻辑设计】实验一 序列检测器 一、实验内容二、设计过程&#xff08;一&#xff09;作出状态图或状态表&#xff08;二&#xff09;状态化简&#xff08;三&#xff09;状态编码 三、源代码&#xff08;一&#xff…...

运动模糊效果

1、运动模糊效果 运动模糊效果&#xff0c;是一种用于 模拟真实世界中快速移动物体产生的模糊现象 的图像处理技术&#xff0c;当一个物体以较高速度移动时&#xff0c;由于人眼或摄像机的曝光时间过长&#xff0c;该物体会在图像中留下模糊的运动轨迹。这种效果游戏、动画、电…...

养老护理员培训考试题库;免费题库;大风车题库

下载链接&#xff1a;大风车题库-文件 大风车题库网站&#xff1a;大风车题库 大风车excel&#xff08;试题转excel&#xff09;&#xff1a;大风车excel...

Python-配置模块configparser使用指南

configparser 是 Python 标准库中的模块&#xff0c;用于处理配置文件&#xff08;如 .ini 文件&#xff09;。它适合管理程序的配置信息&#xff0c;比如数据库连接参数、应用程序设置等。 1. 配置文件的基本结构 配置文件通常是 .ini 格式&#xff0c;由 节&#xff08;Sec…...

C++的HDF5库将h5图像转为tif格式:szip压缩的图像也可转换

本文介绍基于C 语言的hdf5库与gdal库&#xff0c;将.h5格式的多波段HDF5图像批量转换为.tif格式的方法&#xff1b;其中&#xff0c;本方法支持对szip压缩的HDF5图像&#xff08;例如高分一号卫星遥感影像&#xff09;加以转换。 将HDF5图像批量转换为.tif格式&#xff0c;在部…...

【JAVA】Java第十三节:String类(String相关方法,以及StrinBuftrer , StringBulder相关方法)

本文详细介绍了String类以及常用的String相关方法&#xff0c;以及StrinBuftrer , StringBulder相关方法的使用&#xff0c;建议有印象即可&#xff0c;不需要都记住&#xff0c;使用时去查取即可 一、创建一个String类型的变量 我们平时创建String类型的变量一般是第一种形式…...

WordPress安装或访问时出现数据库连接错误的处理方式

一、在安装时出现数据库连接错误 1、如果数据库名称、用户名或密码错误&#xff0c;或者主机设置不正确&#xff08;如数据库服务器不是在本地localhost&#xff0c;而是在远程服务器&#xff0c;需要正确填写远程服务器的 IP 地址或域名&#xff09;&#xff0c;就会导致连接错…...

JAVA-面向对象基础

文章目录 概要封装多态抽象类接口内部类为什么需要内部类 概要 面向对象是一种编程范式或设计哲学&#xff0c;它将软件系统设计为由多个对象组成&#xff0c;这些对象通过特定的方式相互作用 封装 将数据和操作数据的方法封装在一个类中&#xff0c;并通过访问修饰符控制对…...

[Java]项目入门

这篇简单介绍一些入门的有关项目和行业的知识&#xff0c;并带着实现一个小项目。便于已经编程入门的各位准备进阶到下一个阶段。 先大致地介绍&#xff0c;一个完整的项目(不看客户端、服务端的分类)基本可以划分为三部分&#xff1a; 1.前端。比如你现在看到的CSDN页面就是一…...

opencv Mat To Heif

高效率图像文件格式&#xff08;英语&#xff1a;High Efficiency Image File Format, HEIF&#xff1b;也称高效图像文件格式&#xff09;是一个用于单张图像或图像序列的文件格式。它由运动图像专家组&#xff08;MPEG&#xff09;开发&#xff0c;并在MPEG-H Part 12&#x…...

二刷代码随想录第24天

93. 复原 IP 地址 确定函数is_ip的实现细节&#xff0c;start不能超过end&#xff0c;没有0开头的非0数字&#xff0c;每个字符都在0-9之间,每段字符小于255在原字符串s上做操作会更简单一些 class Solution { public:vector<string> result;vector<string> rest…...

Java设计模式之状态模式架构高扩展的订单状态管理

🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/literature?__c=1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编程,高并发设计,Springboot和微服务,熟悉Linux,ESXI虚拟化以及云原生Docker和K8s…...

Yagmail邮件发送库:如何用Python实现自动化邮件营销?

目录 一、Yagmail简介 二、安装Yagmail 三、基本使用示例 1. 发送简单文本邮件 2. 发送HTML邮件 3. 发送带有附件的邮件 4. 多收件人处理 5. 自定义邮件头 四、高级功能 1. SMTP配置 2. 邮件模板 3. OAuth2认证 五、自动化邮件营销案例 六、错误处理和调试 七、…...

李宏毅深度学习-Pytorch Tutorial2

什么是张量&#xff1f; 张量&#xff08;Tensor&#xff09;是深度学习和机器学习中一个非常基础且重要的概念。在数学上&#xff0c;张量可以被看作是向量和矩阵的泛化。简单来说&#xff0c;张量是一种多维数组&#xff0c;它可以表示标量&#xff08;0维&#xff09;、向量…...

SaaS财务软件:赋能企业数字化转型

在数字化浪潮的推动下&#xff0c;企业财务管理正逐步迈向智能化、高效化的新阶段。在这个过程中&#xff0c;SaaS财务软件应运而生&#xff0c;成为许多企业的首选。以易舟云财务软件为例&#xff0c;这款软件不仅集成了众多先进的财务管理功能&#xff0c;而且在用户体验上做…...

FPGA实战篇(按键控制LDE实验)

1.按键简介 按键开关是一种电子开关&#xff0c;属于电子元器件类。我们的开发板上有两种按键开关&#xff1a;第一种是本实验所使用的轻触式按键开关&#xff0c;简称轻触开关。使用时以向开关的操作方向施加压力使内部电路闭合接通&#xff0c;当撤销压力时开关断开&#xff…...

在Ubuntu-22.04 [WSL2]中配置Docker

文章目录 0. 进入Ubuntu-22.041. 更新系统软件包2. 安装Docker相关依赖包3. 添加Docker官方GPG密钥4. 添加Docker软件源5. 安装Docker Engine5.1 更新软件包列表5.2 安装Docker相关软件包 6. 验证Docker安装是否成功6.1 查看Docker版本信息6.2 启动Docker6.3 配置镜像加速器6.4…...

ACM:均分纸牌

主要思路 整体思路概述&#xff1a; 本题旨在解决给定N堆纸牌&#xff08;纸牌总数是N的倍数&#xff09;&#xff0c;通过按照特定移牌规则移动纸牌&#xff0c;找出用最少移动次数使每堆纸牌数量相等的方法。程序采用了一种逐步调整的思路&#xff0c;先计算出每堆纸牌应有的…...

ThreadFactory

ThreadFactory 是 Java 中一个用于创建线程的接口&#xff0c;它可以自定义线程的创建过程&#xff0c;例如线程的名称、优先级、是否为守护线程等。它是 java.util.concurrent 包的一部分&#xff0c;通常与线程池&#xff08;ThreadPoolExecutor&#xff09;一起使用。 线程…...

WEB开发: Node.js路由之由浅入深(一) - 全栈工程师入门

作为一个使用Node.js多年的开发者&#xff0c;我已经习惯于用Node.js写一些web应用来为工作服务&#xff0c;因为实现快速、部署简单、自定义强。今天我们一起来学习一个全栈工程师必备技能&#xff1a;web路由。&#xff08;观看此文的前提是默认你已经装好nonde.js了&#xf…...

NES游戏机项目制作笔记(未完成)

24年12月1日晚记——在网上找项目学习的时候发现一个有意思的项目&#xff0c;准备靠这个应用一些STM32的高级功能。值得提醒的是——目的在于学习不可贪杯&#xff0c;注意效率 01 根据项目需求分析 为确保充分考虑每一个细节&#xff0c;并且让自己高效的完成项目制作&#…...