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

快读快写 学习笔记

在OI中,经常有输入输出量巨大的题,这一类题一般需要非常快速的输入输出方式,于是便有了快读快写

下面是模板(原理无需理解,用的时候直接复制上就行):

#include <cstdio>
#include <cctype>
using namespace std;
int precision=-1;
char buf[100000],*p1=buf,*p2=buf;
#define nextChar() (p1==p2&&(p2=(p1=buf)+fread(buf,1,100000,stdin),p1==p2)?EOF:*p1++)
inline int scan_int(){int x=0,f=1;char ch=nextChar();while(ch<48||ch>57){if(ch=='-')f=-1;ch=nextChar();}while(ch>=48&&ch<=57){x=(x<<3)+(x<<1)+(ch^48);ch=nextChar();}return x*f;
}
inline double power(double a,int k){double res=1;while(k){if(k&1) res*=a;a=a*a;k>>=1;}return res;
}
inline double scan_double(){double x=0,y=0;int f=1,mine=0;char ch=nextChar();while(ch<48||ch>57){if(ch=='-')f=-1;ch=nextChar();}while(ch>=48&&ch<=57){x=x*10+(ch^48);ch=nextChar();}if(ch=='.'){ch=nextChar();while(ch>=48&&ch<=57){y=y*10+(ch^48);mine++;ch=nextChar();}}precision=mine;return f*(x+y/power(10,mine));
}
inline bool scan_bool(){int x=scan_int();return x!=0;
}
inline char scan_char(){char ch=nextChar();while(isspace(ch)) ch=nextChar();return ch;
}
const int BUF_SIZE=1<<20;
char output_buffer[BUF_SIZE],*output_ptr=output_buffer;
inline void flush_output(){fwrite(output_buffer,1,output_ptr-output_buffer,stdout);output_ptr=output_buffer;
}
inline void print_int(int x){if(x<0){*output_ptr++='-';x=-x;}char temp[20];int len=0;do{temp[len++]='0'+(x%10);x/=10;}while(x);while(len--) *output_ptr++=temp[len];if(output_ptr-output_buffer>=BUF_SIZE-20) flush_output();
}
inline void print_double(double x){char temp[30];int len;if(precision<0) len=snprintf(temp,sizeof(temp),"%.f",x);else len=snprintf(temp,sizeof(temp),"%.*f",precision,x);for(int i=0;i<len;i++) *output_ptr++=temp[i];if(output_ptr-output_buffer>=BUF_SIZE-20) flush_output();
}
inline void print_bool(bool x){const char *str=x?"true":"false";while(*str) *output_ptr++=*str++;if(output_ptr-output_buffer>=BUF_SIZE-20) flush_output();
}
inline void print_char(char x){*output_ptr++=x;if(output_ptr-output_buffer>=BUF_SIZE-20) flush_output();
}
int main(){int a=scan_int();double b=scan_double();bool c=scan_bool();char d=scan_char();print_int(a);print_char('\n');print_double(b);print_char('\n');print_bool(c);print_char('\n');print_char(d);print_char('\n');flush_output();return 0;
}

例题1:洛谷 - P10815 【模板】快速读入

题目链接

实际难度:\(\color{F39C11}{{普及-}}\)

考察知识点

思路分析

模板题

复杂度分析

时间复杂度

\[\begin{aligned} T(n)&=\underbrace{O(n)}_{输入}+\underbrace{O(1)}_{计算}+\underbrace{O(1)}_{输出} \\ &=O(1) \end{aligned} \]

空间复杂度

  • 主要存储:\(O(1)\)
  • 临时变量:\(O(1)\)
  • 总空间:\(O(1)\)

C++代码

