<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ShadowGhostH的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ShadowGhostH</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ShadowGhostH]]></copyright><item><title><![CDATA[【转载】LaTeX符号大全]]></title><link>https://blog.youkuaiyun.com/ShadowGhostH/article/details/116954263</link><guid>https://blog.youkuaiyun.com/ShadowGhostH/article/details/116954263</guid><author>ShadowGhostH</author><pubDate>Mon, 17 May 2021 23:31:16 +0800</pubDate><description><![CDATA[转载于：https://blog.youkuaiyun.com/wangmeitingaa/article/details/88825621

        
                
                    
                        
                    
                    

 文章目录
 1、几个注意事项2、文本/数学模式通用符号3、希腊字母4、二元关系符5、二元运算符6、巨算符7、数学重音符号8、箭头9、作为重音的箭头符]]></description><category></category></item><item><title><![CDATA[主席树 总结]]></title><link>https://blog.youkuaiyun.com/ShadowGhostH/article/details/88786478</link><guid>https://blog.youkuaiyun.com/ShadowGhostH/article/details/88786478</guid><author>ShadowGhostH</author><pubDate>Mon, 25 Mar 2019 10:48:20 +0800</pubDate><description><![CDATA[主席树
（总结主要是为了给自己看，了解用法，主席树的基本原理和写法请出门左转dalao多多）
思路
在之前写博客的时候曾经说了一句，【线段树的可减性】，用这句话来解释线段树的原理。在之后的学习过程中发现这句话不太准确。
主席树即可持久化线段树，它可以记录对线段树修改过程中，每一次修改时的状态，方便之后回退回当前状态。而同时，对于每一次修改，我们通过节点的重用，尽可能得减少空间开销，因为在单点修改时...]]></description><category></category></item><item><title><![CDATA[SPOJ COT 树上简单路区间第k大（主席树 + lca）]]></title><link>https://blog.youkuaiyun.com/ShadowGhostH/article/details/88711157</link><guid>https://blog.youkuaiyun.com/ShadowGhostH/article/details/88711157</guid><author>ShadowGhostH</author><pubDate>Thu, 21 Mar 2019 11:49:09 +0800</pubDate><description><![CDATA[题目
题意
给出一棵 nnn 个节点的数，每个节点有一个权值。之后有 mmm 次询问，每次询问 u,v,ku, v, ku,v,k 表示，树上 uuu 到 kkk 的简单路径上，第 kkk 大的权值是多少
思路
一道图论+数据结构的特别有意思的题目，充分利用了主席树可减的特点。我们查询简单路径 (u,v)(u, v)(u,v) 时，可以通过 dfsdfsdfs 序建立主席树。而路径路径上的信息就是...]]></description><category></category></item><item><title><![CDATA[hdu 6464 （splay）（离线+离散化+权值线段树）]]></title><link>https://blog.youkuaiyun.com/ShadowGhostH/article/details/88673226</link><guid>https://blog.youkuaiyun.com/ShadowGhostH/article/details/88673226</guid><author>ShadowGhostH</author><pubDate>Tue, 19 Mar 2019 21:05:37 +0800</pubDate><description><![CDATA[题目
题意
操作 111 每次可以加入 xxx 个 yyy，操作 222 查询第 xxx 大的数到第 yyy 大的数的区间和
思路
splay
动态加点，查询第 xxx 大和第 yyy 大的元素后，通过旋转操作放在一个子树当中，很快的求出区间和，不需要离散化，操作略复杂
离线+离散化+权值线段树
通过离线可以把 1e91e91e9 的数据离散化到 1e51e51e5 的区间中，得到了这种映射关系之...]]></description><category></category></item><item><title><![CDATA[POJ 2104 区间第k大 主席树（模板）]]></title><link>https://blog.youkuaiyun.com/ShadowGhostH/article/details/88668503</link><guid>https://blog.youkuaiyun.com/ShadowGhostH/article/details/88668503</guid><author>ShadowGhostH</author><pubDate>Tue, 19 Mar 2019 17:50:32 +0800</pubDate><description><![CDATA[题目
题意
查询区间范围内，第 kkk 大的数
思路
按照数列顺序依次加入，构建可持久化线段树（主席树），由于线段树的可减性，能够得到对应区间范围内的线段树
主席树的模板题了
代码
int cnt, root[maxn], a[maxn];

struct Node{
    int l, r, sum;
}T[maxn*40];

