<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[耿鸭的幸福生活]]></title><description><![CDATA[才学满溢，有恃无恐！]]></description><link>https://blog.youkuaiyun.com/hcmdghv587</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; hcmdghv587]]></copyright><item><title><![CDATA[图论 - 网络流]]></title><link>https://blog.youkuaiyun.com/hcmdghv587/article/details/108660658</link><guid>https://blog.youkuaiyun.com/hcmdghv587/article/details/108660658</guid><author>hcmdghv587</author><pubDate>Fri, 18 Sep 2020 10:42:04 +0800</pubDate><description><![CDATA[文章目录0. 网络流基本概念
0. 网络流基本概念


]]></description><category></category></item><item><title><![CDATA[计算几何 - 模板]]></title><link>https://blog.youkuaiyun.com/hcmdghv587/article/details/108615937</link><guid>https://blog.youkuaiyun.com/hcmdghv587/article/details/108615937</guid><author>hcmdghv587</author><pubDate>Wed, 16 Sep 2020 10:08:02 +0800</pubDate><description><![CDATA[文章目录1. 功能概要1.1 点/向量1.2 直线/线段2. 代码实现
1. 功能概要
计算几何模板实现了如下功能（将会不断更新）。
1.1 点/向量

==比较
排序比较
向量减法、加法
向量叉积
向量点积
向量长度

1.2 直线/线段

通过 ax + by + c = 0 构建直线
线段长度
求两直线交点

2. 代码实现
// 计算几何模板
const double EPS = 1e-8;
const double PI = acos(-1.0);

// 浮点数符号判定
int sgn(doub]]></description><category></category></item><item><title><![CDATA[Vue.js学习笔记]]></title><link>https://blog.youkuaiyun.com/hcmdghv587/article/details/108208791</link><guid>https://blog.youkuaiyun.com/hcmdghv587/article/details/108208791</guid><author>hcmdghv587</author><pubDate>Mon, 24 Aug 2020 22:32:00 +0800</pubDate><description><![CDATA[文章目录0. 简介1. Hello world2. Vue实例3. 模板语法3.1 插值3.1.1 文本3.1.2 原始HTML3.1.3 属性3.1.4 JS表达式3.2 指令3.3 缩写3.3.1 v-bind缩写3.3.2 v-on缩写
0. 简介
Vue (读音 /vjuː/，类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是，Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层，不仅易于上手，还便于与第三方库或既有项目整合。另一方面，当与现代化的工具链以及]]></description><category></category></item><item><title><![CDATA[Ajax学习笔记]]></title><link>https://blog.youkuaiyun.com/hcmdghv587/article/details/108196934</link><guid>https://blog.youkuaiyun.com/hcmdghv587/article/details/108196934</guid><author>hcmdghv587</author><pubDate>Mon, 24 Aug 2020 16:26:44 +0800</pubDate><description><![CDATA[文章目录0. 简介1. 原生Ajax请求
0. 简介
AJAX = Asynchronous JavaScript and XML（异步的 JavaScript 和 XML）。
AJAX 不是新的编程语言，而是一种使用现有标准的新方法。
AJAX 最大的优点是在不重新加载整个页面的情况下，可以与服务器交换数据并更新部分网页内容。
AJAX 不需要任何浏览器插件，但需要用户允许JavaScript在浏览器上执行。
1. 原生Ajax请求

...]]></description><category></category></item><item><title><![CDATA[JavaWeb 学习笔记]]></title><link>https://blog.youkuaiyun.com/hcmdghv587/article/details/108092377</link><guid>https://blog.youkuaiyun.com/hcmdghv587/article/details/108092377</guid><author>hcmdghv587</author><pubDate>Wed, 19 Aug 2020 11:32:43 +0800</pubDate><description><![CDATA[文章目录1. Web概述1.1 常见的Web服务器2. Tomcat服务器2.1 下载 &amp; 安装2.2 运行2.3 解决控制台乱码2.4 配置环境变量2.5 修改端口号2.6 Tomcat目录结构2.7 动态Web资源的目录结构2.8 Tomcat的项目发布方式方式一方式二（不推荐）方式三2.9 IDEA整合Tomcat目录结构说明2.10 虚拟主机配置创建项目文件创建虚拟主机路径修改hosts文件启动服务器
1. Web概述
1.1 常见的Web服务器

