<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Darkside的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/InDarkside</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; InDarkside]]></copyright><item><title><![CDATA[Mac 使用指南]]></title><link>https://blog.youkuaiyun.com/InDarkside/article/details/144636342</link><guid>https://blog.youkuaiyun.com/InDarkside/article/details/144636342</guid><author>InDarkside</author><pubDate>Sat, 21 Dec 2024 21:24:00 +0800</pubDate><description><![CDATA[Better365skim-pdfvscode。]]></description><category></category></item><item><title><![CDATA[AtCoderRegularContest105 E]]></title><link>https://blog.youkuaiyun.com/InDarkside/article/details/125855658</link><guid>https://blog.youkuaiyun.com/InDarkside/article/details/125855658</guid><author>InDarkside</author><pubDate>Mon, 18 Jul 2022 17:10:08 +0800</pubDate><description><![CDATA[ARC105 E]]></description><category></category></item><item><title><![CDATA[Ural 1682 做题笔记]]></title><link>https://blog.youkuaiyun.com/InDarkside/article/details/122839179</link><guid>https://blog.youkuaiyun.com/InDarkside/article/details/122839179</guid><author>InDarkside</author><pubDate>Wed, 09 Feb 2022 12:01:41 +0800</pubDate><description><![CDATA[#include&lt;cstdio&gt;
#include&lt;cstring&gt;
#include&lt;algorithm&gt;
#include&lt;vector&gt;
using namespace std;

template&lt;int MaxN&gt;
struct UnionSets{
	int Dad[MaxN],limit;
	inline void Clear(){
		for(int i=0;i&lt;=limit;i++)
			Dad[i]=i;
	}
	inl]]></description><category></category></item><item><title><![CDATA[NTT多项式板子]]></title><link>https://blog.youkuaiyun.com/InDarkside/article/details/120929843</link><guid>https://blog.youkuaiyun.com/InDarkside/article/details/120929843</guid><author>InDarkside</author><pubDate>Sun, 24 Oct 2021 09:21:46 +0800</pubDate><description><![CDATA[#include&lt;cstdio&gt;
#include&lt;cstring&gt;
#include&lt;algorithm&gt;
using namespace std;
int input=1000000;
char InPut[1000005];
inline char GetChar()
{
    if(input&gt;=1000000)fread(InPut,1,1000000,stdin),input=0;
    return InPut[input++];
}
#defin]]></description><category></category></item><item><title><![CDATA[SizeBalancedTrees]]></title><link>https://blog.youkuaiyun.com/InDarkside/article/details/120771218</link><guid>https://blog.youkuaiyun.com/InDarkside/article/details/120771218</guid><author>InDarkside</author><pubDate>Thu, 14 Oct 2021 19:45:46 +0800</pubDate><description><![CDATA[前言
BST一直都是卡常的领域，为了不被卡常，我们需要一个更平衡的BST，SizeBalanceTree就是不错的选择。
旋转
众所周知，平衡树分为两类，非旋平衡树和旋转平衡树，
SizeBalanceTree是依靠旋转来保持平衡的。
左旋

左旋的意思就是把当前节点移到左边去，同时保持树的中序遍历不变，右旋也是同理(代码与左旋对称)，注意保持树的中序遍历不变是非常重要的，它决定了树的搜索性质是否变化；
右旋

代码
inline void Rotate(int &amp;now,bool flag)
{
]]></description><category></category></item><item><title><![CDATA[FastIO]]></title><link>https://blog.youkuaiyun.com/InDarkside/article/details/120632586</link><guid>https://blog.youkuaiyun.com/InDarkside/article/details/120632586</guid><author>InDarkside</author><pubDate>Thu, 07 Oct 2021 09:21:26 +0800</pubDate><description><![CDATA[const int MaxS=2100;
int limit,pos;
char St[MaxS];
inline int GetLine(){
	pos=0;limit=0;char ch=getchar();
	while(ch!='\n'&amp;&amp;ch!='\r'){
		St[limit++]=ch;
		ch=getchar();
	}
	St[limit]='\n';
	return limit;
}
template&lt;typename inttype&gt;
inline in]]></description><category></category></item><item><title><![CDATA[动态规划的优化]]></title><link>https://blog.youkuaiyun.com/InDarkside/article/details/120621006</link><guid>https://blog.youkuaiyun.com/InDarkside/article/details/120621006</guid><author>InDarkside</author><pubDate>Wed, 06 Oct 2021 09:36:00 +0800</pubDate><description><![CDATA[动态规划的优化1.01.01.0 单调队列\单调栈优化1.0.01.0.01.0.0 例题引入1.0.11.0.11.0.1 分析
1.01.01.0 单调队列\单调栈优化
1.0.01.0.01.0.0 例题引入

