cpp STL详解
¶set容器
https://www.cnblogs.com/linuxAndMcu/p/10261014.html#_label2
信奥竞赛技巧与算法
¶简介
¶STL容器
见 站内:cpp STL详解
¶算法
¶技巧
¶输入输出加速代码
1ios::sync_with_stdio(false); //输入输出加速
作用
取消同步:
默认情况下,C++ 的标准输入输出流(cin 和 cout)与 C 的标准输入输出流(stdin 和 stdout)是同步的。这意味着每次使用 cin 和 cout 时,都会确保两者的状态一致,这样会导致性能损失。
调用 ios::sync_with_stdio(false); 可以取消这种同步,使得 C++ 的输入输出流更快,因为不再需要每次都保持同步。
提高性能:
在处理大量输入输出时,取消同步后,使用 cin 和 cout 的性能会显著提高。这在竞争性编程或需要快速处理大量数据的场合中非常有用。
¶字符串读取空白、回车问题
方法1
123//使用下面代码可以让字符串s忽略掉换行、空白string s;getline(cin >> ws, s);
方法2
12345//使用下面代码可以让字符串s不读取掉换行//使用cin.get()吃掉换行string s;cin.get() ...
重装系统前后需要完成的事情
¶重装系统之前备份
在重装系统之前需要备份的重要文件
备份浏览器插件(以chrome为例)
插件安装本地地址:C:\Users\主机名\AppData\Local\Google\Chrome\User Data\Default\Extensions
这里会有一堆文件夹,其文件夹名对应的是插件的ID
点开Chrome-拓展程序-打包拓展程序-选择拓展程序根目录
这里需要打包的是点开上文文件夹打包里面的版本号文件夹
然后就会生成crx文件
备份桌面文件、C盘文档文件夹、图片文件夹、视频文件夹
截图备份:桌面图标位置、快速访问文件夹、开始菜单快捷方式
保存油猴脚本中的脚本(打包导出到本地)
参考装机软件恢复常用软件
unity笔记
¶基础操作记录
跟学视频
脚本文件
¶第一天学习P6-P10 创建物体、坐标系
创建3D物体
在层级下鼠标右击选择 3D object中选择各种形状
坐标系
分为世界坐标系和物体坐标系
选中物体后在属性中transform.position的数值是相对于世界坐标系计算的
将一个物体变为另一个物体的子类后单独移动,position还是相对世界坐标系的,但在移动父类时它和父类的相对位置不会改变(上手实践一下)
对物体的基本操作
依次为:
移动视角(可以按住鼠标中键),快捷键-Q
移动物体,快捷键-W
旋转物体,快捷键-E
放缩物体,快捷键-R
矩形工具,快捷键-T
综合变换,快捷键-Y
导入模型和修改材质
模型资源导入在assets中,还可以修改材质(materials),选择外部材质即可。project中选中物体->Inspector->Materials
也可以自己设置新材质,project右击->Create->Material
资源商定
导航栏中Windows选中asset store,在商店中购买需要的素材。在package ...
unity脚本
¶脚本文件
¶Vector3
12345678910111213141516171819202122void Start(){ //向量,坐标,旋转,缩放 Vector3 v = new Vector3(0, 1,0 ); Vector3 v1 = Vector3.right; //计算两个向量夹角 Debug.Log(Vector3.Angle(v,v1)); //计算两点间距离 Debug.Log(Vector3.Distance(v,v1)); //点乘 Debug.Log(Vector3.Dot(v,v1)); //叉乘 Debug.Log(Vector3.Cross(v,v1)); //插值 Debug.Log(Vector3.Lerp(Vector3.left,Vector3.right,0.5f)); //向量的模 Debug.Log(v.magnitude); //规范化向量 Debug.Log(v.normalized);}
¶Time类 ...
Cpp语言基础
¶部分内容复习
¶二级指针的作用
指向指针的指针的作用:当要修改实参指针的指向的时候,形参必须使用指向指针的指针。
当修改的是实参指针指向的内容时,则形参只需是指针即可
1234567891011void GetMemory(char *p,int num){ p=(char*)malloc(sizeof(char)*num);//p是形参指向的地址}void main(){ char *str=NULL; GetMemory(str,100);//str是实参指向的地址,不能通过调用函数来申请内存 strcpy(str,"hello");}
结构是编译能通过,却不能运行,为什么呢?
先说一下指针作为函数参数的意义:当将指针作为参数时,实参向形参传递的是地址,在函数执行过程中,既可以对该参数指针进行处理,也可以对该参数指针所指向的数据进行处理,(以上程序段来说就是可以对p或*p进行处理)。由于此时形参和实参都是指向同一个存储单元,因此当形参指针所指向的数据改变时,实参指针所指向的数据也作相应的改变 ...
Godot基本操作
¶配置外部编辑器
使用idea发现不能idea中的tab在godot脚本中会变成空格导致错误,还有不能同步的奇怪问题,所以还是决定使用vscode做外部编辑器。
在下载vscode中下载godot的插件(适用于GDScript的那一个)
配置好lunch.json文件
参考网站外部编辑器设置
修改json代码
12345678910111213 "configurations": [ { "name": "Godot Debug", "type": "godot", "request": "launch", "project": "${workspaceFolder}", "port": 6007, "debugServer": 6005 ...
QuantumultX 使用记录
¶记录一下QuantumultX的使用教程和一些规则
¶如何添加JS脚本
点击规则资源->右上角第三个->在资源路径里填上要订阅的脚本链接即可
添加完成后可以在最下面的配置文件的[rewrite-remote]标签下修改参数
操作系统-进程和线程
¶简介
操作系统系列其二,主要是针对中国大陆考研所要求的内容对操作系统的知识体系进行总结和梳理,对于重点内容会使用黑体加粗,本篇内容主要包含以下几点:
进程与线程的概念
CPU调度
经典调度算法
同步与互斥
信号量
经典同步问题
死锁
¶大纲
¶进程与线程
¶进程的概念
在多道程序环境下,允许多个程序并发执行,此时它们将失去封闭性,并具有间断性及不可再现性的特征。为此引入了进程(Process)的概念,以便更好地描述和控制程序的并发执行,实现操作系统的并发性和共享性(最基本的两个特性)
为了使参与并发执行的每个程序(含数据)都能独立地运行,必须为之配置一个专门的数据结构,称为进程控制块(Process Control Block, PCB)
系统利用 PCB 来描述进程的基本情况和运行状态,进而控制和管理进程,PCB是进程存在的唯一标志。相应地,由程序段、相关数据段和 PCB 三部分构成了进程实体(又称进程映像)
所谓创建进程,实质上是创建进程实体中的PCB,而撤销进程,实质上是撤销进程的PCB。值得注意的是,进程映像是静态的,进程则是动态的。
¶进程的状态与转换
进程 ...
操作系统-计算机系统概述
¶简介
操作系统系列其一,主要是针对中国大陆考研所要求的内容对操作系统的知识体系进行总结和梳理,对于重点内容会使用黑体加粗,本篇内容主要包含以下几点:
操作系统的基本概念
操作系统发展历程
程序运行环境
操作系统结构
操作系统引导
虚拟机
¶大纲
操作系统的基本概念
操作系统的特征
操作系统接口
操作系统的发展历程
批处理阶段
分时操作系统
实时操作系统
操作系统的运行环境
处理器的运行模式$\star$
中断和异常
操作系统结构
操作系统引导
虚拟机
典型例题
¶操作系统的基本概念
操作系统(英语:Operating System,缩写:OS)是一组主管并控制计算机操作、运用和运行硬件、软件资源和提供公共服务来组织用户交互的相互关联的系统软件程序,同时也是计算机系统的内核与基石。
¶操作系统的特征
并发
并发:两个或者多个事件在同一个时间间隔内发生。这些事件在宏观上是同时发生的,在微观上是交替发生的。操作系统的并发是通过分时实现的
并行:是指两个或者多个事件在同一时刻发生
共享
资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用
互斥共享方 ...