// Problem: P10815 【模板】快速读入
// Contest: Luogu
// URL: https://www.luogu.com.cn/problem/P10815
// Memory Limit: 2 MB
// Time Limit: 2500 ms
// 
// Powered by CP Editor (https://cpeditor.org)// 包含标准输入输出库,用于fread、fwrite等底层IO函数
#include <cstdio>
// 包含字符分类函数库,用于isspace(判断空白字符)等函数
#include <cctype>
using namespace std;// 全局变量:记录浮点数的小数位数(精度),初始为-1表示未指定精度
int precision = -1;
// 输入缓冲区:大小100000字节,用于批量读取输入数据(减少IO次数,提高速度)
char buf[100000];
// 缓冲区指针:p1指向当前读取位置,p2指向缓冲区末尾(已读取数据的边界)
char *p1 = buf, *p2 = buf;// 宏定义nextChar:从输入缓冲区读取下一个字符,缓冲区空则用fread填充
// 逻辑:若p1==p2(缓冲区已读完),则用fread从stdin读100000字节到buf,更新p1和p2
// 若仍无数据(p1==p2,说明到达EOF),返回EOF;否则返回p1指向的字符并让p1后移
#define nextChar() (p1==p2&&(p2=(p1=buf)+fread(buf,1,100000,stdin),p1==p2)?EOF:*p1++)// 快速读取整数函数:处理正负整数,比scanf更快(减少格式化解析开销)
inline int scan_int() {int x = 0;    // 存储读取的整数结果,初始为0int f = 1;    // 符号标志:1表示正数,-1表示负数,初始为正char ch = nextChar();  // 读取第一个字符// 跳过非数字字符(直到遇到数字或负号)while (ch < 48 || ch > 57) {  // 48是'0'的ASCII,57是'9'的ASCII,此条件判断非数字if (ch == '-') f = -1;    // 若遇到负号,将符号标志设为-1ch = nextChar();          // 继续读取下一个字符}// 读取数字部分,计算整数结果while (ch >= 48 && ch <= 57) {  // 仅处理数字字符// x = x*10 + (ch-'0'):位运算优化(x<<3是x*8,x<<1是x*2,总和x*10)// ch^48等价于ch-'0'(因'0'ASCII=48,异或后低4位为数字值)x = (x << 3) + (x << 1) + (ch ^ 48);ch = nextChar();  // 继续读取下一个字符}return x * f;  // 返回带符号的整数结果
}// 快速幂函数:计算a的k次幂(用于浮点数小数部分的分母计算,a=10,k=小数位数)
inline double power(double a, int k) {double res = 1;  // 结果初始为1(乘法单位元)while (k) {      // 当指数k不为0时循环if (k & 1)   // 若k为奇数(二进制最低位为1),将当前a乘到结果中res *= a;a = a * a;   // a自乘,指数翻倍(对应二进制右移一位)k >>= 1;     // k右移一位(等价于k=k/2,整数除法)}return res;  // 返回a^k的结果
}// 快速读取浮点数函数:处理整数部分、小数部分,支持正负,记录精度
inline double scan_double() {double x = 0;   // 存储浮点数的整数部分,初始为0double y = 0;   // 存储浮点数的小数部分,初始为0int f = 1;      // 符号标志:1正-1负,初始为正int mine = 0;   // 记录小数位数,初始为0char ch = nextChar();  // 读取第一个字符// 跳过非数字字符(直到遇到数字、负号或小数点)while (ch < 48 || ch > 57) {if (ch == '-') f = -1;  // 遇到负号,设置符号为负ch = nextChar();        // 继续读下一个字符}// 读取整数部分while (ch >= 48 && ch <= 57) {x = x * 10 + (ch ^ 48);  // 整数部分累加(x*10 + 当前数字)ch = nextChar();         // 继续读下一个字符}// 若遇到小数点,处理小数部分if (ch == '.') {ch = nextChar();  // 跳过小数点,读取小数部分第一个字符// 读取小数部分,累加至y(y初始为0,每次乘10加当前数字)while (ch >= 48 && ch <= 57) {y = y * 10 + (ch ^ 48);mine++;       // 小数位数+1ch = nextChar();  // 继续读下一个字符}}precision = mine;  // 记录当前浮点数的小数位数(供后续输出使用)// 计算最终浮点数:符号 * (整数部分 + 小数部分/10^小数位数)return f * (x + y / power(10, mine));
}// 快速读取布尔值函数:读取整数,非0为true,0为false
inline bool scan_bool() {int x = scan_int();  // 调用scan_int读取整数return x != 0;       // 整数非0返回true,否则返回false
}// 快速读取字符函数:跳过空白字符(空格、换行、制表符等),读取第一个有效字符
inline char scan_char() {char ch = nextChar();  // 读取第一个字符// isspace(ch)判断是否为空白字符(空格、\n、\t等),跳过所有空白while (isspace(ch))ch = nextChar();return ch;  // 返回第一个非空白字符
}// 输出缓冲区配置:BUF_SIZE为2^20字节(约1MB),用于批量写入输出数据
const int BUF_SIZE = 1 << 20;
char output_buffer[BUF_SIZE];  // 输出缓冲区数组
char *output_ptr = output_buffer;  // 输出缓冲区指针,指向当前写入位置// 刷新输出缓冲区函数:将缓冲区中已写入的数据写入stdout,重置指针
inline void flush_output() {// fwrite:从output_buffer写数据到stdout,每次写1字节,共写(output_ptr - output_buffer)字节fwrite(output_buffer, 1, output_ptr - output_buffer, stdout);output_ptr = output_buffer;  // 指针重置到缓冲区起始位置,准备下次写入
}// 快速输出整数函数:处理正负整数,写入输出缓冲区(比printf快)
inline void print_int(int x) {// 若x为负数,先写入负号'-',并将x转为正数if (x < 0) {*output_ptr++ = '-';  // 缓冲区指针后移,指向下次写入位置x = -x;}char temp[20];  // 临时数组:存储数字的逆序(因取模得到的是个位、十位...)int len = 0;    // 记录数字的位数,初始为0// 循环取模获取数字的每一位(从个位开始),存入tempdo {temp[len++] = '0' + (x % 10);  // x%10得到个位,转为字符x /= 10;                       // x除以10,去掉个位} while (x);  // 直到x为0(do-while确保x=0时也会存入一个'0')// 倒序输出temp中的字符(从高位到低位),写入缓冲区while (len--)*output_ptr++ = temp[len];// 检查缓冲区是否即将满(预留20字节防止溢出),满则刷新if (output_ptr - output_buffer >= BUF_SIZE - 20)flush_output();
}// 快速输出浮点数函数:按precision记录的精度格式化,写入输出缓冲区
inline void print_double(double x) {char temp[30];  // 临时数组:存储格式化后的浮点数字符串int len;        // 记录格式化后字符串的长度// 按精度格式化浮点数:// precision<0时,用"%.f"(无小数部分,四舍五入到整数)// 否则用"%.*f"(*表示精度由precision指定,保留precision位小数)if (precision < 0)len = snprintf(temp, sizeof(temp), "%.f", x);elselen = snprintf(temp, sizeof(temp), "%.*f", precision, x);// 将格式化后的字符串写入输出缓冲区for (int i = 0; i < len; i++)*output_ptr++ = temp[i];// 检查缓冲区是否即将满,满则刷新if (output_ptr - output_buffer >= BUF_SIZE - 20)flush_output();
}// 快速输出布尔值函数:输出"true"或"false"字符串到缓冲区
inline void print_bool(bool x) {// 若x为true,取"true"字符串;否则取"false"字符串const char *str = x ? "true" : "false";// 遍历字符串,逐个字符写入缓冲区while (*str) {*output_ptr++ = *str++;  // 将当前字符写入输出缓冲区,指针后移}// 检查缓冲区是否即将满(预留20字节防溢出),满则刷新if (output_ptr - output_buffer >= BUF_SIZE - 20)flush_output();
}// 快速输出单个字符函数:将字符写入输出缓冲区,按需刷新
inline void print_char(char x) {*output_ptr++ = x;  // 直接将字符x写入缓冲区,缓冲区指针后移// 检查缓冲区是否即将满(预留20字节防溢出),满则刷新if (output_ptr - output_buffer >= BUF_SIZE - 20)flush_output();
}// 主函数:示例用法——读取n个整数,计算它们的和并输出
int main() {// 1. 读取整数n:表示后续要读取的整数个数int n = scan_int();// 2. 定义sum变量:用于累加n个整数的和,初始化为0int sum = 0;// 3. 循环n次:每次读取一个整数,累加到sum中for (int i = 1; i <= n; i++) {sum += scan_int();  // 调用快速读入函数获取整数,加入总和}// 4. 输出结果:print_int(sum);       // 调用快速输出函数,将累加和写入输出缓冲区print_char('\n');     // 输出换行符,确保结果格式正确(单独占一行)flush_output();       // 强制刷新输出缓冲区:确保所有数据都写入stdout(避免缓冲区残留)return 0;  // 程序正常结束
}

