代码风格
代码风格1.文件结构与头文件
使用 #include <bits/stdc++.h>竞赛环境通常支持,可减少记忆头文件的负担,提高编码速度。若环境不支持,则按需包含。
建议使用标准的头文件
必须使用 using namespace std;简洁优先,避免代码冗长。
#include <bits/stdc++.h>using namespace std;
万能头文件的缺点
编译时间增加虽然 OI 通常不限制编译时间,但在一些在线评测系统中,如果编译器需要处理大量头文件,可能会轻微增加编译耗时。不过对大多数竞赛环境来说,这点影响可忽略。
非标准,可移植性差该头文件并非 C++ 标准的一部分,只在 GCC 环境中可用(包括 MinGW、Clang 在某些模式下也支持)。如果比赛环境使用其他编译器(如 MSVC 或未配置的 GCC),代码可能无法编译。
命名冲突风险由于包含了大量命名空间中的符号,可能会意外与自定义变量名冲突(虽然概率很低,但理论上存在)。
部分竞赛明令禁止少数严格的竞赛(如 NOI 某些年份的官方比赛)可能要求选手不得使用 bits/stdc+ ...
C++基础
第一部分 C++基础第一章 输入输出C++ 是 C 的一个超集,事实上,任何合法的 C 程序都是合法的 C++ 程序。
1.1 开始框架1.1.1 基本概念C++ 是一种静态类型的、编译式的、通用的、大小写敏感的、不规则的编程语言,支持过程化编程、面向对象编程和泛型编程。
C++ 被认为是一种中级语言,它综合了高级语言和低级语言的特点。
C++ 是由 Bjarne Stroustrup 于 1979 年在新泽西州美利山贝尔实验室开始设计开发的。C++ 进一步扩充和完善了 C 语言,最初命名为带类的C,后来在 1983 年更名为 C++。
C++ 是 C 的一个超集,事实上,任何合法的 C 程序都是合法的 C++ 程序。
注意:使用静态类型的编程语言是在编译时执行类型检查,而不是在运行时执行类型检查。
面向对象程序设计C++ 完全支持面向对象的程序设计,包括面向对象开发的四大特性:
封装
抽象
继承
多态
减少代码量/提高复用性
标准库标准的 C++ 由三个重要部分组成:
核心语言,提供了所有构件块,包括变量、数据类型和常量,等等。
C++ 标准库,提供了大量的函数,用于 ...
kali-linux安装到U盘中
kali-linux安装到U盘中前言由于手上正好有一个固态U盘,还有一些时间,就决定折腾一下kali,俗话说的好kali学的好,入狱入的早
但是又不想用虚拟机装kali第一是性能问题风扇噪音太大,第二是总感觉怪怪的。所以就直接把kali装到固态U盘里,相当于半个实体机安装了。优点就是便携,缺点就是换系统需要重启,看个人需求吧。
1、准备工作1、首先要准备一个高速U盘或者固态硬盘(固态+硬盘盒)都可以,速度快一点就行,我这里用的是移速的512gb固态U盘还是挺不错的
2、将U盘分好区安装好ventoy
3、准备一个kali的iso
2、安装ventoy首先去ventoy的官网https://www.ventoy.net/cn/download.html
下载一个ventoy然后插入u盘运行
运行之前务必确保U盘中没有重要资料
运行之前务必确保U盘中没有重要资料
运行之前务必确保U盘中没有重要资料
然后分区类型建议选gpt,分区设置可以根据U盘大小在后面留出大概五六十GB的空间给kali系统
这样的话前面的空间还是可以当正常U盘来使用的
之后安装即可
3、准备kali安装 ...
neovim快速配置教程
纯windows下的neovim快速配置过程由于github的问题可能图片加载不是很好可以直接下方连接下载最新版解压即可
https://github.com/jiaxinaoliao/neovimBeginCpp
解压之后的REDME.md文件(推荐用typora打开或者notepads(alt+p开启markdown预览)也可以)即可查看
虽然不是开箱即用但是也省略了大部分配置时间
下载之后进行简单的安装即可使用
在纯windows环境不需要虚拟机 纯windows环境下使用
linux/wsl下也可以使用,linux/wsl的配置文件在文件夹的linuxConfig中
macos应该也能兼容(没有试过)
1. 简介系统环境win10或者win11都可以,主要用于c\c++(python,lua,rust等也可以)的学习使用(学习编程或者小项目)
可以实现IDE的基本功能(编译、运行、调试、跳转、报错、提示等等)
系统:利用的win11的环境windows11专业版22H2版本
(家庭学生版或者其他版本也可以)
终端:最新版的Windows Terminal+ ...
arch linux关机遇到(A stop job is running for ...)
arch linuxarch linux在关机重启的时候经常遇到(A stop job is running for …)等待很长时间都没有办法关闭,导致关机很慢。
编辑/etc/systemd/system.conf文件找到并修改
DefaultTimeoutStartSec=10sDefaultTimeoutStopSec=10s之后保存退出执行systemctl daemon-reload
arch linux声音与背光亮度Fn调节(dwm)
第一部分安装声音与亮度工具arch+dwm中
首先是安装声音和亮度的工具这里用的是alsa和light
sudo pacman -S alsa alsa-utils light
1、声音部分安装之后可以通过alamixer打开声音控制的图形界面
也可以用amixer来调整
这里我们用amixer来调整
amixer sset Master 5%+ unmute (音量加)amixer sset Master 5%- unmute (音量减)amixer sset Master toggle (静音切换)
我这里不知道为什么关闭Master的时候Speacker也会一起静音所以我这里静音切换用
amixer sset Master toggle && amixer sset Speacker unmute
我们可以用shell脚本来设置也可以直接在dwm的配置中设置,这里我们直接去改配置就行
首先要确定我们的笔记本键盘的功能键在linux中的名称比如
我这里是Fn+F6 (音量加)Fn+F5 (音量减)Fn+F4 (静音切换)
先打开一个终端输入命 ...
arch linux安装(到U盘中)教程(四 输入法以及背景设置)
第一部分 fcitx5输入法的安装1. fcitx5安装sudo pacman -S fcitx5-im fcitx5-chinese-addons fcitx5-material-color
安装即可这里面包含了fcitx5本体以及中文包以及模仿微软的一个皮肤
这个时候我们有win+p打开dmenu输入fcitx5-config(就是fcitx5的配置ui)
第一次打开会出现这个因为我们还没有启用fcitx5我们直接点击run fcitx5启动即可之后
将这个选项去掉,这个是只显示英文的一些键盘,取消之后我们就可以看到中文的了
我们要用到的就是Pinyin我们双击就可以了
这个时候就可以看到左边已经被添加进来了
我们可以用ctrl+space(空格)打开fcitx5以及中英文切换
我们还需要去sudo vim /etc/environment在后面添加
GTK_IM_MODULE=fcitxQT_IM_MODULE=fcitxXMODIFIERS=@im=fcitxSDL_IM_MODULE=fcitxGLFW_IM_MODULE=ibus
之后需要重启一下 ...
arch linux安装(到U盘中)教程(三 suckless三件套)
suckless三件套下载安装由于是安装到U盘里面的所以我们不用桌面环境用更为简洁高效的dwm
窗口管理器,这个是由suckless这个组织开发维护的,源代码是C语言写的总共才不到两千行
首先我们创建一个文件夹夹专门放dwm(窗口管理器)以及st(终端)dmenu(启动)
重启之后我们就可以用用户名密码登录了
sudo pacman -S git(如果没有安装git的话需要安装一下)mkdir sucklesscd sucklessgit clone https://git.suckless.org/dwmgit clone https://git.suckless.org/stgit clone https://git.suckless.org/dmenugit clone https://git.suckless.org/slstatus
说是三件套 但是这里多安装了一个slstatus有了后面配置状态栏的
cd dwmsudo make clean installcd ..cd stsudo make clean installcd ..cd dmenusudo make cl ...
arch linux安装(到U盘中)教程(二 基础设置)
arch的基础设置1. 进入系统接上一篇输入用户名root以及密码之后就可以进入系统了
可以看到@后面是192这是默认的系统名称下面进行更改
2. 连接网络输入nmtui打开网络界面
第一个选项
用方向键将光标移动到add添加一个网络,如果是网线的话在左边可以看到
第一行(Profile name)填写wifi的名称(随意就可以)
第二行(Device)写无线网卡的名称(可以在终端中用ip addr查看默认是wlan0也有可能不一样)
第三行(SSID)才是要连接的wifi的名称比如CMCC-xxx-5G
第四行(Mode)默认
第五行(Security)按回车(enter)用wpa这个就可以
之后输入密码
输入密码之后直接ok就可以其他的不用动了
之后左边就可以看到wifi了一路返回就可以了
退出之后可以用ping -c 4 baidu.com测试一下
如果出现连接时间就说明以及连接成功了
之后pacman -Syy同步一下就可以了
注意:这里也可以nmtui打开界面之后直接用第二个选项activate on connection进行 ...
arch linux安装(到U盘中)教程(一 arch安装)
第一部分 介绍将arch安装到U盘中实现linux to go的效果
用的是arch+suckless三件套archlinux+dwm+st+dmenu由于是安装到U盘中的所以就不搞其他的花里胡哨的了够用就行,当然了普通的wps,qq,浏览器肯定都是可以正常用的
利用的是ventoy工具
这里可以利用virtualbox创建虚拟机之后将vdi文件直接复制到U盘里面,但是需要用到ventoy的插件,要将插件安装进linux系统中,还有一些小问题
所以我们这里直接利用ventory将U盘最后一段保留分区,直接将系统安装到U盘中
其余的空间可以当正常的U盘使用并且可以做启动U盘放入PE系统等等
第二部分(准备工作)1.容量首先肯定需要一个U盘,建议不低于128g(64g也不是不可以),速度的话看需求肯定是越快越好,如果用固态的话会更好。
2. 速度没有什么特殊需求的话普通U盘就够用了linux性能本来就不错,这里我用的是一个三星bar+的128gU盘(链接在下方)读取稳定在400m/s以内,写入70m/s和官网给的参数差不多,非常稳定不容易发热。
3. 空间分配容量的话正 ...