Tomcat：Apache组织提供的开源的]]></description><category></category></item><item><title><![CDATA[CSS3 学习笔记]]></title><link>https://blog.youkuaiyun.com/hcmdghv587/article/details/108074070</link><guid>https://blog.youkuaiyun.com/hcmdghv587/article/details/108074070</guid><author>hcmdghv587</author><pubDate>Tue, 18 Aug 2020 16:24:35 +0800</pubDate><description><![CDATA[文章目录1.
1.

]]></description><category></category></item><item><title><![CDATA[HTML5学习笔记]]></title><link>https://blog.youkuaiyun.com/hcmdghv587/article/details/108058060</link><guid>https://blog.youkuaiyun.com/hcmdghv587/article/details/108058060</guid><author>hcmdghv587</author><pubDate>Mon, 17 Aug 2020 16:25:44 +0800</pubDate><description><![CDATA[文章目录1. HTML基本框架1. 文本格式化标签1.1 加粗1.2 倾斜1.3 删除线1.4 下划线2. div和span标签
1. HTML基本框架
&lt;!DOCTYPE html&gt;  &lt;!-- 文档类型声明标签，告诉浏览器这个页面采用HTML5版本 --&gt;
&lt;html lang="zh-CN"&gt;  &lt;!-- 定义语言为简体中文 --&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;  &lt;!-- 不写会乱码 ]]></description><category></category></item><item><title><![CDATA[MySQL学习笔记]]></title><link>https://blog.youkuaiyun.com/hcmdghv587/article/details/108031701</link><guid>https://blog.youkuaiyun.com/hcmdghv587/article/details/108031701</guid><author>hcmdghv587</author><pubDate>Sun, 16 Aug 2020 11:58:28 +0800</pubDate><description><![CDATA[文章目录1. MySQL的安装1.1 Linux安装MySQL1.2 登录1.3 显示所有数据库1.4 进入指定数据库1.5 查看有哪些表查看当前数据库有哪些表查看指定数据库1.6 查看当前位于哪个数据库1.7 查看表的结构1.8 查看MySQL版本1.9 注释2. DQL（Data Query Language）的学习2.1 查询表中单个、多个字段2.2 查询表中所有字段2.3 打开数据库2.4 常量值2.5 起别名2.6 DISTINCT - 去重2.7 操作数中有字符串或NULL时2.8 CONCAT]]></description><category></category></item><item><title><![CDATA[PyCryptodome学习笔记]]></title><link>https://blog.youkuaiyun.com/hcmdghv587/article/details/107925327</link><guid>https://blog.youkuaiyun.com/hcmdghv587/article/details/107925327</guid><author>hcmdghv587</author><pubDate>Wed, 12 Aug 2020 12:13:39 +0800</pubDate><description><![CDATA[文章目录0. 简介1. 安装
0. 简介
1. 安装
为了不与旧的版本发生冲突，可以使用以下命令进行安装：
pip install pycryptodomex

安装完成后，可以进行测试：
python -m Cryptodome.SelfTest

测试结果如下：


]]></description><category></category></item><item><title><![CDATA[Python标准库恶补一番]]></title><link>https://blog.youkuaiyun.com/hcmdghv587/article/details/107894882</link><guid>https://blog.youkuaiyun.com/hcmdghv587/article/details/107894882</guid><author>hcmdghv587</author><pubDate>Sun, 09 Aug 2020 15:40:00 +0800</pubDate><description><![CDATA[文章目录1. 全排列 - itertools.permutations
1. 全排列 - itertools.permutations
注：Python产生的全排列是会含有重复的项的！并且当且仅当输入的列表是升序的，结果才是按字典序的！
from itertools import permutations

a = [1, 2, 4]
perm = permutations(a)
print(type(perm))
''' &lt;class 'itertools.permutations'&gt; ''']]></description><category></category></item><item><title><![CDATA[爬虫学习笔记]]></title><link>https://blog.youkuaiyun.com/hcmdghv587/article/details/107845626</link><guid>https://blog.youkuaiyun.com/hcmdghv587/article/details/107845626</guid><author>hcmdghv587</author><pubDate>Fri, 07 Aug 2020 18:04:56 +0800</pubDate><description><![CDATA[文章目录0. 什么是爬虫？1. 常用请求头和响应头信息1.1 常用请求头信息1.2 常用响应头信息1.3 HTTPS协议2. Requests库2.1 作用2.2 爬取搜狗首页
0. 什么是爬虫？
通过编写程序，模拟浏览器上网，然后让其抓取数据的过程。
1. 常用请求头和响应头信息
1.1 常用请求头信息