vector&lt;int&gt; v;
int getid(i...]]></description><category></category></item><item><title><![CDATA[Codeforces Round #473 (Div. 2) (A-E) (水题 + 并查集 + 构造 + 分解因数 + 贪心)]]></title><link>https://blog.youkuaiyun.com/ShadowGhostH/article/details/83751206</link><guid>https://blog.youkuaiyun.com/ShadowGhostH/article/details/83751206</guid><author>ShadowGhostH</author><pubDate>Mon, 05 Nov 2018 17:20:16 +0800</pubDate><description><![CDATA[A
题意
给出一个数 nnn，两人每次可以选择一个数 aaa，使得 n=n−an = n - an=n−a。其中a≥1a \geq 1a≥1 且第一个人选的a应为偶数，第二个人选的应为奇数，谁不能选的时候为负。谁不能操作为负，问谁能赢。
思路
判断 nnn 的奇偶性即可，先手偶数不改变奇偶性，后手奇数改变奇偶性，当 n==0n==0n==0 时游戏结束，也就是说仅判断 nnn 的奇偶性即可。
代码...]]></description><category></category></item><item><title><![CDATA[BZOJ 3224 普通平衡树（splay 模板）]]></title><link>https://blog.youkuaiyun.com/ShadowGhostH/article/details/83620296</link><guid>https://blog.youkuaiyun.com/ShadowGhostH/article/details/83620296</guid><author>ShadowGhostH</author><pubDate>Thu, 01 Nov 2018 14:46:37 +0800</pubDate><description><![CDATA[题目
题意
中文体面，题意就不写了
思路
splaysplaysplay 模板题，实现插入、删除、查询等操作
代码
int ch[maxn][2], pre[maxn], val[maxn], size[maxn], num[maxn];
int root, tot;

void print(int now){
	// printf(&amp;amp;quot;%d: ls:%d rs:%d num:%d minn:%d ...]]></description><category></category></item><item><title><![CDATA[ZOJ - 3965 Binary Tree Restoring （dfs）]]></title><link>https://blog.youkuaiyun.com/ShadowGhostH/article/details/83573240</link><guid>https://blog.youkuaiyun.com/ShadowGhostH/article/details/83573240</guid><author>ShadowGhostH</author><pubDate>Wed, 31 Oct 2018 09:16:22 +0800</pubDate><description><![CDATA[题目
题意
给出一颗二叉树的两种 dfsdfsdfs 序列，即同一层上没有明确的左右子树概念，两种序列可以以根节点-左/右子树-另一颗子树的顺序实现。求一颗满足两种 dfsdfsdfs 序列的二叉树，输出每一个节点的父亲节点。题目保证有解
思路
因为是一颗树的重构，我们可以同时从两棵树的 dfsdfsdfs 序列入手，我们可以分别在两个序列上，找到当前子树所在的区间，并且可以通过判断当前位在两个序...]]></description><category></category></item><item><title><![CDATA[每天学一丢之 单调栈]]></title><link>https://blog.youkuaiyun.com/ShadowGhostH/article/details/82993786</link><guid>https://blog.youkuaiyun.com/ShadowGhostH/article/details/82993786</guid><author>ShadowGhostH</author><pubDate>Wed, 10 Oct 2018 10:58:32 +0800</pubDate><description><![CDATA[每天学一丢意为每天学一点丢一点。
单调栈
单调栈即我们在维护栈时，同时让栈里的元素维持着单调性。即当我们维护一个单调上升的栈时，如果需要入栈一个新元素后，如果这个元素之前有比他大的值，破坏了栈内元素的单调性，我们就要把比它大的值全部出栈，此时再将新元素入栈，来保证栈内元素的单调性。单调是说栈内元素具有单调性，
功能
利用单调栈，我们可以在 O(n)O(n)O(n) 的时间复杂度内，维护序列中任意一...]]></description><category></category></item><item><title><![CDATA[HDU 6406 Taotao Picks Apples (线段树)]]></title><link>https://blog.youkuaiyun.com/ShadowGhostH/article/details/82992922</link><guid>https://blog.youkuaiyun.com/ShadowGhostH/article/details/82992922</guid><author>ShadowGhostH</author><pubDate>Wed, 10 Oct 2018 10:20:14 +0800</pubDate><description><![CDATA[题目
题意
给出 nnn 个数，规定一个取数规则，从左至右，先取第一个数，之后每次遇到比上一个所取数字大的数，就必须取。给出 mmm 次询问，每次询问给出一个位置 xxx 和值 hhh，代表将位置 xxx 上的数字改为 hhh，问此时按照取数规则能取到多少个数。每次询问都是独立的。
分析
题目其实是找数列中的严格上升子序列，但是由于见到大的数就必须选，所以这个子序列是唯一的。难点在于mmm 次独立...]]></description><category></category></item><item><title><![CDATA[每天学一丢之 Manacher]]></title><link>https://blog.youkuaiyun.com/ShadowGhostH/article/details/82852849</link><guid>https://blog.youkuaiyun.com/ShadowGhostH/article/details/82852849</guid><author>ShadowGhostH</author><pubDate>Wed, 26 Sep 2018 14:25:09 +0800</pubDate><description><![CDATA[每天学一丢意为每天学一点丢一点。
Manacher
ManacherManacherManacher 算法主要解决的问题是最长回文子串，为了解决奇偶性的问题，我们在原字符串中加入了新的字符作为通配符，例如我们将 abababcabababcabababc 扩充为了 #a#b#a#b#a#b#c#\#a\#b\#a\#b\#a\#b\#c\##a#b#a#b#a#b#c#，因为 #\## 号都是相同...]]></description><category></category></item><item><title><![CDATA[2018 BACS Contest Replay（A + C + L）]]></title><link>https://blog.youkuaiyun.com/ShadowGhostH/article/details/82850279</link><guid>https://blog.youkuaiyun.com/ShadowGhostH/article/details/82850279</guid><author>ShadowGhostH</author><pubDate>Wed, 26 Sep 2018 11:26:10 +0800</pubDate><description><![CDATA[一场三星gym
A
题意
一个类似与约瑟夫环的问题，一共有 NNN 个人，可以从中选出前 YYY 个人，这 YYY 个人会按照隔一人淘汰一人的方式，淘汰至只剩一个人（成环淘汰，或者循环数组淘汰），已知，我们选择前 [L,N][L, N][L,N] 个人出来的概率是相等的，问编号为 XXX 的人存活下来的概率，用最简分数来表示。
思路
第一次打表找规律做题，原因可能是吉林自闭的太厉害了，于是就回来之...]]></description><category></category></item><item><title><![CDATA[ACM-ICPC 2018 徐州赛区网络预赛 J（最大生成树 + 树上距离）]]></title><link>https://blog.youkuaiyun.com/ShadowGhostH/article/details/82774060</link><guid>https://blog.youkuaiyun.com/ShadowGhostH/article/details/82774060</guid><author>ShadowGhostH</author><pubDate>Wed, 19 Sep 2018 17:11:19 +0800</pubDate><description><![CDATA[阿斯蒂芬
#include &amp;amp;lt;bits/stdc++.h&amp;amp;gt;
using namespace std;
#define sd(n) scanf(&amp;quot;%d&amp;quot;,&amp;amp;amp;n)
#define sdd(n,m) scanf(&amp;quot;%d%d&amp;quot;,&amp;amp;amp;n,&amp;amp;amp;m)
#define sddd(n,m,k) scanf(&amp;quot;%d%d]]></description><category></category></item><item><title><![CDATA[每天学一丢之 LCA-倍增]]></title><link>https://blog.youkuaiyun.com/ShadowGhostH/article/details/82701946</link><guid>https://blog.youkuaiyun.com/ShadowGhostH/article/details/82701946</guid><author>ShadowGhostH</author><pubDate>Fri, 14 Sep 2018 14:03:36 +0800</pubDate><description><![CDATA[每天学一丢意为每天学一点丢一点。