相关文章:

快读快写 学习笔记

在OI中,经常有输入输出量巨大的题,这一类题一般需要非常快速的输入输出方式,于是便有了快读快写 下面是模板(原理无需理解,用的时候直接复制上就行): #include <cstdio> #include <cctype> using namespace std; int precision=-1; char buf[100000],*p1=bu…...

Ubuntu 安装 CLion

下载网址:https://www.jetbrains.com/clion/download/?section=linux 安装在 /opt/clion: sudo mkdir /opt/clion 将安装包解压到 /opt/clion: sudo tar -zxvf CLion-2025.2.1.tar.gz -C /opt/clion ls /opt/clion/clion-2025.2.1这样就安装好了。 启动: sh /opt/clion/cl…...

AI编程实战

不久前我用trace体验了一把AI编程,完成了一个股票交易记录软件的开发,这次有个紧急项目,有了上次的AI编程实践,我决定让AI编程帮我一把 工具选择 上次说千问没有IDE,但阿里云出了一个Qoder,在这个紧急项目之前,我刚好开始使用Qoder,接到紧急项目的时候,是时候让AI真正…...

25/9/13(补)

做了下20年csps的单选,错了两道,后边随机跳题了个之前wa的题(p7777 shelter),数学标签,有编号1~n的石子,用两种抓取方式吧石子抓完,第一种抓法是选一个数i把第i堆石子抓走,代价为ip。第二种是选两个数i,j,把第i,j堆石子抓走,代价为|i-j|q。 发现性质: 第一,二种方…...

