自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 C++ pari使用的两个注意事项

【代码】C++ pari使用的两个注意事项。

2026-03-11 16:52:21 236

原创 接续上篇:如果相对C++ vector重新赋初值,不能用resize()

##resize(n, val) 的作用:如果当前大小 < n:添加元素到末尾,使大小达到 n如果当前大小 > n:删除末尾的元素,使大小减少到 n不会修改已存在的元素的值。

2026-03-09 14:53:52 18

原创 C++:如果对一个vector连续调用多次resize会怎样

如果对一个连续调用多次resize。

2026-03-02 15:21:42 276

原创 整数表示向上取整的常用3种方法

【代码】整数表示向上取整的常用3种方法。

2026-02-23 21:34:40 95

原创 Data Lab: Manipulating Bits

把查找最高位的0转换为查找最高位的1,然后使用二分法来查找最高位的1,最终再加上符号位。(因为 ~x 是 x 的按位反), 所以。,作差后使用符号位来判断是否差 >= 0。:尾数左移1位(相当于数值乘以2)此外规格化数和非规格化数要考虑溢出。(所有奇数位为1),然后检查。然后可以用这个掩码来选择返回。:指数加1(相当于数值乘以2):保持不变(NaN或无穷大)思路:在二进制补码中,0是。,又可用德摩根定律将。

2026-02-18 15:20:25 357

原创 C++:三目运算符也有隐式类型转换

expr1 : expr2) 有一个重要的规则:expr1 和 expr2 必须具有相同的类型。在二进制层面,-1 的补码表示是 11111111 11111111 11111111 11111111。编译器需要统一这两个表达式的类型,根据算术转换规则,int 会被转换为 unsigned int。作为 unsigned int 解释时,这个值变成 4294967295(在32位系统上),同时还又用了三目运算符判断是否满足条件,不满足条件输出。刷算法题时遇到的,那道题用了。-1 是 int 类型。

2026-02-15 17:09:40 208

原创 “helloWorl“+‘d‘不是“helloWorld“

❌ 错误用法(指针运算)✅ 正确用法(std::string 拼接)关键区别对比表​。

2026-02-14 09:20:40 239

原创 C++中有int转换为string的函数吗

C++ 中有多种方法可以将int转换为string。

2026-02-14 09:04:21 205

原创 理解C++:STL容器存储的是副本

在 C++ STL 中,所有标准容器(包括 queue、vector、stack 等)存储的都是元素的副本,而不是原始元素本身。理解这一点对于避免常见错误非常重要,特别是在处理动态内存或需要共享数据时。独立性:容器拥有自己的数据,不会因为外部修改而受影响。STL 容器存储的是副本,不是原始对象。值语义:符合 C++ 的值语义传统。性能开销:对于大对象,拷贝代价高。需要拷贝构造函数:对象必须可拷贝。修改原始对象不会影响容器中的副本。容器元素的生命周期由容器管理。核心概念:容器存储的是副本。

2026-02-03 11:34:28 313

原创 C++:cin不能读取vector<bool>

vector<bool> 是 vector 的特化版本,将每个 bool 存储为1比特以节省内存。由于元素访问返回代理对象而非真正的 bool 引用,导致 cin 无法直接读取。解决方案包括:使用临时变量中转、改用 vector<int> 或 bitset。这种设计虽节省内存(8:1压缩比),但牺牲了部分接口兼容性,需根据需求权衡选择替代方案。

2026-02-03 11:02:19 265

原创 %取模运算公式总结

【代码】%取模运算公式总结。

2026-01-28 12:13:10 32

原创 C++想表示32位int的最大值该如何写

在64位系统上,int通常仍是32位,但可以使用 sizeof(int) 确认。避免:直接使用魔数(如2147483647),降低可读性和可维护性。32位int最大值始终是 2147483647(2³¹ - 1)不要与 INT_MIN(最小值 -2147483648)混淆。使用标准库常量(推荐)

2026-01-28 09:01:14 322

原创 C++:multiset其中会有多个相同的元素吗,如果调用了erase是只删除了其中的一个吗

