CMake 笔记
CMake转自 bilibili
说明cmake的定义是什么 ?—–高级编译配置工具
当多个人用不同的语言或者编译器开发一个项目,最终要输出一个可执行文件或者共享库(dll,so等等)这时候神器就出现了—–CMake!
所有操作都是通过编译CMakeLists.txt来完成的—简单
官 方网站是 www.cmake.org,可以通过访问官方网站获得更多关于 cmake 的信息
学习CMake的目的,为将来处理大型的C/C++/JAVA项目做准备
CMake安装1、绝大多数的linux系统已经安装了CMake
2、Windows或某些没有安装过的linux系统,去http://www.cmake.org/HTML/Download.html 可以下载安装
CMake一个HelloWord1、步骤一,写一个HelloWord
1234567#main.cpp#include <iostream>int main(){std::cout << "hello word" << std::endl;}
2、步骤二, ...
HTML
1.初识HTML
Hyper Text Markup Language
W3C 万维网联盟
W3C标准包括
结构化标准语言(HTML,XML)
表现标准语言(CSS)
行为标准( DOM,ECMAScript )
2.网页基本信息1<!-- 注释 idea快捷键 ctrl+/ -->
title 网页的标题
meta 描述性标签,用来描述网站的一些信息
meta 用来做SEO ( 搜索引擎优化 )
body 标签代表网页主体
3.网页基本标签123456789101112131415161718192021222324252627282930313233<!--使用什么规范--><!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>基本标签学习</title></head><body><!--标题标签-- ...
Spring
1、Spring1.1、简介==自己了解==
导入 Maven 包
1234567891011121314<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --><dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.16.RELEASE</version></dependency><!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc --><dependency> <groupId>org.springframework</groupId> <artifactI ...
SpringMVC
SpringMVCssm: MyBatis + Spring + SpringMVC ==MVC 三层架构==
MVC: 模型 (Dao, Service) 视图 (JSP) 控制器 (Servlet)
dao
service
servlet: 转发, 重定向
jsp / html
1、回顾 Servlet
导入所需依赖:
123456789101112131415161718192021222324252627282930313233<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springf ...
SpringBoot
SpringBoot1、创建 SpringBoot 项目1.1、利用官网创建
进入 SpringBoot 官网 SpringBoot
划到 Quickstart Your Project
点击 Spring Initializr
如下图
在 Dependencies 处添加项目依赖 最后点击 GENERATE 会自动下载压缩包, 包中即为创建好的 SpringBoot i项目
1.2、利用 IDEA 创建一般开发都是在 IDEA 中创建
1.3、项目结构略
pom.xml 中的一些信息
1234567891011121314151617181920212223242526<dependencies> <!--所有的 SpringBoot 依赖都是使用 spring-boot-starter 开头--> <!-- web 依赖: 自动集成了 Tomcat, dispatcherServlet--> <dependency> <groupId>org.spring ...
叠字
叠字
三个金念鑫(xīn)
三个水念淼(miǎo)
三个火念焱(yàn)
三个土念垚(yáo)
三个牛念犇(bēn)
三个手念掱(pá)
三个目念瞐(mò)
三个田念畾(lěi)
三个马念骉(biāo)
三个羊念羴(shān)
三个犬念猋(biāo)
三个鹿念麤(cū)
三个鱼念鱻(xiān)
三个贝念赑(bì)
三个力念劦(lie)
三个毛念毳(cuì)
三个耳念聶(niè)
三个车念轟(hōng)
三个直念矗(chù)
三个龙念龘(tà、dá)
三个原念厵(yuán)
三个雷念靐(bìng)
三个飞念飝(fēi)
三个刀念刕(lí)
三个又念叒(ruò)
三个士念壵(zhuàng)
三个小念尛(mó)
三个子念孨(zhuǎn)
三个止念歮(sè)
三个风念飍(xiū)
三个隼念雥(zá)
三个吉念嚞(zhé)
三个言念譶(tà)
三个舌念舙(qì)
三个香念馫(xīn)
三个泉念灥(xún)
三个心念惢(suǒ)
三个白念皛(xiǎo)
TinySTL 文档 1.0
TinySTLContainervector模板参数:
123tmplate <class T>class vector{ ... };
T: 数据类型
内部类型表示:
typedef mystl::allocator<T> allocator_type; 分配器类型
typedef mystl::allocator<T> data_allocator; 分配数据内存类型
typedef typename allocator_type::value_type value_type; 内部数据类型
typedef typename allocator_type::pointer pointer; 内部指针类型, 下面的引用类似
typedef typename allocator_type::const_pointer const_pointer;
typedef typename allocator_type::reference reference;
typedef typename allocator_type ...
扫描线(线段树)
扫描线(线段树)关于线段树辅助扫描线的基本思想,已经有很多大佬去详细的解释了,可以去看一下传送门
这里主要说一下线段树辅助扫描线的一些问题以及几种变形
关于数据的离散化,离散化很多时候是为了减小空间消耗,但是我认为在线段树辅助扫描线时,基本都是需要进行离散化的,因为在以x(y)为坐标轴时,维护的是 $[1, m] $ (m不确定),但是显然坐标轴上的区间点坐标不一定是从1开始的,所以要离散出一个区间其范围是 $[1, m]$
在一般线段树进行区间划分的时候,通常采用下面的方式
123mid = l + r >> 1;(操作函数) (l, mid)(操作函数) (mid + 1, r)
但是,在线段树辅助扫描线的时候,这样划分是不可以的,由于线段树维护的是连续区间,而上面划分区间的时候 $mid$ 和 $mid + 1$中间是有距离的,所以会少统计答案导致错误,所以可以给线段树维护的区间换个意义,可以将其理解为维护的是一个个区间
12|___|___|___|___|1 2 3 4 5
比如上面这个图,将 $[1, 2]$ 定义 ...
区间 DP 基础
区间 DP 基础什么是区间 DP, 区间 DP 特征
区间类动态规划是线性动态规划的扩展,它在分阶段地划分问题时,与阶段中元素出现的顺序和由前一阶段的哪些元素合并而来有很大的关系。令状态 $f(i, j)$ 表示将下标位置 到 的所有元素合并能获得的价值的最大值,那么 $f(i, j) = max{f(i, k) + f(k + 1, j) + cost}, cost$ 为将这两组元素合并起来的代价。
区间 DP 的特点:
合并:即将两个或多个部分进行整合,当然也可以反过来;
特征:能将问题分解为能两两合并的形式;
求解:对整个问题设最优值,枚举合并点,将问题分解为左右两个部分,最后合并两个部分的最优值得到原问题的最优值。
这里给出两道例题进行具体分析: 矩阵连乘问题,石头合并问题
矩阵连乘题目描述:
矩阵 $ [A_1,A_2,…,A_n ]$,其中,$A_i$ 与 $A_{i+1}$ 是可乘的,$(i = 1, 2,…, n-1)$。用加括号的方法表示矩阵连乘的次序,不同的计算次序计算量(乘法次数)是不同的,找出一种加括号的方法,使得矩阵连乘的次数最小。
这里我们要先知道 :$m ...
MySQL order by, limit 同时使用问题
MySQL order by, limit 同时使用问题MySQL 文档原文
建议去阅读一下 MySQL 文档
问题如果 order by 排序属性的值不唯一, order by 与 limit 同时使用可能会出现查询结果不同的现象.
例如:
1234567891011121314151617181920212223mysql> SELECT * FROM ratings ORDER BY category;+----+----------+--------+| id | category | rating |+----+----------+--------+| 1 | 1 | 4.5 || 5 | 1 | 3.2 || 3 | 2 | 3.7 || 4 | 2 | 3.5 || 6 | 2 | 3.5 || 2 | 3 | 5.0 || 7 | 3 | 2.7 |+----+----------+--------+mysq ...