cmake set的变量可以在程序中的宏中使用 add_library. shared:生成.so或.dll文件,不嵌入代码,在使用时会根据.h来进行查找 static:直接将相关代码嵌入任何需要的地方,非常冗余,但很完整 interface:接口库,不单独生成库,只是作为接口给其他库使用 后面只跟随相关源文件 target_link_libraries,属性一般与target_include 2024-06-30
git 保存的是基于上面一个节点变更的内容 每一个节点都是一个版本。 git commit:在原本的节点下添加一个新的节点,也就是更新版本,于HEAD所在的位置 git branch name: 新建一个分支,于HEAD所在的位置 git checkout name: 切换当前所在分支,但最好使用git switch name来切换 git checkout -b name: 新建分支并切换到这个分支上 2024-06-30
差分约束 一个差分约束问题是一个线性规划问题,只不过只有一个限制条件。 Ax≤\le≤B。 而在A矩阵中每一行只存在一个1和一个-1,其他全为0。 我们可以将这个问题转换为一个图论问题。 对于这样的问题,我们进行建图,如果存在一个xi−xj≤ax_i-x_j\le axi−xj≤a,则建立一条从xjx_jxj到xix_ixi的边,边的权重为a。 另外新建一个节点x0x_0x0,它指向所有的原有未知 2024-06-30
强联通分量 强联通分量指的是一个有向图中的一部分节点,而任意两个其中的节点互相的路径是相通的,既能从一个节点到另一个节点,也可以从另一个节点到这个节点。 一个图必然能够被分为几个强联通分量的组合,而若是将这几个强联通分量的节点聚合为一个节点,就会得到一个有向无环图,称为分量图。 求出强联通分量的方法如下: 首先对图进行深搜,对于每一个节点记录到达顺序和离开顺序,离开顺序和到达顺序共用一个顺序。 根据这个离开顺 2024-06-30
散列(hash) 在一个域(一个集合)中,其中存在着一个实际域,包含着我们所实际用到的元素,如自然数是一个域,其中我们有一个实际域,比如说{1,2,3}。这些作为关键字指向元素,这里的关键字就是指数组的下标一样的东西,根据一个关键字,我们就可以得到它所指的元素。 当全域较小的时候,我们可以之间建立一个表,一一对应。 但是当全域较大但是实际域并不大的时候,这就过于浪费存储空间了,因为很多的关键字都对应着NIL(空), 2024-06-30
数学建模 流程 问题假设(要全面) 模型建立 模型求解 模型评价 问题类型 预测类 用以往的数据来预测将来的数据 评价类 通过建立评价指标体系来评价一个东西 机理分析 优化类 最优化理论,目标函数,变量,约束 Matlab [] 矩阵,其中的数值可以是矩阵 ; 换行 ,或者直接空格 分列 while condition end 循环 if condit 2024-06-30
最小堆与最大堆 priority_queue的底层是vector queue的底层是deque 堆是完全二叉树。 最小堆就是父节点小于子节点。 插入时每次加到最后,再从底向上更新一次。 删除时删除根,并将最后一个元素取代掉根,从底向上更新一次。 更新时是对于每一个节点所对应的堆进行更新。 插入就是加到最后,向上更新 删除就是交换根和最后一个元素,然后删掉“根”,向下更新 priority_queue传入的比较函数 2024-06-30
汇编 编译 nasm -f elf 文件名 -f:指定输出文件格式,elf:linux格式下的可执行文件 ld -m elf_i386 -s -o 目标文件名 原可执行文件名 ld:调用ld链接器 -m:指定格式(elf_i386) -s:去除所有符号表和重定位信息,生成更小的可执行文件 -o:指定输出名 代码部分(section后面都有空格) section .data:常量 section 2024-06-30
离散 1.1 无序对 无序积 & 多重集 重复度 无向图G 顶点集V 无序积 边集E 有向图D 多重子集 n个定点的图被称为n阶图 无边为零图 平凡图: 1阶0图 空图:无顶点 环:两端点重合 关联,关联次数:与边相接的边数 相邻:共同点或共同边 有向图始点,终点 相邻也要遵从有向 孤立点:没边 1.2 度d:连接的边数,环算2 握手定理:度和为2*边 有向图出就是出度,如就是入度 悬挂顶点:度 2024-06-30