multiset 可以有多个相同的元素。调用 erase 的行为取决于参数类型。multiset::erase(iterator) 只删除迭代器指向的那个元素。使用 equal_range(value) 可以获取某个值的所有元素的范围。multiset::erase(value) 会删除所有匹配的元素。如果要删除特定数量的重复元素,需要手动控制。情况2:删除单个元素(通过迭代器)情况1:删除指定值的所有副本。multiset 的特点。情况3:删除区间内的元素。

2026-01-25 13:34:19 49

原创 scanf会返回什么

在C语言中,scanf函数的表示。

2026-01-25 12:38:09 55

原创 C++文件IO

以洛谷P5015为例。

2026-01-24 10:28:33 313

原创 C++ cin>>能读取包含空格的字符串吗

cin >> 默认使用空格(包括空格、制表符、换行符等空白字符)作为分隔符,所以它会在空格处停止读取。使用 getline()(推荐)

2026-01-24 09:32:32 23

原创 一道算法题:最快写法while(cin>>s)

NOIP2018 普及组 T1。

2026-01-23 22:02:32 60

原创 通过一道算法题学几个C语言IO的函数

若该行为两个数据,则表示本题的运算类型与上一题的运算类型相同,而这两个数据为运算数。另外,现在已经基本不用gets函数读取输入了,因为不能指定长度,有涉及内存的安全隐患。对于每个输入的算式,输出完整的运算式及结果,第二行输出该运算式的总长度。,输出的结果要尽量详细以方便后期排版的使用,比如对于上述输入进行处理后输出。行为需要输入的算式,每行可能有三个数据或两个数据。表示乘法运算,接着的两个数据表示参加运算的运算数。的数据,输入的算式都有三个数据。中的函数,统计字符串长度,返回。函数读取就只能读取缓冲区的。

2026-01-23 21:48:05 299 1

原创 scanf函数读取double型数据%后加什么

如果你在C++中使用 scanf(虽然不推荐,建议用 cin),规则与C相同。函数 float double long double。printf 中:double 用 %f(历史原因)scanf 中:double 必须用 %lf。

2026-01-21 17:37:45 38

原创 浮点数在提交OJ时遇到的问题