User-Agent：请求载体的身份标识（如谷歌浏览器）。
Connection：请求完毕后是断开连接还是保持连接。

1.2 常用响应头信息

Content-Type：服务器响应回客户端的数据类型。]]></description><category></category></item><item><title><![CDATA[Spring5学习笔记]]></title><link>https://blog.youkuaiyun.com/hcmdghv587/article/details/107727291</link><guid>https://blog.youkuaiyun.com/hcmdghv587/article/details/107727291</guid><author>hcmdghv587</author><pubDate>Sun, 02 Aug 2020 16:18:43 +0800</pubDate><description><![CDATA[文章目录0. 简介1. 第一个Spring工程1.1 创建Spring工程
0. 简介
1. 第一个Spring工程
1.1 创建Spring工程
## 2.2

]]></description><category></category></item><item><title><![CDATA[Maven学习笔记]]></title><link>https://blog.youkuaiyun.com/hcmdghv587/article/details/107653966</link><guid>https://blog.youkuaiyun.com/hcmdghv587/article/details/107653966</guid><author>hcmdghv587</author><pubDate>Thu, 30 Jul 2020 11:21:47 +0800</pubDate><description><![CDATA[文章目录0. 简介1. 安装 &amp; 配置1.1 下载Maven安装包1.2 解压到英文目录1.3 配置环境变量1.4 验证1.5 配置本地仓库1.6 配置阿里云镜像2. 在Idea中使用Maven2.1 创建空的工程2.2 修改Maven目录2.3 创建Java工程2.4 配置pom.xml文件2.5 编写主代码和测试代码2.6 运行Maven工程
0. 简介
1. 安装 &amp; 配置
1.1 下载Maven安装包
访问Maven官方网站，下载*bin.zip文件。

1.2 解压到英文目录
本例]]></description><category></category></item><item><title><![CDATA[图论 - 割点（Tarjan）]]></title><link>https://blog.youkuaiyun.com/hcmdghv587/article/details/107674704</link><guid>https://blog.youkuaiyun.com/hcmdghv587/article/details/107674704</guid><author>hcmdghv587</author><pubDate>Wed, 29 Jul 2020 20:43:57 +0800</pubDate><description><![CDATA[文章目录定义例题
定义
在一个无向图中，如果有一个顶点集合，删除这个顶点集合以及这个集合中所有顶点相关联的边以后，图的连通分量增多，就称这个点集为割点集合。
如果某个割点集合只含有一个顶点X（也即{X}是一个割点集合），那么X称为一个割点。
如果图是连通的，那么割点的定义就是，在一个无向连通图中，如果删除某个顶点后，图不再连通，则这个顶点为割点。
通过Tarjan算法可以求出所有割点，时间复杂度为O(N + M)。
例题
洛谷P3388
给定一个无向图（不一定连通），求出所有割点。
#include &lt]]></description><category></category></item><item><title><![CDATA[数据结构 - 字典树（Trie）]]></title><link>https://blog.youkuaiyun.com/hcmdghv587/article/details/107620496</link><guid>https://blog.youkuaiyun.com/hcmdghv587/article/details/107620496</guid><author>hcmdghv587</author><pubDate>Mon, 27 Jul 2020 21:14:56 +0800</pubDate><description><![CDATA[文章目录定义原理Trie结点插入操作查询操作代码
定义
Trie又称字典树，前缀树，通过下图可以得出Trie的特点：

Trie的根结点是空的
除根结点外，每个结点储存一个字母
从根结点到每个字母结点的路径上的所有字母连接而成的字符串就是该结点对应的字符串
每个非叶子结点一般都会被多次使用，以节省遍历的时间效率


原理
Trie结点
Trie结点即树上每一个结点，需要维护两个信息：

下一个字符指向的结点编号
结点附加的值（即当前字符串附加的值）

struct TrieNode {
    int va]]></description><category></category></item><item><title><![CDATA[字符串 - 判断子序列]]></title><link>https://blog.youkuaiyun.com/hcmdghv587/article/details/107608197</link><guid>https://blog.youkuaiyun.com/hcmdghv587/article/details/107608197</guid><author>hcmdghv587</author><pubDate>Mon, 27 Jul 2020 11:27:11 +0800</pubDate><description><![CDATA[定义
