<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Rainfoo的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Rainfoo</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Rainfoo]]></copyright><item><title><![CDATA[Markdown latex语法合集]]></title><link>https://blog.youkuaiyun.com/Rainfoo/article/details/122216424</link><guid>https://blog.youkuaiyun.com/Rainfoo/article/details/122216424</guid><author>Rainfoo</author><pubDate>Wed, 29 Dec 2021 15:09:07 +0800</pubDate><description><![CDATA[极限：lim⁡x→∞1n(n+1)\lim\limits_{x\rightarrow\infty}\frac{1}{n(n+1)}x→∞lim​n(n+1)1​
积分：∫01x2 dx\int_0^1 {x^2} \,{\rm d}x∫01​x2dx

]]></description><category></category></item><item><title><![CDATA[【计算几何】初步知识]]></title><link>https://blog.youkuaiyun.com/Rainfoo/article/details/113785458</link><guid>https://blog.youkuaiyun.com/Rainfoo/article/details/113785458</guid><author>Rainfoo</author><pubDate>Wed, 10 Feb 2021 20:28:44 +0800</pubDate><description><![CDATA[前置知识点
(1) pi = acos(-1);
(2) 余弦定理 c^2 = a^2 + b^2 - 2abcos(t)


浮点数的比较
const double eps = 1e-8;
int sign(double x)  // 符号函数
{
if (fabs(x) &lt; eps) return 0;
if (x &lt; 0) return -1;
return 1;
}
int cmp(double x, double y)  // 比较函数
{
if (fabs(x - y) &lt;..]]></description><category></category></item><item><title><![CDATA[【主席树】区间查询第k大]]></title><link>https://blog.youkuaiyun.com/Rainfoo/article/details/113770273</link><guid>https://blog.youkuaiyun.com/Rainfoo/article/details/113770273</guid><author>Rainfoo</author><pubDate>Tue, 09 Feb 2021 14:33:25 +0800</pubDate><description><![CDATA[洛谷P3834：
#include&lt;bits/stdc++.h&gt;
#pragma GCC optimize(2)
#define ll long long
#define rep(i,a,n) for(int i=a;i&lt;=n;i++)
#define per(i,n,a) for(int i=n;i&gt;=a;i--)
#define endl '\n'
#define eps 0.000000001
#define pb push_back
#define mem(a,b) mems]]></description><category></category></item><item><title><![CDATA[01字典树模板]]></title><link>https://blog.youkuaiyun.com/Rainfoo/article/details/113549237</link><guid>https://blog.youkuaiyun.com/Rainfoo/article/details/113549237</guid><author>Rainfoo</author><pubDate>Tue, 02 Feb 2021 12:21:01 +0800</pubDate><description><![CDATA[const int maxn=1e5+5;
struct Trie{
	int val[maxn*31],tree[maxn*31][2],L,root;
	int newnode(){
		mem(tree[L],-1);
		return L++;
	}
	void init(){
		L=0;
		root=newnode();
	}
	void update(int x,int key){
		int now=root;
		for(int i=31;i&gt;=0;i--){
			int p=(]]></description><category></category></item><item><title><![CDATA[矩阵快速幂模板]]></title><link>https://blog.youkuaiyun.com/Rainfoo/article/details/113447183</link><guid>https://blog.youkuaiyun.com/Rainfoo/article/details/113447183</guid><author>Rainfoo</author><pubDate>Sat, 30 Jan 2021 21:50:19 +0800</pubDate><description><![CDATA[const ll mod = 1e9 + 7;
const int N = _____;//输入矩阵大小N
struct Mat{
    ll m[N+1][N+1];
};
Mat a,e;
Mat Mul(Mat x,Mat y){
    Mat ans;
    for(int i=1;i&lt;=N;++i){
        for(int j=1;j&lt;=N;++j){
            ans.m[i][j]=0;
            for(int k=1;k&lt;=N;]]></description><category></category></item><item><title><![CDATA[【动态规划】LIS O(nlogn)]]></title><link>https://blog.youkuaiyun.com/Rainfoo/article/details/109048887</link><guid>https://blog.youkuaiyun.com/Rainfoo/article/details/109048887</guid><author>Rainfoo</author><pubDate>Tue, 13 Oct 2020 12:58:20 +0800</pubDate><description><![CDATA[#include&lt;bits/stdc++.h&gt;
#pragma GCC optimize(2)
#define ll long long
#define rep(i,a,n) for(int i=a;i&lt;=n;i++)
#define per(i,n,a) for(int i=n;i&gt;=a;i--)
#define endl '\n'
#define eps 0.000000001
#define pb push_back
#define mem(a,b) memset(a,b,si]]></description><category></category></item><item><title><![CDATA[【数据结构】单调栈/单调队列]]></title><link>https://blog.youkuaiyun.com/Rainfoo/article/details/108918821</link><guid>https://blog.youkuaiyun.com/Rainfoo/article/details/108918821</guid><author>Rainfoo</author><pubDate>Sun, 04 Oct 2020 14:38:09 +0800</pubDate><description><![CDATA[单调栈
#include&lt;bits/stdc++.h&gt;
#pragma GCC optimize(2)
#define ll long long
#define rep(i,a,n) for(int i=a;i&lt;=n;i++)
#define per(i,n,a) for(int i=n;i&gt;=a;i--)
#define endl '\n'
#define eps 0.000000001
#define pb push_back
#define mem(a,b) memset(a,]]></description><category></category></item><item><title><![CDATA[【图论】A*搜索(第k短路)]]></title><link>https://blog.youkuaiyun.com/Rainfoo/article/details/108652742</link><guid>https://blog.youkuaiyun.com/Rainfoo/article/details/108652742</guid><author>Rainfoo</author><pubDate>Thu, 17 Sep 2020 20:42:54 +0800</pubDate><description><![CDATA[POJ2449
#include&lt;bits/stdc++.h&gt;
#pragma GCC optimize(2)
#define ll long long
#define rep(i,a,n) for(int i=a;i&lt;=n;i++)
#define per(i,n,a) for(int i=n;i&gt;=a;i--)
#define endl '\n'
#define eps 0.000000001
#define pb push_back
#define mem(a,b) memse]]></description><category></category></item><item><title><![CDATA[【图论】网络流一些模板]]></title><link>https://blog.youkuaiyun.com/Rainfoo/article/details/108296081</link><guid>https://blog.youkuaiyun.com/Rainfoo/article/details/108296081</guid><author>Rainfoo</author><pubDate>Sat, 29 Aug 2020 16:22:12 +0800</pubDate><description><![CDATA[AcWing.2188 无源汇上下界可行流
#include&lt;bits/stdc++.h&gt;
#pragma GCC optimize(2)
#define ll long long
#define rep(i,a,n) for(int i=a;i&lt;=n;i++)
#define per(i,n,a) for(int i=n;i&gt;=a;i--)
#define endl '\n'
#define eps 0.000000001
#define pb push_back
#define ]]></description><category></category></item><item><title><![CDATA[【字符串】AC自动机]]></title><link>https://blog.youkuaiyun.com/Rainfoo/article/details/107752467</link><guid>https://blog.youkuaiyun.com/Rainfoo/article/details/107752467</guid><author>Rainfoo</author><pubDate>Sun, 02 Aug 2020 22:07:06 +0800</pubDate><description><![CDATA[模板洛谷P3808：
#include&lt;bits/stdc++.h&gt;
#pragma GCC optimize(2)
#define ll long long
#define rep(i,a,n) for(int i=a;i&lt;=n;i++)
#define per(i,n,a) for(int i=n;i&gt;=a;i--)
#define endl '\n'
#define eps 0.000000001
#define pb push_back
#define mem(a,b) me]]></description><category></category></item><item><title><![CDATA[【字符串】关于循环字符串字典序最大最小位置表示法]]></title><link>https://blog.youkuaiyun.com/Rainfoo/article/details/107695454</link><guid>https://blog.youkuaiyun.com/Rainfoo/article/details/107695454</guid><author>Rainfoo</author><pubDate>Thu, 30 Jul 2020 17:39:22 +0800</pubDate><description><![CDATA[hdu3374
题意：给出一个字符串，依次左移一个单位形成一堆字符串，求其字典序最小和最大的字符串需要左移多少位，以及一共有几个这样的字符串。
题目分析：首先可以确定两个字符串出现的次数应该相同。由于假设最小的左移m位得到最大的话，那么所有相同的最小字符串左移m位都会得到最大串。对于求解最小最大串的位置可以用最小最大表示法。
最大最小表示法：总的来说就是这道题的模板，求一个循环串字典序的最小和最大的位置。算法整体思想很简单，以最小为例如题，指针i，j分别代表比较的两个串的串首位置，这两个位置是互相更新的。当]]></description><category></category></item><item><title><![CDATA[【数据结构】带权并查集]]></title><link>https://blog.youkuaiyun.com/Rainfoo/article/details/107683696</link><guid>https://blog.youkuaiyun.com/Rainfoo/article/details/107683696</guid><author>Rainfoo</author><pubDate>Thu, 30 Jul 2020 10:20:01 +0800</pubDate><description><![CDATA[hdu3038模板
#include&lt;bits/stdc++.h&gt;
#define ll long long
#define rep(i,a,n) for(int i=a;i&lt;=n;i++)
#define per(i,n,a) for(int i=n;i&gt;=a;i--)
#define endl '\n'
#define eps 0.000000001
#define pb push_back
#define mem(a,b) memset(a,b,sizeof(a))
#defi]]></description><category></category></item><item><title><![CDATA[【字符串】扩展KMP]]></title><link>https://blog.youkuaiyun.com/Rainfoo/article/details/107646161</link><guid>https://blog.youkuaiyun.com/Rainfoo/article/details/107646161</guid><author>Rainfoo</author><pubDate>Tue, 28 Jul 2020 21:48:52 +0800</pubDate><description><![CDATA[板子：HDU2594
#include&lt;iostream&gt;
#include&lt;cstring&gt;
#include&lt;algorithm&gt;
#include&lt;vector&gt;
#include&lt;cmath&gt;
#define ll long long
#define rep(i,a,n) for(int i=a;i&lt;=n;i++)
#define per(i,n,a) for(int i=n;i&gt;=a;i--)
#define endl '\n]]></description><category></category></item><item><title><![CDATA[【图论】最短路中(最短距离计数+最短距离最大顶点费用)]]></title><link>https://blog.youkuaiyun.com/Rainfoo/article/details/107441877</link><guid>https://blog.youkuaiyun.com/Rainfoo/article/details/107441877</guid><author>Rainfoo</author><pubDate>Sun, 19 Jul 2020 10:43:02 +0800</pubDate><description><![CDATA[问题一：最短距离计数
例题:(洛谷P1608)    https://www.luogu.com.cn/problem/P1608
坑点：去重边
#include&lt;bits/stdc++.h&gt;
#define ll long long
#define white 0
#define black 1
#define grey  2
#define endl '\n'
#define INF 0x3f3f3f3f3f
#define IO ios::sync_with_stdio(false);ci]]></description><category></category></item><item><title><![CDATA[【图论】差分约束]]></title><link>https://blog.youkuaiyun.com/Rainfoo/article/details/107376646</link><guid>https://blog.youkuaiyun.com/Rainfoo/article/details/107376646</guid><author>Rainfoo</author><pubDate>Thu, 16 Jul 2020 09:57:31 +0800</pubDate><description><![CDATA[洛谷P5960:https://www.luogu.com.cn/problem/P5960
#include&lt;bits/stdc++.h&gt;
#define ll long long
#define rep(i,a,n) for(int i=a;i&lt;=n;i++)
#define per(i,n,a) for(int i=n;i&gt;=a;i--)
#define endl '\n'
#define eps 0.000000001
#define pb push_back
#define]]></description><category></category></item><item><title><![CDATA[【图论】边/点双联通分量]]></title><link>https://blog.youkuaiyun.com/Rainfoo/article/details/107339918</link><guid>https://blog.youkuaiyun.com/Rainfoo/article/details/107339918</guid><author>Rainfoo</author><pubDate>Tue, 14 Jul 2020 15:51:49 +0800</pubDate><description><![CDATA[边双连通分量:hihocoder1184
#include&lt;bits/stdc++.h&gt;
#define ll long long
#define rep(i,a,n) for(int i=a;i&lt;=n;i++)
#define per(i,n,a) for(int i=n;i&gt;=a;i--)
#define endl '\n'
#define eps 0.000000001
#define pb push_back
#define mem(a,b) memset(a,b,sizeo]]></description><category></category></item><item><title><![CDATA[【图论】2-SAT]]></title><link>https://blog.youkuaiyun.com/Rainfoo/article/details/107311776</link><guid>https://blog.youkuaiyun.com/Rainfoo/article/details/107311776</guid><author>Rainfoo</author><pubDate>Mon, 13 Jul 2020 10:21:05 +0800</pubDate><description><![CDATA[模板：洛谷P4782
#include&lt;bits/stdc++.h&gt;
#define ll long long
#define rep(i,a,n) for(int i=a;i&lt;=n;i++)
#define per(i,n,a) for(int i=n;i&gt;=a;i--)
#define endl '\n'
#define eps 0.000000001
#define pb push_back
#define mem(a,b) memset(a,b,sizeof(a))
#def]]></description><category></category></item><item><title><![CDATA[【图论】树上启发式合并]]></title><link>https://blog.youkuaiyun.com/Rainfoo/article/details/106605984</link><guid>https://blog.youkuaiyun.com/Rainfoo/article/details/106605984</guid><author>Rainfoo</author><pubDate>Sun, 07 Jun 2020 19:23:35 +0800</pubDate><description><![CDATA[树上启发式合并(DSU on Tree)，是一个在O(nlogn) 时间内解决许多树上问题的有力算法。
cf600E板子
#include&lt;bits/stdc++.h&gt;
#define ll long long
#define rep(i,a,n) for(int i=a;i&lt;=n;i++)
#define per(i,n,a) for(int i=n;i&gt;=a;i--)
#define endl '\n'
#define mem(a,b) memset(a,b,sizeof(a))]]></description><category></category></item><item><title><![CDATA[【数论】线性求逆元]]></title><link>https://blog.youkuaiyun.com/Rainfoo/article/details/106592955</link><guid>https://blog.youkuaiyun.com/Rainfoo/article/details/106592955</guid><author>Rainfoo</author><pubDate>Sat, 06 Jun 2020 20:23:52 +0800</pubDate><description><![CDATA[ine[1]=1;
    for(int i=2;i&lt;mod;i++){
        int a=mod/i,b=mod%i;
        ine[i]=(ine[b]*(-a)%mod+mod)%mod;	
	}


]]></description><category></category></item><item><title><![CDATA[【图论】点分治]]></title><link>https://blog.youkuaiyun.com/Rainfoo/article/details/106557080</link><guid>https://blog.youkuaiyun.com/Rainfoo/article/details/106557080</guid><author>Rainfoo</author><pubDate>Thu, 04 Jun 2020 20:05:45 +0800</pubDate><description><![CDATA[洛谷P3806
#include&lt;bits/stdc++.h&gt;
#define ll long long
#define rep(i,a,n) for(int i=a;i&lt;=n;i++)
#define per(i,n,a) for(int i=n;i&gt;=a;i--)
#define endl '\n'
#define mem(a,b) memset(a,b,sizeof(a))
#define IO ios::sync_with_stdio(false);cin.tie(0);
u]]></description><category></category></item></channel></rss>