核心原则:对于需要精确处理的小数,尽量避免直接用浮点数做减法等运算,而是:使用字符串直接解析转换为整数运算使用十进制精度的库(如decimal对于一位小数的简单情况,方案3(乘以10转为整数)是最简单可靠的。

2026-01-21 17:25:49 297

原创 Python deque 类的使用方法

常用方法:append(), appendleft(), pop(), popleft(), extend(), extendleft(), rotate()· 优点:在两端添加/删除元素的时间复杂度为 O(1),而列表在左端操作是 O(n)collections模块中的一个类,它提供了在两端高效添加和删除元素的功能。· 适用场景:队列、栈、滑动窗口、回文检查、最近访问记录等。deque 是处理需要在两端高效操作数据的理想选择。· 限制:不支持切片操作,中间元素的访问比列表慢。导入和创建 deque。

2025-11-23 20:56:27 277

原创 python list中的append与extend方法

append()特性append()extend()参数单个元素可迭代对象结果添加整个对象作为元素添加可迭代对象中的每个元素内存较少修改可能涉及更多内存操作性能O(1)O(k),k为可迭代对象长度适用场景添加单个元素合并多个元素返回值None(原地修改)None(原地修改)嵌套处理可能产生嵌套保持扁平结构。

2025-11-20 10:19:31 1104

原创 assert isinstance(node, TreeNode)涉及的两个语法

print(isinstance(dog, Animal)) # True (因为Dog继承自Animal)assert x > 0 # 条件为False,抛出AssertionError。assert isinstance(对象, 类型), "错误信息"assert x > 0 # 条件为True,继续执行。assert 条件, "可选的错误信息"isinstance(对象, 类型)print("这行不会执行"):对象是指定类型或其子类的实例。print("程序继续"):对象不是指定类型的实例。

2025-11-19 22:38:28 185

原创 python基础

当我们的模块文件越来越多时,包可以帮助我们管理这些模块,包的作用就是包含多个模块,但包的本质依然是模块,包是一个文件夹,包含了一堆模块和\__init__.py(自动创建,该文件存在才是包,否则就只是普通文件夹)# 只在当前文件中调用该函数,其他导入的文件内不符合该条件,则不执行test函数调用(执行哪个文件,哪个文件的__name__的值就为__main__),即导入的内容在执行目标代码是不会自动执行。​ 每个Python文件都可以作为一个模块(.py),模块的名字就是文件的名字。

2025-11-19 12:58:57 342

原创 编译器与解释器

编译器 Compiler 读取我们⽤特定编程语⾔书写的源程序,将其翻译成 CPU 可 以执⾏的机器语⾔,这个过程叫做 编译 compiling 每种编程语⾔都有⾃⼰的编译器 使⽤正确的学习⽅法,每个⼈都能学会实现⼀个编译器 也就是发明⾃⼰的编程语⾔。解释器 Interpreter 与编译器差不多,但不是⼀次读取整个源程序⽂件,⽽是⼀ ⾏⼀⾏地读取和处理程序代码 可以实现⼀种交互式的编程体验,写⼀句运⾏⼀句,这样的 交互过程叫做 REPL (Read-Evaluate-Print Loop)

2025-11-18 21:19:20 137

原创 x86,arm,AT&T

处理器架构,也常被称为指令集架构,是计算机的底层基础。它定义了CPU如何执行指令、如何访问内存、以及有哪些寄存器等。x86和ARM就是两种截然不同的架构。x86来源:由Intel开发,名字来源于早期的一系列以86结尾的芯片(8086, 80286, 80386...)。特点:采用CISC设计哲学,指令集复杂,指令长度不固定,一条指令能完成复杂工作。在个人电脑和服务器市场占据主导地位。主要厂商现状:我们日常使用的Windows/macOS/Linux台式机和笔记本电脑,绝大部分都是x86架构。ARM来源。

2025-11-18 20:58:35 458

原创 计算机系统的部分笔记(二,三章)

ISA完整定义了软件和硬件之间的接口,是机器语言/汇编语言程序员熟悉的 内容 指令格式,指令寻址方式,操作类型,每种操作对应的操作数的相应规定 操作数的类型,操作数寻址方式,按大端/小端存放 程序可访问的寄存器编号、个数、位数,存储空间的大小和编址方式 指令执行过程的控制方式等,包括程序计数器、条件码定义。1,负数时:符号位不变,其他位按位取反,末位+1,“求补码的补码得到原码”注意:溢出问题、精度丢失(float二进制小数的小数点后的部分)OF:无符号乘(无符号相除不可能溢出),有符号加减乘除的溢出。

2025-11-15 22:43:56 199

原创 VScode快捷键

ctrl+0在资源管理器中显示正在编辑的文件 再按上下键选中文件 再按空格打开文件。ctrl+l 选单行,如果不松ctrl,继续按l,就是连续接着选下面的行。ctrl+delete或backspace 按单词或代码块删除。ctrl+D 同时选中下一个相同的单词,连续按D就会一直往后选。ctrl+左右箭头 跳转光标(一次直接跳一个单词或代码块)ctrl+换行 光标在一行代码之中时直接换行。ctrl+shift+p 搜索命令。shift+delete 删一行。ctrl+f 搜索代码。ctrl+j 收开下栏。

2025-11-06 21:32:30 218

原创 找二进制中1的个数

或2,x:计算x&(x-1),所得结果中,x的二进制的末一个1就会变成0,重复count次,count即为1的个数。

2025-08-03 17:20:40 210

原创 位运算知识

2,x判断奇偶数/判断某二进制位是0/1,x&1==1:奇,0:偶;1,>>符号位填充高位;>>>用0填充高位;5,对任何数x,x^x=0,x^0=x;4,异或有交换律,结合律。3,异或^,不进位加法。

2025-08-03 16:39:43 180

原创 C++ Primer Plus 1-3章

6,初始化,int a(123), int a={123} , int a{123}, int a{};9,\a振铃,\\ \, \t table,\' ->', \'' -> '';1,C头文件->C++,去掉扩展名.h,加上前缀c(表明来自C)eg.math.h->cmath;4,对类型名用sizeof,加(),eg.sizeof(int),对于变量可无();

2025-07-20 11:53:54 300

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除