假如字符串 s 是 t 的子序列，那么可以删除 t 中的一些字符（也可以不删除），使得剩下的字符按原来的顺序排列得到的字符串等于s。
代码
LeetCode 392
代码比较简单，故不加赘述，记录本帖的意义在于防止日后卡壳。
时间复杂度：O(N + M)，N和M为两个字符串的长度。
#include &lt;iostream&gt;
#include &lt;vector&gt;
#include &lt;cstdio&gt;
#include &lt;string&gt;
#include &lt;]]></description><category></category></item><item><title><![CDATA[图论 - 多源最短路径（Floyd）]]></title><link>https://blog.youkuaiyun.com/hcmdghv587/article/details/107606807</link><guid>https://blog.youkuaiyun.com/hcmdghv587/article/details/107606807</guid><author>hcmdghv587</author><pubDate>Mon, 27 Jul 2020 10:59:55 +0800</pubDate><description><![CDATA[文章目录定义原理代码
定义
通过Floyd-Warshall算法可以求出图中任意两点的最短路径，可以处理负权边，但不能处理负权环。时间复杂度为O(N3)O(N^3)O(N3)。
原理
Floyd-Warshall算法的原理是动态规划。
设Di,j,kD_{i,j,k}Di,j,k​为从结点iii到结点jjj的只以结点(1...k)(1...k)(1...k)为中间结点的最短路径长度。

若最短路径经过点kkk，则Di,j,k=Di,k,k−1+Dk,j,k−1D_{i,j,k}=D_{i,k,k-1}+D_]]></description><category></category></item><item><title><![CDATA[数学 - 线性基]]></title><link>https://blog.youkuaiyun.com/hcmdghv587/article/details/107600326</link><guid>https://blog.youkuaiyun.com/hcmdghv587/article/details/107600326</guid><author>hcmdghv587</author><pubDate>Sun, 26 Jul 2020 22:49:33 +0800</pubDate><description><![CDATA[定义
线性基是向量空间的一组基，通常可以解决有关异或的一些题目。
通俗一点的讲法就是由一个集合构造出来的另一个集合，它有以下几个性质：

线性基的元素能 相互异或 得到原集合的元素的所有 相互异或 得到的值。
线性基是满足性质 1 的最小的集合。
线性基没有异或和为 0 的子集。
线性基中每个元素的异或方案唯一，也就是说，线性基中不同的异或组合异或出的数都是不一样的。
线性基中每个元素的二进制最高位互不相同。

线性基的构造方法：
对原集合的每个数 x 转为二进制，从高位向低位扫描，对于第 i 位是 1 的]]></description><category></category></item><item><title><![CDATA[图论 - 单源最短路径（Dijkstra）]]></title><link>https://blog.youkuaiyun.com/hcmdghv587/article/details/107599837</link><guid>https://blog.youkuaiyun.com/hcmdghv587/article/details/107599837</guid><author>hcmdghv587</author><pubDate>Sun, 26 Jul 2020 21:36:29 +0800</pubDate><description><![CDATA[文章目录定义原理代码
定义
Dijkstra算法可以求解带权有向图上某个点到其余点的最短路径距离，不支持负权边。
时间复杂度：朴素法的时间复杂度为O(N2)O(N^2)O(N2)，加上堆优化以后时间复杂度为O((N+M)log2(N))O((N + M)log_2(N))O((N+M)log2​(N))。
原理
Dijkstra的流程如下：（白点——未确定最短路径的点  黑点——已确定最短路径的点）

初始化dis[src] = 0，其余结点的值为INF。
找一个dis值最小的白点x，把x变成黑点。
遍历x]]></description><category></category></item><item><title><![CDATA[图论 - 单源最短路径（SPFA）]]></title><link>https://blog.youkuaiyun.com/hcmdghv587/article/details/107599391</link><guid>https://blog.youkuaiyun.com/hcmdghv587/article/details/107599391</guid><author>hcmdghv587</author><pubDate>Sun, 26 Jul 2020 21:13:21 +0800</pubDate><description><![CDATA[文章目录定义原理代码
定义
SPFA算法可以求解带权有向图上某个点到其余点的最短路径距离，支持负权边。
时间复杂度：如果图是随机生成的，时间复杂度为O(K·M)，K是某个常数；最坏情况下时间复杂度为O(N·M)。
原理
用dis数组记录源点到有向图上任意一点的距离，其中源点到自身距离为0，到其他点距离为INF。将源点入队，并重复以下步骤：

队首x出队。
遍历所有以队首为起点的有向边(x,i)，若dis[x] + w(x,i) &lt; dis[i]，则更新dis[i]。
如果点i不在队列中，则i入队。
若]]></description><category></category></item></channel></rss>