vim常用快捷键
基本操作
快捷键
操作
i
进入插入模式
…进行一些修改…
:wq
保存退出
拓展操作
快捷键
操作
ciw
删除字段并且进入插入模式
y
复制光标所指的字符或单词
yy
复制当前行
x
剪切光标所指的字符或单词
dd
剪切当前行
p
粘贴
u
撤销
ctrl+r
步进(取消撤销)
:(行数)
前往指定行
G
到文件结尾
gg
到文件开头
数据结构
红黑树特征
每条路径黑节点数目一致
红节点不相邻
插入规则
如果父节点为黑,直接插入。
父叔为都红,颜色调换。
父红叔黑,颜色调换,再移动,爷爷放下来,父亲放上去。
父叔一红一黑,大脑CPU宕机…….宕机……
反正就父亲爷爷叔叔颜色反转调换,父子关系调换…….
2.7.3 学会放手
cpp多线程笔记
创建线程void print(std::string msg){ std::cout << msg << std::endl; return;}std::thread test1(print,"Hello C++");
第一个参数传函数名,第二个参数传参
等待子线程结束后再往下运行,join是阻塞的
test1.join();
分离线程,主线程可以结束,子线程在后台可以持续运行
test1.detach();
判断该线程是否可以调用join或者detach,返回一个bool值
test1.joinable();
传引用参数时使用std::ref
void foo(int& x){}int a = 1std::thread t(foo, std::ref(a));
一种写法
class A{public: void foo(){ std::cout << "Hello" << std::endl; } ...
电赛国赛总结
草率……
荒诞……
累……
但是
学到很多
目前收获最多的竞赛
集创赛总结
感受挺抽象的,没咋好好搞,但却是目前取得最理想的一个竞赛成绩。严格意义上我只投入了2天有效时间,neon加速和openmp主要也都是chatgpt帮忙写的,LIME的代码上网搜的。反正门槛确实是有的,但是怎么说呢,感觉投入还是太少了,初赛能进挺意外的,复赛(东北赛区决赛)三等奖属于意料之中和情理之中吧。
收获其实我倒是觉得这个比赛成绩还是不太能拿出手,去了一趟大连,人生第一次见海,王老师申请经费报销差旅费,还是很感激的。另一方面就是能力的提升,结合现在正在混的互联网+竞赛,首先是学会了高效查论文,看论文,这个是最重要的一个收获。其次,学会了用openmp做一些简单的并行加速。最后,就是巩固了一下opencv。
C++STL
STL通用操作
字符串
向量
list链表
队列
栈
映射表
集合
排序操作
迭代器
其他
git常用指令
最常用:// 克隆远程代码下来本地-git clone xxxx// 修改的代码细节展示-git diff // 当前分支状态(改动总览)-git status// 会监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区,// 包括文件内容修改(modified)以及新文件(new),但不包括被删除的文件。(这个说法不正确,实验证明删除文件也是可以提交的)// git版本在2.x之后应该是把 . 和 -A作用相同化了 而不是晚上复制的-git add .-git add -A// 提交暂存区文件到本地仓库-git commit -m "我的修改备注"// 提交本地数据到 对应的远程分支-git push// 查看本地对应远程的分支对应关系-git branch -vv // 查看本地和远程所有分支-git branch -a // 以当前本地分支作为基础新建一个xxx分支(默认你这个xxx分支 也是push到 当前分支的远程分支)-git checkout -b xxx // 提交本地分支代码到 xxx远程分支-git push origin xxx // 将 ...
ros多机通信设置踩坑与教程
本教程针对EPRobot小车开发,但对ros通信的设置也具有一定的普适性。
1.确保树莓派是AP连接模式(默认是AP模式,这个一般没问题)2.修改虚拟机home目录下的.bashrc文件,在最后附加上这段export ROS_MASTER_URL=http://EPRobot:11311export ROS_HOSTNAME=ubuntu
这段话的意思是声明主机为EPRobot,也就是我们的小车,从机为ubuntu(我们虚拟机的用户名)
3.先查一下你的ip地址,运行这条指令ifconfig
inet后面的就是你的ip地址,AP模式下你的地址应该是196.168.12.xxx
实际上在=的后面,我们应该输入对应的ip地址,但是我们现在是用EPRobot和ubuntu替代了,我的理解是Ubuntu系统也有一个类似c语言宏定义的东西。在etc文件夹下有hostname和hosts这两个文件
其中,hostname里应该是这样的
ubuntu
hosts文件中应该有这两句话,需要对这两句进行修改
127.0.1.1 ubuntu# 需要改成你查到的ip地址192.168.12.xx ...
Cmake
参考文档
官方文档
变量的简单使用:set(A ON)if (A) message(STATUS "${A}") message(STATUS "${PROJECT_NAME}") message(STATUS "${PROJECT_SOURCE_DIR}") message(STATUS "${PROJECT_BINARY_DIR}")
强制使用静态链接:set(CMAKE_EXE_LINKER_FLAGS "-static")
改可执行文件名:add_executable(use_easyx main.cpp)
链接库:link_directories(${PROJECT_SOURCE_DIR}/lib)target_link_libraries(use_easyx easyx)
include链接目录(头文件):include_directories( ...
2023美赛建模
参考本文参考阿里云天池大赛赛题解析
源码链接点这里
源码modelimport warningswarnings.filterwarnings("ignore")import matplotlib.pyplot as pltplt.rcParams.update({'figure.max_open_warning': 0})import seaborn as sns# modellingimport pandas as pdimport numpy as npfrom scipy import statsfrom sklearn.model_selection import train_test_splitfrom sklearn.model_selection import GridSearchCV, RepeatedKFold, cross_val_score,cross_val_predict,KFoldfrom sklearn.metrics import make_scorer,mean_squared_errorf ...