有 NNN 块木板从左到右排成一行 ,,, 有 MMM 个工匠对这些木板进行粉刷 ,,, 每块木板至多被粉刷一次 ...

第 iii 个木匠要么不粉刷 ,,, 要么粉刷包含木板 SiS_iSi​ 的 ,,, 长度不超过 LiL_iLi​ 的连续的一段木板 ,,, 每粉刷一块可以得到 PiP_]]></description><category></category></item><item><title><![CDATA[背包模型]]></title><link>https://blog.youkuaiyun.com/InDarkside/article/details/120566454</link><guid>https://blog.youkuaiyun.com/InDarkside/article/details/120566454</guid><author>InDarkside</author><pubDate>Thu, 30 Sep 2021 14:51:13 +0800</pubDate><description><![CDATA[背包模型1.01.01.0 010101背包问题2.02.02.0 完全背包问题3.03.03.0 多重背包问题3.0.13.0.13.0.1 直接拆分法3.0.23.0.23.0.2 二进制拆分法3.0.33.0.33.0.3 单调队列优化3.0.43.0.43.0.4 Acwing2814.04.04.0 分组背包问题
1.01.01.0 010101背包问题
每一个物品只能取 111 次 ,C++,C++,C++ 模板 :::
#include&lt;cstdio&gt;
#include&lt;cs]]></description><category></category></item><item><title><![CDATA[二分图匹配的可行边和必须边]]></title><link>https://blog.youkuaiyun.com/InDarkside/article/details/120549219</link><guid>https://blog.youkuaiyun.com/InDarkside/article/details/120549219</guid><author>InDarkside</author><pubDate>Wed, 29 Sep 2021 20:18:31 +0800</pubDate><description><![CDATA[定义

给定一张二分图 ,,, 其最大匹配方案不一定是唯一的 ... 若任何一个最大匹配方案的匹配边都包括 (x,y),(x,y),(x,y), 则称 (x,y)(x,y)(x,y) 为二分图匹配的必须边 ... 若 (x,y)(x,y)(x,y) 至少属于一个最大匹配的方案 ,,, 则称 (x,y)(x,y)(x,y) 为二分图匹配的可行边 ...

解法
保证完备匹配时
我们先求出任意一组完备匹配的方案 ,,, 此时所有节点都是匹配点 ...
根据定义 ,,, (x,y)(x,y)(x,y) 是必须边 ]]></description><category></category></item><item><title><![CDATA[欧拉路和哈密顿路]]></title><link>https://blog.youkuaiyun.com/InDarkside/article/details/120536600</link><guid>https://blog.youkuaiyun.com/InDarkside/article/details/120536600</guid><author>InDarkside</author><pubDate>Tue, 28 Sep 2021 20:45:17 +0800</pubDate><description><![CDATA[欧拉路

欧拉路是指 ::: 存在这样一种图 ,,, 可以从其中一点出发 ,,, 不重复地走完其所有的边 ... 如果欧拉路的起点与终点相同 ,,, 则称之为欧拉回路 ...

欧拉路存在的充要条件如下 :::


图是连通的 ,,, 若不连通不可能一次性遍历所有边。


对于无向图 :::



有且仅有两个点 ,,, 与其相连的边数为奇数 ,,, 其他点相连边数皆为偶数 ;;;
对于两个奇数点 ,,, 一个为起点 ,,, 一个为终点 ... 起点需要出去 ,,, 终点需要进入 ,,, 故其必然与奇数个边]]></description><category></category></item><item><title><![CDATA[有向无环图的最小路径点覆盖]]></title><link>https://blog.youkuaiyun.com/InDarkside/article/details/120532719</link><guid>https://blog.youkuaiyun.com/InDarkside/article/details/120532719</guid><author>InDarkside</author><pubDate>Tue, 28 Sep 2021 19:03:54 +0800</pubDate><description><![CDATA[有向无环图的最小路径点覆盖问题解法1.1.1. 拆点二分图定义2.2.2. 定理1113.3.3. 拓展问题
问题