LCA

LCALCALCA 上一篇中已经解释过，而 TarjanTarjanTarjan 离线算法可以在 O(n+q)O(n+q)O(n+q)的时间复杂度下，求得询问两点的 LCALCALCA。 
而倍增是一种在线查询的算法，他的预处理复杂度是 O(nlogn)O(nlog⁡n)O(n\log n)，每次查询是 O(logn)O(log⁡n)O(\log ...]]></description><category></category></item><item><title><![CDATA[每天学一丢之 LCA-Tarjan]]></title><link>https://blog.youkuaiyun.com/ShadowGhostH/article/details/82693305</link><guid>https://blog.youkuaiyun.com/ShadowGhostH/article/details/82693305</guid><author>ShadowGhostH</author><pubDate>Thu, 13 Sep 2018 19:18:27 +0800</pubDate><description><![CDATA[每天学一丢意为每天学一点丢一点。

LCA

LCALCALCA 即树上最近公共祖先，TarjanTarjanTarjan 可以离线地去求 LCALCALCA，并且可以维护树上两个点的距离。 
TarjanTarjanTarjan 的复杂度是 O(n+q)O(n+q)O\left( n+q\right) 的

Tarjan

TarjanTarjanTarjan 不仅可以解决 LCALCALCA ...]]></description><category></category></item><item><title><![CDATA[ACM-ICPC 2018 徐州赛区网络预赛 B（博弈 + dp）]]></title><link>https://blog.youkuaiyun.com/ShadowGhostH/article/details/82662811</link><guid>https://blog.youkuaiyun.com/ShadowGhostH/article/details/82662811</guid><author>ShadowGhostH</author><pubDate>Wed, 12 Sep 2018 15:48:26 +0800</pubDate><description><![CDATA[L