面向对象编程(OOP)的原则

面向对象编程(OOP)的原则面向对象编程有一系列核心原则,这些原则指导着我们如何设计高质量、可维护和可扩展的软件系统。这些原则可以分为两大类:基本特性和设计原则。 一、面向对象编程的四大基本特性(基石) 1. 封装 (Encapsulation) 核心思想:将数据和对数据的操作捆绑…...

【龙智Atlassian插件】Confluence周报插件上线AI智能总结,一键生成专业报告 - 实践

【龙智Atlassian插件】Confluence周报插件上线AI智能总结,一键生成专业报告 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", &q…...

数字化(管理)系统的工具化思考

一、引言:数字化转型的背景与逻辑 进入 21 世纪,信息技术、互联网、大数据、人工智能与物联网的迅速发展,使得企业与组织的运作方式发生了深刻变革。管理学界普遍认为,传统的经验管理与制度管理正逐步向 数字化管理系统 过渡。这不仅是工具更迭的问题,更是认知范式、管理模…...

详细介绍:传统神经网络实现-----手写数字识别(MNIST)项目

详细介绍:传统神经网络实现-----手写数字识别(MNIST)项目pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New",…...

C#语言中使用using关键字

在 C# 语言中,“using”关键字被用于不同的上下文和目的,它的用法大体上可以被分为三类:导入命名空间、简化资源管理和提供别名。 首先,"using"关键字最常见的用途是导入命名空间。这在 C# 程序中非常普遍,因为它可以允许程序员引用命名空间中定义的类型,而不需…...

中育新版本OSS Token获取API分析

中育新版本OSS Token获取API分析 在8/28更新中(或更早),中育彻底停用了旧版本的GenerateTokenAsyncAPI,转而使用GenerateTokenV2AsyncAPI,新的API使用了签名和一些不明所以的参数,并可能限制了可以上传的路径。 为了尽快迁移旧的工具、程序,我对web端的OSS逻辑进行了分析。…...

25/9/12(补,上一篇是9/11的)

把昨天没改完的码积木改完了,最终解法先发现一个性质是往上堆一个就算和下一个高度重叠也对下一个没有影响,所升序排完后设变量m(m初始等于a[1]),如果m比当前遍历到的a[i]大代表这个a[i]有重叠,更新答案,如果比a[i]小就让m=a[i]保持同频。 改完这题后又去改暑假的T3,就是…...

动态编译 vs. 静态编译,容器时代那个更有优势?

动态编译 vs. 静态编译,容器时代那个更有优势?一、动态编译 vs. 静态编译:一场关于“依赖”的战争 要理解静态编译,我们首先要明白它的对立面——动态编译,这也是 C、C++ 以及 Java、Python、C#、Ruby 等大多数主流语言所采用的方式。 1. 动态编译:运行时“借”东西 想象…...