给定一张有向无环图 ,,, 要求用尽量少的不相交的简单路径((( 不是有向边 ))) ,,, 覆盖有向无环图的所有顶点 ((( 也就是每个顶点恰好被覆盖一次 ).).). 这个问题被称为有向无环图的最小路径点覆盖...

解法
1.1.1. 拆点二分图定义
设原来的有向无环图为 G=(V,E),n=∣V∣.G=(V,E),n=|V|.G=(V,E),n=∣V∣. 把 GGG 中的每一个 xx]]></description><category></category></item><item><title><![CDATA[2-Satisfiability专题]]></title><link>https://blog.youkuaiyun.com/InDarkside/article/details/120517798</link><guid>https://blog.youkuaiyun.com/InDarkside/article/details/120517798</guid><author>InDarkside</author><pubDate>Mon, 27 Sep 2021 22:08:54 +0800</pubDate><description><![CDATA[2-Satisfiability专题模型判定构图方法
模型
有 NNN 个变量 ,,, 每个变量只有两种可能的取值 ... 在给定 MMM 个条件 ,,, 每个条件都是对两个变量的取值限制 ... 求解 ::: 是否存在对 NNN 个变量的合法赋值 ,,, 使 MMM 个条件均得到满足 ...
设一个变量 Ai(1≤i≤N)A_i(1\le i\le N)Ai​(1≤i≤N) 的两种取值分别是 Ai,0A_{i,0}Ai,0​ 和 Ai,1.A_{i,1}.Ai,1​. 在 2−Sat2-Sat2−Sat ]]></description><category></category></item><item><title><![CDATA[欧拉简单多面体定理]]></title><link>https://blog.youkuaiyun.com/InDarkside/article/details/120509740</link><guid>https://blog.youkuaiyun.com/InDarkside/article/details/120509740</guid><author>InDarkside</author><pubDate>Mon, 27 Sep 2021 15:49:58 +0800</pubDate><description><![CDATA[转载于 ::: 这里
简单多面体欧拉定理 ::: 对于简单多面体 ,,, 其各维对象数总满足一定的数学关系 ,,, 在三维空间中设其顶点 ,,, 边和面的数量分别为 V,E,FV,E,FV,E,F 则欧拉定理可表示为 :::
V−E+F=2
V - E + F = 2
V−E+F=2
对多面体的顶点数n进行数学归纳 :::


顶点最少的多面体为四面体 ,,, n = 4 ((( 三棱锥 ),),), 验证得 V−E+F=4−6+4=2,V-E+F=4-6+4=2,V−E+F=4−6+4=2, 命题成立 .]]></description><category></category></item><item><title><![CDATA[关于编程的小思考]]></title><link>https://blog.youkuaiyun.com/InDarkside/article/details/120502246</link><guid>https://blog.youkuaiyun.com/InDarkside/article/details/120502246</guid><author>InDarkside</author><pubDate>Mon, 27 Sep 2021 09:43:16 +0800</pubDate><description><![CDATA[思考算法
算法
算法是一系列指令的集合体 ,,, 我们必须保证输入算法的对象是算法能够处理的 ...

]]></description><category></category></item><item><title><![CDATA[DevCpp运用]]></title><link>https://blog.youkuaiyun.com/InDarkside/article/details/120471859</link><guid>https://blog.youkuaiyun.com/InDarkside/article/details/120471859</guid><author>InDarkside</author><pubDate>Sat, 25 Sep 2021 15:26:01 +0800</pubDate><description><![CDATA[CompilerOptionsCompiler OptionsCompilerOptions


第一个窗口是编译选项 ,,, -std=c++14 是 C++C++C++ 的编译标准 ,,, -Wall 和 -Werror 是反映编译警告的编译选项 ...

这里是图形化界面 ,,, DevCpp11DevCpp11DevCpp11 有中文版 ...