题意

起始有 mmm 的价值，已知有 nnn 轮抉择，每轮抉择有三种，分别为 ai,&amp;amp;nbsp;bi,&amp;amp;nbsp;ciai,&amp;amp;nbsp;bi,&amp;amp;nbsp;cia_i,\ b_i, \ c_i 其中任何一个值为 000 表示当前不可选。否则，可以选择将当前价值 +ai,&amp;amp;nbsp;−bi,&amp;amp;nbsp;×(−1)+ai,&amp;amp;nbsp;−bi,&amp;amp;nbsp;×(−1)+a_i,\ -]]></description><category></category></item><item><title><![CDATA[ACM-ICPC 2018 徐州赛区网络预赛 A （DP）]]></title><link>https://blog.youkuaiyun.com/ShadowGhostH/article/details/82628662</link><guid>https://blog.youkuaiyun.com/ShadowGhostH/article/details/82628662</guid><author>ShadowGhostH</author><pubDate>Tue, 11 Sep 2018 16:57:26 +0800</pubDate><description><![CDATA[A

题意

有 nnn 个人围成圆形而坐，2k2k2^k 顶帽子，一顶帽子可以给任意多个人，一个人只能由一顶帽子，帽子的编号为 [0,&amp;amp;amp;amp;amp;amp;nbsp;2k−1][0,&amp;amp;amp;amp;amp;amp;nbsp;2k−1][0,\ 2^k-1] 。相邻两个人帽子的编号不能在k位上都相反，问有多少种坐的办法。

思路

相邻问题链上好分析，但是因为本题要求是围成一个圆坐，所以要考虑链的两端能否满足条件。又由按位取反操作可知，对于任意一]]></description><category></category></item><item><title><![CDATA[ACM-ICPC 2018 徐州赛区网络预赛 G （离散化 + 树状数组 + 区间最大值 + 模拟）]]></title><link>https://blog.youkuaiyun.com/ShadowGhostH/article/details/82627836</link><guid>https://blog.youkuaiyun.com/ShadowGhostH/article/details/82627836</guid><author>ShadowGhostH</author><pubDate>Tue, 11 Sep 2018 16:23:16 +0800</pubDate><description><![CDATA[G

题意

按照顺序往坐标系的第一象限放矩形，其中矩形的一个顶点和原点重合。数据中给出矩形右上方顶点的位置 (x,y)(x,y)\left(x, y \right)。已知后放上的矩形会覆盖之前的矩形，问，露出来的边界的总长度是多少（不计坐标轴）（依然是来自于队友的翻译，看看题会比较好理解）



思路

由于题目给出，矩形不会完全覆盖，所以对于任意两个矩形的右上顶点(xi,yi)(xi,yi)\...]]></description><category></category></item><item><title><![CDATA[ACM-ICPC 2018 徐州赛区网络预赛  F （模拟）]]></title><link>https://blog.youkuaiyun.com/ShadowGhostH/article/details/82623819</link><guid>https://blog.youkuaiyun.com/ShadowGhostH/article/details/82623819</guid><author>ShadowGhostH</author><pubDate>Tue, 11 Sep 2018 12:06:49 +0800</pubDate><description><![CDATA[F

题意

每次给出 nnn 个连续的时刻，每个时刻中有若干特征的实物出现，每个特征由两个值表示即 (x,y)(x,y)(x, y) 表示一个特征，当且仅当两个值都相同时，我们认为他们是同一实物。先问同一实物最多连续出现了多少时刻。（队友读的题， 随便翻译一下= =）

思路

模拟，用 map&amp;lt;PII,&amp;nbsp;PII&amp;gt;map&amp;lt;PII,&amp;nbsp;PII&amp;gt;map记录每...]]></description><category></category></item><item><title><![CDATA[ACM-ICPC 2018 徐州赛区网络预赛（I + H）（水模拟 + 线段树）]]></title><link>https://blog.youkuaiyun.com/ShadowGhostH/article/details/82589154</link><guid>https://blog.youkuaiyun.com/ShadowGhostH/article/details/82589154</guid><author>ShadowGhostH</author><pubDate>Mon, 10 Sep 2018 17:13:05 +0800</pubDate><description><![CDATA[I

题意

给定一个字符串sss和一个字符LLL，将所有的 |(int)(L−s[i])||(int)(L−s[i])||(int)(L-s[i])| 转化为一个两位数后，按顺序拼接在一起，问，这个拼接而成的新序列，去掉前导0后的长度是多少

思路

按照模拟去实现一下过程就可以，可以计算前导零的个数，就不用算出所有的值了，现给出一种纯模拟的写法

代码




int  a[maxn];
ch...]]></description><category></category></item></channel></rss>