<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[losing_Oier的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/losing_Oier</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; losing_Oier]]></copyright><item><title><![CDATA[以结构体作为map的key（C++）]]></title><link>https://blog.youkuaiyun.com/losing_Oier/article/details/126109016</link><guid>https://blog.youkuaiyun.com/losing_Oier/article/details/126109016</guid><author>losing_Oier</author><pubDate>Mon, 01 Aug 2022 20:58:21 +0800</pubDate><description><![CDATA[map嵌套结构体（C++）]]></description><category></category></item><item><title><![CDATA[德摩根定律]]></title><link>https://blog.youkuaiyun.com/losing_Oier/article/details/122804068</link><guid>https://blog.youkuaiyun.com/losing_Oier/article/details/122804068</guid><author>losing_Oier</author><pubDate>Mon, 07 Feb 2022 09:13:15 +0800</pubDate><description><![CDATA[德摩根定律

证明
看了一些文章，发现一个比较好理解德摩根定律的方法：
假设有 n 件事（A1，A2， A3… An）。
不做 A1 或不做 A2 或不做 A3 或 …或不做 An ——等价于——不全做
数学符号表达即为

不做 A1 也不做 A2 也不做 A3 也 …也不做 An ——等价于——全都不做
数学符号表达即为


...]]></description><category></category></item><item><title><![CDATA[最大公约数和最小公倍数的一个小性质]]></title><link>https://blog.youkuaiyun.com/losing_Oier/article/details/121021992</link><guid>https://blog.youkuaiyun.com/losing_Oier/article/details/121021992</guid><author>losing_Oier</author><pubDate>Thu, 28 Oct 2021 21:34:26 +0800</pubDate><description><![CDATA[这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题，有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能，丰富你的文章UML 图表FLowchart流程图导出与导入导出导入
欢迎使用Markdown编辑器
你好！ 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar]]></description><category></category></item><item><title><![CDATA[求逆元的几种方法（超详细）]]></title><link>https://blog.youkuaiyun.com/losing_Oier/article/details/120733214</link><guid>https://blog.youkuaiyun.com/losing_Oier/article/details/120733214</guid><author>losing_Oier</author><pubDate>Tue, 12 Oct 2021 21:53:11 +0800</pubDate><description><![CDATA[转载自逆元（推导 + 证明 + 求法） + 阶乘逆元（超基础，超详细）

]]></description><category></category></item><item><title><![CDATA[全错位排列与部分错位排列（组合数学）]]></title><link>https://blog.youkuaiyun.com/losing_Oier/article/details/120727132</link><guid>https://blog.youkuaiyun.com/losing_Oier/article/details/120727132</guid><author>losing_Oier</author><pubDate>Tue, 12 Oct 2021 21:48:09 +0800</pubDate><description><![CDATA[全错位排列
基本简介
“装错信封问题”是由当时最有名的数学家约翰·伯努利(Johann Bernoulli，1667－1748)的儿子丹尼尔·伯努利(DanidBernoulli，1700－1782)提出来的，大意如下：
一个人写了n封不同的信及相应的n个不同的信封，他把这n封信都装错了信封，问都装错信封的装法有多少种？
即求A=1~n的排列中，满足任意i != a[i] 的排列个数。]]></description><category></category></item><item><title><![CDATA[因子个数与因子和]]></title><link>https://blog.youkuaiyun.com/losing_Oier/article/details/120621751</link><guid>https://blog.youkuaiyun.com/losing_Oier/article/details/120621751</guid><author>losing_Oier</author><pubDate>Wed, 06 Oct 2021 11:01:12 +0800</pubDate><description><![CDATA[因子个数
如果n=∏impiki则n的因子个数为：∏im(1+ki)如果 n = \prod_{i}^{m}p_i^{k_i}
\\则n 的因子个数为：\prod_i^m(1+k_i)如果n=i∏m​piki​​则n的因子个数为：i∏m​(1+ki​)
证明：对于 i ∈ [1,m]， 我们可以从 p_i 中拿出 (0, 1, 2 … k_i) 个，一共有( k_i + 1 )种选择，所以一共可以有(k1+1)∗(k2+1)∗...∗(km+1)=∏im(ki+1)(k_1 + 1) *(k_2 + 1) ]]></description><category></category></item><item><title><![CDATA[埃氏筛与区间筛]]></title><link>https://blog.youkuaiyun.com/losing_Oier/article/details/120621128</link><guid>https://blog.youkuaiyun.com/losing_Oier/article/details/120621128</guid><author>losing_Oier</author><pubDate>Wed, 06 Oct 2021 09:19:13 +0800</pubDate><description><![CDATA[埃氏筛
原理
根据算术基本定理，每个大于1的数都可以分解成若干个质数的乘积，所以对于一个不是质数的数，只需判断它有质因数即可。埃氏筛（埃拉托斯特尼筛法）其实就是上述过程的逆过程：每枚举到一个质数便把这个质数的倍数打上不是质数的标记。
实现
具体如下：
//筛出1~n的质数
for(int i = 2; i * i &lt;= n; i++){ //只需枚举到sqrt(n)
		if(!v[i]){
			for(int j = i + i; j &lt;= n; j += i){
				v[j] = 1;]]></description><category></category></item><item><title><![CDATA[双向链表（C++数组实现）]]></title><link>https://blog.youkuaiyun.com/losing_Oier/article/details/119614906</link><guid>https://blog.youkuaiyun.com/losing_Oier/article/details/119614906</guid><author>losing_Oier</author><pubDate>Wed, 11 Aug 2021 20:11:20 +0800</pubDate><description><![CDATA[概念
双向链表也叫双链表，是链表的一种，它的每个数据结点中都有两个指针，分别指向直接后继和直接前驱。所以，从双向链表中的任意一个结点开始，都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表。（百度）
操作（以下红边为新加入的边，黑边为删除的边）
题外话- -由于窝不会用链表，所以才用数组实现的
用一个pre数组存储每一个节点的前驱（即前一个节点），next数组存储每一个节点的后驱（即后一个节点）。
删点
现在要将x节点删掉（如下图）。我们知道了x = pre [z] = next [y] ]]></description><category></category></item><item><title><![CDATA[证明：树是一种二分图]]></title><link>https://blog.youkuaiyun.com/losing_Oier/article/details/118582247</link><guid>https://blog.youkuaiyun.com/losing_Oier/article/details/118582247</guid><author>losing_Oier</author><pubDate>Thu, 08 Jul 2021 21:21:15 +0800</pubDate><description><![CDATA[题外话- -本蒟蒻在看到一些结论或者发现什么结论的时候总是喜欢自己证明一下。刷题的时候看到树和二分图结合起来，其实不用判断一棵树是不是二分图，因为它一定是！
我们都知道一颗n个节点的树有n-1条边，并且除根节点以外每个节点都只有一个父亲。二分图中，将顶点集合V分成两个互不相交的子集（A,B)，且每条边的两个顶点分别在A和B中。
证明：设G=(V,E)是一颗无根树。取树的任意一个节点为根节点，将这个节点放入一个顶点集合A中，那么就可以将这个节点的孩子节点放入另一个顶点集合B中……以此类推，能将一棵树的顶点集合]]></description><category></category></item><item><title><![CDATA[C++整蛊代码]]></title><link>https://blog.youkuaiyun.com/losing_Oier/article/details/118581297</link><guid>https://blog.youkuaiyun.com/losing_Oier/article/details/118581297</guid><author>losing_Oier</author><pubDate>Thu, 08 Jul 2021 20:06:41 +0800</pubDate><description><![CDATA[整蛊小代码（光标不动，重启可恢复）
#include &lt;windows.h&gt;
#include &lt;Winable.h&gt;
int main() {
	FreeConsole();
	while(1) BlockInput(true);
	return 0;
}


]]></description><category></category></item><item><title><![CDATA[OI 知识点（持续更新中）]]></title><link>https://blog.youkuaiyun.com/losing_Oier/article/details/118497715</link><guid>https://blog.youkuaiyun.com/losing_Oier/article/details/118497715</guid><author>losing_Oier</author><pubDate>Mon, 05 Jul 2021 20:21:54 +0800</pubDate><description><![CDATA[deque不仅支持队尾插入( dq.push_back(+元素) )和队尾弹出( dq.pop_back() )，还支持对头插入( dq.push_front(+元素) )和对头弹出( dq.pop_front() )因此在辗转相除法中，gcd(a,b)=gcd(b,a%b)，每次递归中的 “b” 都会小于上一个 “a” ，所以用欧几里得算法求a，b的最大公约数时的时间复杂度为 θ( log(a) )差异： 1、queue只支持队尾插入( q.push(+元素) )和队尾弹出( q.pop() )]]></description><category></category></item><item><title><![CDATA[markdown相关]]></title><link>https://blog.youkuaiyun.com/losing_Oier/article/details/118497429</link><guid>https://blog.youkuaiyun.com/losing_Oier/article/details/118497429</guid><author>losing_Oier</author><pubDate>Mon, 05 Jul 2021 20:07:17 +0800</pubDate><description><![CDATA[这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题，有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能，丰富你的文章UML 图表FLowchart流程图导出与导入导出导入
欢迎使用Markdown编辑器
你好！ 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar]]></description><category></category></item><item><title><![CDATA[高精加&&高精乘]]></title><link>https://blog.youkuaiyun.com/losing_Oier/article/details/107774751</link><guid>https://blog.youkuaiyun.com/losing_Oier/article/details/107774751</guid><author>losing_Oier</author><pubDate>Sat, 24 Oct 2020 16:41:04 +0800</pubDate><description><![CDATA[洛谷原题
洛谷博客题解