选项 -pg能产生供 gprofgprofgprof 剖析用的可执行文件 ,,, gprofgprofgprof 是 LinuxLinuxLinux 下.]]></description><category></category></item><item><title><![CDATA[差分约束问题]]></title><link>https://blog.youkuaiyun.com/InDarkside/article/details/120463764</link><guid>https://blog.youkuaiyun.com/InDarkside/article/details/120463764</guid><author>InDarkside</author><pubDate>Fri, 24 Sep 2021 22:18:26 +0800</pubDate><description><![CDATA[差分约束问题模型构图方法
模型
差分约束系统是一种特殊的 NNN 元一次不等式组 ... 包含 NNN 个变量 x1∼xnx_1\sim x_nx1​∼xn​ 以及 MMM 个约束条件 ,,, 每个约束条件都是由两个变量作差构成的 ,,, 形如 xi−xj≤cxx_i-x_j\le c_xxi​−xj​≤cx​ ,,, 其中 cxc_xcx​ 是一个常数 ,,, 1≤i,j≤N,1≤k≤M.1\le i,j\le N,1\le k\le M.1≤i,j≤N,1≤k≤M. 求一组解 xi=ai,x_i=a_i]]></description><category></category></item><item><title><![CDATA[01分数规划专题]]></title><link>https://blog.youkuaiyun.com/InDarkside/article/details/120451765</link><guid>https://blog.youkuaiyun.com/InDarkside/article/details/120451765</guid><author>InDarkside</author><pubDate>Fri, 24 Sep 2021 11:41:25 +0800</pubDate><description><![CDATA[01分数规划专题问题
问题
给定整数 a1,a2,⋯ ,ana_1,a_2,\cdots,a_na1​,a2​,⋯,an​ 以及  b1,b2,⋯ ,bnb_1,b_2,\cdots,b_nb1​,b2​,⋯,bn​ ,,, 求一组解 xi,(1≤i≤n,xi∈{0,1}),x_i,(1\le i\le n,x_i\in \{0,1\}),xi​,(1≤i≤n,xi​∈{0,1}), 使下式最大化 :::
Σi=1nai∗xiΣi=1nbi∗xi
\frac{\Sigma^n_{i=1}a_i*x_i}{\]]></description><category></category></item><item><title><![CDATA[基环树专题]]></title><link>https://blog.youkuaiyun.com/InDarkside/article/details/120447252</link><guid>https://blog.youkuaiyun.com/InDarkside/article/details/120447252</guid><author>InDarkside</author><pubDate>Fri, 24 Sep 2021 08:07:04 +0800</pubDate><description><![CDATA[基环树专题最近公共祖先直径
最近公共祖先
Acwing&nbsp;392Acwing~392Acwing&nbsp;392
const int MaxN=5e5+1e4;

int Head[MaxN],Dp[MaxN][21],Belong[MaxN],Dad[MaxN];
inline int GetDad(int x){
	return x==Dad[x]?x:Dad[x]=GetDad(Dad[x]);
}
inline void Union(int x,int y){
	x=GetDad(x);y]]></description><category></category></item><item><title><![CDATA[P4408 [NOI2003] 逃学的小孩 题解]]></title><link>https://blog.youkuaiyun.com/InDarkside/article/details/120441490</link><guid>https://blog.youkuaiyun.com/InDarkside/article/details/120441490</guid><author>InDarkside</author><pubDate>Thu, 23 Sep 2021 19:38:02 +0800</pubDate><description><![CDATA[目录贪心及其证明
贪心及其证明
设 A,BA,BA,B 为树直径的端点 ,,, Distx,yDist_{x,y}Distx,y​ 为树上两点的距离 ,,, 则答案为 ∀x,y,k∈T,max⁡(min⁡(Distx,k,Disty,k)+Distx,y).\forall x,y,k\in T,\max(\min(Dist_{x,k},Dist_{y,k})+Dist_{x,y}).∀x,y,k∈T,max(min(Distx,k​,Disty,k​)+Distx,y​).
分两种情况证明 ,,, 其中 A]]></description><category></category></item><item><title><![CDATA[最短路专题]]></title><link>https://blog.youkuaiyun.com/InDarkside/article/details/120422671</link><guid>https://blog.youkuaiyun.com/InDarkside/article/details/120422671</guid><author>InDarkside</author><pubDate>Wed, 22 Sep 2021 20:56:53 +0800</pubDate><description><![CDATA[最短路专题最短路FloydFloydFloyd 算法BellmanFordBellmanFordBellmanFord 算法判负环BellmanFordBfsBellmanFordBfsBellmanFordBfs 算法判负环DijkstraDijkstraDijkstra 算法正权最短路原始对偶算法KthPathKthPathKthPath 问题
最短路
FloydFloydFloyd 算法
BellmanFordBellmanFordBellmanFord 算法
判负环
BellmanFordBfsBe]]></description><category></category></item></channel></rss>