实用指南:操作系统类型全解析:从批处理到嵌入式

实用指南:操作系统类型全解析:从批处理到嵌入式pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace…...

【C++ 类和对象・高阶深化(下)】再探构造函数(含初始化列表),吃透 static 成员、友元、内部类及对象拷贝编译器优化 - 指南

【C++ 类和对象・高阶深化(下)】再探构造函数(含初始化列表),吃透 static 成员、友元、内部类及对象拷贝编译器优化 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: &qu…...

2

C++ 数据结构数组 链表 队列 堆 树 map/set hashmysql 索引 索引就像是数据的目录。索引的好处就是可以提高查询速度,但是会占用物理空间,而且创建和维护索引要耗费时间,每次进行增删改操作都需要动态维护。索引的分类数据结构:B+ 树索引,hash,full-text物理存储:聚簇索…...

VSCode 运行 C/C++ 程序

VSCode 安装插件:重点参考: https://blog.csdn.net/icacxygh001/article/details/120981354 https://code.visualstudio.com/docs/cpp/config-linux#_running-the-build...

3 字节

进程与线程的区别 线程是轻量级进程,每个进程中都有唯一的主线程,主线程和进程是相互依存的关系。进程是资源分配和拥有的基本单位;线程是系统调度的基本单位进程拥有CPU 资源,内存资源,文件资源,句柄等;线程拥有程序计数器,寄存器,栈和状态字切换情况:进程由操作系统…...

Springcloud Alibaba(一)

一、什么是Springcloud Alibaba它是微服务概念的一种实现,解决了如下问题N个服务,如何管理?(服务治理 注册中心【服务的注册、发现、删除】)nacos N个服务,如何通信?feign N个服务,客户端如何访问?gateway N个服务,一旦出现问题了,怎么处理?(容错)sentinel N个服…...

111111111

1111111111...

202204_DASCTF_SimpleFlow

流量分析,DASCTF,WebShell,蚁剑AntSwordTags:流量分析,DASCTF,WebShell,蚁剑AntSword 0x00. 题目 附件路径:https://pan.baidu.com/s/1GyH7kitkMYywGC9YJeQLJA?pwd=Zmxh#list/path=/CTF附件 附件名称:202204_DASCTF_SimpleFlow.zip 0x01. WP 1. 分析http协议,找到附件数据 …...

使用 Winscope 跟踪窗口转换