本蒟的思路就是高精乘+高精加，就是把高精乘的模板套上去接着套高精加的模板，b=c=i的阶乘。
话不多说，直接上代码：
#include&lt;iostream&gt;
#include&lt;cstring&gt;
using namespace std;
int n,a[90],b[90],c[90],f[90],d=0,len_a,len_b=1,len_c=1,len_ans,m=1;
string s;
int main(){
    cin&gt;&gt;n;
    b]]></description><category></category></item><item><title><![CDATA[康托展开&&逆康托展开 （C++小白版）]]></title><link>https://blog.youkuaiyun.com/losing_Oier/article/details/104407564</link><guid>https://blog.youkuaiyun.com/losing_Oier/article/details/104407564</guid><author>losing_Oier</author><pubDate>Thu, 20 Feb 2020 16:04:52 +0800</pubDate><description><![CDATA[和许多数论小白一样，每次做到数论题都是一脸懵逼 ，于是便刷起来数论题，没想到第一道入门题就看不懂题意，看到标签要用到康托展开。
这是个什么鬼？听都没听过。  于是就查了一下百度。
康托展开
百度上是这样介绍的：
康托展开是一个全排列到一个自然数的双射，常用于构建哈希表时的空间压缩。
… …好像看不懂，不过后面又说到了它的实质：
是计算当前排列在所有由小到大全排列中的顺序，因此是可逆的。
于是就理解...]]></description><category></category></item><item><title><![CDATA[邻接矩阵与邻接表（C++）]]></title><link>https://blog.youkuaiyun.com/losing_Oier/article/details/104031680</link><guid>https://blog.youkuaiyun.com/losing_Oier/article/details/104031680</guid><author>losing_Oier</author><pubDate>Sun, 19 Jan 2020 11:54:32 +0800</pubDate><description><![CDATA[说明
不管是在树还是图中，最基础的就是先建树（图）。
在这篇文章中吗，本蒟就简单介绍两种建图的方式 。
邻接矩阵
邻接矩阵能够让我们更加容易地表示两点之间的关系，如：a[x][y]可以直接或间接表示x到y点的距离或x能否走到y点（或其它意思）。不过，它的缺点就是消耗的空间较大（即10000个点就得建立一个10000*10000的二维数组）。
举个简单的例子：
输入格式
第一行输入n个点，m条边。
...]]></description><category></category></item></channel></rss>