Winscope 是一款 Web 工具,可以让用户在动画和转换期间和之后记录、重放和分析多个系统服务的状态。Winscope 将所有相关的系统服务状态记录在一个跟踪文件中。使用带有跟踪文件的 Winscope 界面,您可以通过重放、单步执行和调试过渡来针对每个动画帧检查这些服务的状态(无论…...

25/9/12(补)

做了下19csps初试,60多分,记不清了,反正能过,写完后改一道暑假没过的题,没改完就下课了...

深入解析:“纳米总管”——Arduino Nano 的趣味生活

深入解析:“纳米总管”——Arduino Nano 的趣味生活pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monosp…...

洛谷题目难度系统优化

以下为优化后的难度系统:优化后难度 对应KaTex数学公式\(\color{FE4C61}{{入门}}\) \color{FE4C61}{{入门}}\(\color{F39C11}{{普及-}}\) \color{F39C11}{{普及-}}\(\color{FFC116}{{普及}}\) \color{FFC116}{{普及}}\(\color{FFD700}{{普及+}}\) \color{FFD700}{{普及+}}\(\c…...

202112_摆烂杯_WhatAHack!

流量分析Tags:流量分析,CTFSHOW 0x00. 题目 这是你沐师傅的站的流量,最近你沐师傅去跟着某讯搭了一个WP平台后发了一篇文章再测试了一下自己的网站就再也没去管过平台了。结果被某位名字貌似大概可能叫g4_simon的大黑阔给hack掉了网站,并进行了一些操作拿到了沐师傅放在平台里…...

少儿 500 常用汉字 字帖

500 常用汉字 每个字加入拼音 每个字加入笔画笔顺 少儿楷书练习下载链接如下 1-4画 5画 6画 7画 8画 9画 10画 11-16画...

Ubuntu 安装 gcc

命令 gcc --version 或者 gcc -v 能查看 gcc 版本。 未安装:安装命令: sudo apt update # 更新软件包源 sudo apt-get install build-essential gdb这样,GCC 就安装完成了。...

Redis常见性能问题

常见性能问题和解决方案?Master最好不要做任何持久化工作,包括内存快照和AOF日志文件,特别是不要启用内存快照做持久化。 如果数据比较关键,某个Slave开启AOF备份数据,策略为每秒同步一次。 为了主从复制的速度和连接的稳定性,Slave和Master最好在同一个局域网内。 尽量避…...

3 线性模型

目录P22 P22 复习一下: 假设同类别之间的数据是比较相似的,所以在空间里,同类别的数据是挨在一起的。那么假设现在有一个超平面去进行二分类,由于一个类别的数量多得多而且两个类别的权重是一样的,于是超平面就可以把很多少数类分为正数类而且损失函数的值要下降(看P12,…...

详细介绍:七彩喜智慧养老:用科技温暖晚年,让关爱永不掉线

详细介绍:七彩喜智慧养老:用科技温暖晚年,让关爱永不掉线pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New",…...

P3522 [POI 2011] TEM-Temperature

题目描述 给出 \(n\) 个数所在区间,求最长可能不降区间。 思路 首先,我们要解决不降的问题,如何才能保证两个相邻区间选数可能不降,不难发现,只要前一个数的最大值大于等于后一个数的最小值即可,即 \(r_{i-1} \ge l_i\)。 然后,因为我们要求的是一段一段连续的区间,所以…...

202105_风二西_SQL基于时间盲注

流量分析,SQL注入,基于时间盲注,蚁剑AntSwordTags:流量分析,SQL注入,基于时间盲注,蚁剑AntSword 0x00. 题目 附件路径:https://pan.baidu.com/s/1GyH7kitkMYywGC9YJeQLJA?pwd=Zmxh#list/path=/CTF附件 附件名称:202105_风二西_SQL基于时间盲注.zip 0x01. WP 1. 浏览流量包,…...

实用指南:【C++】list容器的模拟实现

实用指南:【C++】list容器的模拟实现pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !important…...

windows系统缺失DLL库文件下载方法

https://cn.dll-files.com/ windows系统缺失DLL文件下载方法_dll文件下载官网-CSDN博客...

更为通用的决策单调性

学习自 在线决策单调性地皮还能单老哥分治做? - 洛谷专栏 决策单调性最为常用的为分治和二分队列,前者要求离线,后者必须快速处理两个位置的转移,都有一定的局限性,其他算法大部分码量较长,很难应用。 但我们还有一种好写且能维护复杂转移的写法, 简易版 LARSCH 算法,一…...

一文读懂 PHP PSR 接口 PSR-3、PSR-7、PSR-11、PSR-15 完整指南

一文读懂 PHP PSR 接口 PSR-3、PSR-7、PSR-11、PSR-15 完整指南 现代 PHP 的选择很多。这本来是好事,但一到升级框架、替换 Logger,或在团队间统一服务时,你会发现:看不见的耦合(类型、方法签名、约定)会把小改动变成大手术。 本文用通俗的话讲清四个关键标准——PSR-3(…...

2025模拟赛Round9

T1 T2 T3 T4 T5 T6\({\color{#F39C11} 普及− }\) \({\color{#FFC116} 普及/提高− }\) \({\color{#3498DB} 提高+/省选− }\) \({\color{#3498DB} 提高+/省选− }\) \({\color{#3498DB} 提高+/省选− }\) \({\color{#3498DB} 提高+/省选− }\)参赛网址:https://boyacoding.cn…...

NOIP2025模拟赛19

T1 T2 T3 T4\({\color{#3498DB} 提高+/省选− }\) \({\color{#3498DB} 提高+/省选− }\) \({\color{#9D3DCF} 省选/NOI− }\) \({\color{#3498DB} 提高+/省选− }\)参赛网址:https://oj.33dai.cn/d/TYOI/contest/68919c89c5d9c2f14c1a537f T2,T4搭建未完成 T1 人才计数【NOIP2…...

Qt/C++开发监控GB28181系统/公网对讲/代码实现28181语音对讲/采集本地麦克风数据/支持udp和tcp模式

一、前言说明 按照国标的文档,语音对讲这块,并没有强制要求支持公网对讲,所以当初设备厂家做的都是支持的udp对讲,而且按照国标协议要求,对讲是先发一个语音对讲广播到设备,设备收到后,主动发起对讲到服务端,和视频点播是反着来的,这样的话数据的传输模式只能设备控制…...

P3195 [HNOI2008] 玩具装箱 (斜率优化)

题目描述 一道不限段数的分段问题,要求给出 \(n\) 个元素,求出分任意组所产生的最小代价。 思路 我们可以分为两步来求解这个问题,暴力转移与优化。 The First Step 暴力转移 考虑暴力DP,根据题目描述,每个容器之中玩具的编号都是连续的,并且不限容器数量,状态就很好定义…...

DBeaver使用指南

概述 由于众所周知的原因,公司不容许使用非授权正版软件。datagrip本身挺不错的,但是要倒腾激活码之类的,比较麻烦。只能从开源社区寻找好用的DBMS GUI工具。 发现DBeaver挺不错,功能很全,但是默认的配置不够好用、字体、样式等都不友好,需要打磨一番才行。 下文重点关注…...

sh-2025模拟赛

CSP-J 模拟(九)题目解答 一、单项选择题(每题2分,共30分) 1. 进制转换计算 答案:C 解析:先将八进制数\((2025)_8\)转换为十进制: \(2\times8^3 + 0\times8^2 + 2\times8^1 + 5\times8^0 = 2\times512 + 0 + 16 + 5 = 1024 + 21 = 1045\)。 将十六进制数\((2025)_{16}\)…...

C++ day7 - 指南

C++ day7 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !important; font-size: 14px !i…...

读人形机器人11娱乐领域

读人形机器人11娱乐领域1. 机器人表演者与艺术家 1.1. 在人类历史的宏大画卷中,艺术与娱乐一直是我们内心欲望、恐惧和抱负的映照 1.2. 音乐、舞蹈和戏剧表演中的机器人不再是科幻的虚构,而是正在重塑艺术表现形式的崭新现实 1.3. 机器人表演者和艺术家正在通过引入新的表现形…...

Java 注解机制全解析:原理、用途与框架中的实战

注解(Annotation)作为 Java 语言自 JDK5 引入以来的一项重要元编程特性,已经成为现代 Java 开发不可或缺的一部分。无论是 Spring 框架中的依赖注入、事务控制,还是 Hibernate 的对象关系映射,抑或是 Lombok 对代码生成的辅助,注解几乎贯穿于 Java 的开发全过程。 本文将…...

模板集

考虑到作为一名 Oier 有很多需要掌握的模板,所以整合了一下以前的专栏,就变成现在这样了! 有问题请加 qq 3848603482。可以帮你讲解。 给萌新的代码建议 尽量不要写全局变量,容易弄混不方便调试,要用了再创建。没有必要手写栈之类的,STL要了解多一点。不要写#define int …...

暑假

P2569 https://www.luogu.com.cn/problem/P2569 参考这篇。 /*单调队列优化dp买入股票的转移方程j是顺序枚举的,因为是买入股票,手中的股票应该是越来越多的, 当前的决策有可能在后面(j更大)的时候用到,所以你需要先求出来, 同理,卖出股票时,你手中的股票是越来越少的…...

做题记录

P1248 加工生产调度 比较妙的一道题,这里我们可以直接把 A 与 B 的最小值碾一遍,注意 B 操作时间要与 A 操作时间取最大值。...

课程助教工作总结

在上学期,我有幸担任了《数字电路与逻辑设计》课程的助教。这是一次极其宝贵和充实的经历,不仅巩固和深化了我的专业知识,更锻炼了我的沟通、组织和解决问题的能力。现将本学期的工作情况总结如下: 一、 助教工作的具体职责和任务 我的工作核心是成为连接主讲教师与学生的桥…...

6G 驱动的智慧城市新格局

引言随着科技的不断进步,6G 驱动的智慧城市新格局 正逐渐走向应用前沿。它不仅推动了相关产业的发展,也在改变人类社会的运作方式。本文将从背景、核心技术、应用案例、挑战与趋势、总结几个方面对其进行系统分析。 背景 📊6G 驱动的智慧城市新格局 的出现,是社会需求、政…...