<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[RainbowCrown_CGH's blog]]></title><description><![CDATA[键指远方，码不停蹄！]]></description><link>https://blog.youkuaiyun.com/HiChocolate</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; HiChocolate]]></copyright><item><title><![CDATA[后缀自动机、广义后缀自动机备忘录]]></title><link>https://blog.youkuaiyun.com/HiChocolate/article/details/106734532</link><guid>https://blog.youkuaiyun.com/HiChocolate/article/details/106734532</guid><author>HiChocolate</author><pubDate>Tue, 28 Mar 2023 23:21:09 +0800</pubDate><description><![CDATA[前言
话说这玩意一两年前就会了。
然后太久没打了，都忘光了。
今天又有题要用这玩意儿，就再康了康。
话说稍微看了看记忆就又回了了。
还是要多复习啊。
后缀自动机
简称SAM。
以前还有个老话是“初三还不会SAM就退役把”
不多废话。（话说上面的不都是废话吗）
定义
后缀自动机就只是定义比较难理解而已。

1、定义endpos数组表示某个子串在主串中出现的位置集合。

举个例子就是abcabcabcaac，那么endpos(abc)={3,6,9}


1.5、定义一个自动机上节点的right表示当前点end]]></description><category></category></item><item><title><![CDATA[复活小记？]]></title><link>https://blog.youkuaiyun.com/HiChocolate/article/details/126274252</link><guid>https://blog.youkuaiyun.com/HiChocolate/article/details/126274252</guid><author>HiChocolate</author><pubDate>Tue, 28 Mar 2023 23:18:34 +0800</pubDate><description><![CDATA[高考炸了，低于100分的数学让我被迫苟近了中大然后就被“邀请”去参加acm选拔赛了。康复训练效果感觉不佳啊，tarjan都快忘了，更别提什么网络流min25多项式之类的了。靠着切切水题混着看了。复习了一下杜教筛，就拿这个来当个重启的契机吧。]]></description><category></category></item><item><title><![CDATA[网络流24题刷题小结]]></title><link>https://blog.youkuaiyun.com/HiChocolate/article/details/103749359</link><guid>https://blog.youkuaiyun.com/HiChocolate/article/details/103749359</guid><author>HiChocolate</author><pubDate>Tue, 28 Mar 2023 23:18:32 +0800</pubDate><description><![CDATA[目录T1 搭配飞行员T2 太空飞行计划
T1 搭配飞行员
二分图匹配。
easy~
#include &lt;iostream&gt;
#include &lt;cstdio&gt;
#include &lt;cstring&gt;
#include &lt;cmath&gt;
using namespace std;

int n,m,x,y,gs;
int tot,tov[400001],ne...]]></description><category></category></item><item><title><![CDATA[NOIP2020退役记]]></title><link>https://blog.youkuaiyun.com/HiChocolate/article/details/110942669</link><guid>https://blog.youkuaiyun.com/HiChocolate/article/details/110942669</guid><author>HiChocolate</author><pubDate>Mon, 01 Aug 2022 20:08:15 +0800</pubDate><description><![CDATA[退役成功
前言
这是真的最后一次写游记了。
技不如人，告辞。
Day -2
考前的星期三开始停文化课来机房适应一下。
早读？7:10分到？不存在的。
模拟赛不咋地。
今天我™以为1、2、4都是sb题，一顿操作猛如虎，结果发现看错一题，还有一题打了个假的。
小结一下改改题，感觉思路都挺新奇的。
晚上去玩些奇怪的想法题，总结一下就去睡了。
Day -1
打打比赛，这次冷静了很多（其实是一道题都不会）
然后就稳稳地拿满了暴力，后面又用打表多切了一题。
最后一般般吧，至少没怎么挂分。
剩下来的时间不知道在干嘛（话说]]></description><category></category></item><item><title><![CDATA[csp2020摸鱼记]]></title><link>https://blog.youkuaiyun.com/HiChocolate/article/details/109588234</link><guid>https://blog.youkuaiyun.com/HiChocolate/article/details/109588234</guid><author>HiChocolate</author><pubDate>Thu, 12 Nov 2020 09:52:54 +0800</pubDate><description><![CDATA[前言
鉴于上高二之后成绩成功跳到了250名，于是我整个人的重心都往文化课走了。
然后信息学很不幸地放下了很多。
平日周六比赛就打打暴力，切题什么的都很少了。
然后同学停文化课1星期，我就每晚来那么一节课。
来了也是看看些奇怪的题，没怎么去打。
总的来说可谓是整整一个月没有像以前一样全身心投入了，经常就是一下课就开文化课作业开始摸鱼。
而这一个月的隔离，感觉整个人码速、思维、代码的逻辑之类的都大不如从前，很生疏。而硬是要说什么好处，那就是心态还是比较平和的。
来说说过程。
Day0
晚修咕掉，跑来机房继续看同]]></description><category></category></item><item><title><![CDATA[AtCoder Regular Contest 091 F - Strange Nim]]></title><link>https://blog.youkuaiyun.com/HiChocolate/article/details/108741994</link><guid>https://blog.youkuaiyun.com/HiChocolate/article/details/108741994</guid><author>HiChocolate</author><pubDate>Tue, 22 Sep 2020 22:05:03 +0800</pubDate><description><![CDATA[题目大意
给你n个石子堆，然后Alice和Bob开始博弈。每个人每次可以从第i堆里面选出[1,⌊aiki⌋][1,\lfloor\frac {ai}{ki}\rfloor][1,⌊kiai​⌋]个石子。然后最后不能选的人就GG。
思考历程/题解
其实还是挺简单的，sg函数裸题。
先是想了个很暴力的dp方程，然后自以为可以线段树优化，结果发现很GG。
然后就想到了sg函数一般解法打表——分类讨论。
然后就一层一层地列，于是就发现了一些奇妙的规律。
当1&lt;=xi&lt;ki1&lt;=xi&lt;ki1.]]></description><category></category></item><item><title><![CDATA[AtCoder Grand Contest 032 D - Rotation Sort]]></title><link>https://blog.youkuaiyun.com/HiChocolate/article/details/108720188</link><guid>https://blog.youkuaiyun.com/HiChocolate/article/details/108720188</guid><author>HiChocolate</author><pubDate>Mon, 21 Sep 2020 22:02:23 +0800</pubDate><description><![CDATA[题目大意
大致就是给你一个排列aia_iai​，然后你又两种操作方式：一种是把某个数提出来，放在其后面任意一个数后，花费A；另一种是把某个数提出来，放在其前面任意一个数后，花费B。
思考历程
好吧，一道套路题。
首先提出来之后再放进去不怎么影响，关键还是看走到他的时候不动点的情况。
所以从不动点下手基本就好了。
还是很简单的（没想到菜鸡的我竟然能切AGC的水题了！）
题解
大致就是先不考虑移动的点，然后不动点必然是一个递增的序列。求出不动点的相对位置之后就可以倒过来推移动的点。
然后设f[i][j]f[i.]]></description><category></category></item><item><title><![CDATA[AtCoder Grand Contest 027 D - Modulo Matrix]]></title><link>https://blog.youkuaiyun.com/HiChocolate/article/details/108558862</link><guid>https://blog.youkuaiyun.com/HiChocolate/article/details/108558862</guid><author>HiChocolate</author><pubDate>Sun, 13 Sep 2020 09:41:42 +0800</pubDate><description><![CDATA[题目大意
构造一个n∗nn*nn∗n的矩阵
要求满足：
1、任意相邻的两个元素（可以上下可以左右）都满足amax%amin=ma_{max}\%a_{min}=mamax​%amin​=m（其中mmm是任意的一个整数，amaxa_{max}amax​是元素中较大的数，amina_{min}amin​是较小的数）
2、对于任意元素aaa满足：a&lt;1015a&lt;10^{15}a&lt;1015
3、对于任意两元素a,ba,ba,b满足a!=ba!=ba!=b
思考历程
可以像国际象棋一样染色一下，同.]]></description><category></category></item><item><title><![CDATA[AtCoder Grand Contest 029 C - Lexicographic constraints]]></title><link>https://blog.youkuaiyun.com/HiChocolate/article/details/108523125</link><guid>https://blog.youkuaiyun.com/HiChocolate/article/details/108523125</guid><author>HiChocolate</author><pubDate>Thu, 10 Sep 2020 21:29:11 +0800</pubDate><description><![CDATA[题意
给你n个数，每个数ai表示当前第i个字符串的长度。你现在要构造一个最小的字符集大小m使得可以用字符集的字符表示出n个字符串且要求：对于任意的一个构造出来的字符串si满足字典序大小Si&gt;Si−1S_i&gt;S_{i-1}Si​&gt;Si−1​。求m的最小值。
思考历程
我好蠢，竟然以为m是最大为26。
还以为是道水题，直接暴力模拟。
后来发现模拟比较麻烦，且发现理解错题意了。
然后发现可以二分，然后还是直接暴力强模拟即可。
题解
考虑二分答案。
二分答案出来后可以看做是一个m进制。从小到大开.]]></description><category></category></item><item><title><![CDATA[AtCoder Grand Contest 034 D - Manhattan Max Matching]]></title><link>https://blog.youkuaiyun.com/HiChocolate/article/details/108476570</link><guid>https://blog.youkuaiyun.com/HiChocolate/article/details/108476570</guid><author>HiChocolate</author><pubDate>Tue, 08 Sep 2020 20:46:56 +0800</pubDate><description><![CDATA[题目大意
大概就是图上有2n个位置有点，其中n个为黑点，另外n个为白点。
每个有点的位置上有ci个球，然后现在要你把每个黑球和白球一一匹配，使得曼哈顿距离和最大。
思考历程
一看就想到了网络流，暴力建图很简单，然鹅会T。
想想怎么优化连边吧！
看到取绝对值就想怎么去拆掉，然鹅想歪了，想去怎么排序了。（太菜了
想了好久，然后就想到一个水法！
暴力建图时，只取前200大的点来连边。
然后费用流！
然后出题人只让一个点过去了。
QWQ
题解
上面都是自欺欺人的玩意。
这题的优化是真的秒。
考虑枚举两个点(xa,.]]></description><category></category></item><item><title><![CDATA[Codeforces Global Round 1 G.tree-tac-toe]]></title><link>https://blog.youkuaiyun.com/HiChocolate/article/details/108412443</link><guid>https://blog.youkuaiyun.com/HiChocolate/article/details/108412443</guid><author>HiChocolate</author><pubDate>Fri, 04 Sep 2020 22:27:46 +0800</pubDate><description><![CDATA[题目大意
链接

题目大意
给你一颗树，然后上面有某些节点染了白色，其余的无色。
现在有两个人，两个人轮流染色。一个染白色，另一个人染黑色。
他们可以选择任意一个没有染色的点染色。如果最先有个人染的色有三个点连在一起，那么就胜出。
问谁必胜或平局。
要求O(n)O(n)O(n)
思考历程
真是一道神仙题。
一开始没有什么思路，然后手玩了一下样例也是没有思路。
然后想想不染色的情况。
然后就发现了三种情况（其中一种还是错的）
接下来染色的也没有什么好想法。
于是与lvle大爷疯狂讨论。
lvle大爷非常轻松地]]></description><category></category></item><item><title><![CDATA[多项式全家桶——Part.4 多项式ln、exp、快速幂]]></title><link>https://blog.youkuaiyun.com/HiChocolate/article/details/107788950</link><guid>https://blog.youkuaiyun.com/HiChocolate/article/details/107788950</guid><author>HiChocolate</author><pubDate>Thu, 03 Sep 2020 20:05:05 +0800</pubDate><description><![CDATA[这拿头来学……]]></description><category></category></item><item><title><![CDATA[jzoj3568. 小纪的作业题]]></title><link>https://blog.youkuaiyun.com/HiChocolate/article/details/107991119</link><guid>https://blog.youkuaiyun.com/HiChocolate/article/details/107991119</guid><author>HiChocolate</author><pubDate>Thu, 13 Aug 2020 20:48:04 +0800</pubDate><description><![CDATA[Description

Input

Output
有M行，每个询问一行，输出结果mod 1,000,000,007的值。
Sample Input
10 3
3 5 1 2 3 1 3 5 2 1
7 9
3 9
2 3
Sample Output
10
19
6
Data Constraint
对于30%的数据，N，M&lt;=1000
对于50%的数据，N，M&lt;=30000
对于100%的数据，N,M&lt;=100000
题解
老纪看了想打人系列
校长处分警告
好吧，这题还挺裸的，一道裸的莫]]></description><category></category></item><item><title><![CDATA[jzoj3573. 【GDKOI2014】逃出生天]]></title><link>https://blog.youkuaiyun.com/HiChocolate/article/details/107990840</link><guid>https://blog.youkuaiyun.com/HiChocolate/article/details/107990840</guid><author>HiChocolate</author><pubDate>Thu, 13 Aug 2020 20:44:18 +0800</pubDate><description><![CDATA[Description


Sample Input
输入1：
3 3 2
…
…
…
输入2：
4 5 2
…*…
*…
.*…
…
Sample Output
输出1：
6
输出2：
1
Data Constraint

题解
这题的想法是真滴妙♂
首先30分还是比较简单地可以拿到的。
看到100分。
第一步考虑一个简单的问题，给定一个k∗kk*kk∗k的矩阵，从(1,1)(1,1)(1,1)开始走，走k步之后走到某个位置且不越界，不碰障碍的方案数为多少个。
这是一个简单dp，由于k比较小，所以可以随便]]></description><category></category></item><item><title><![CDATA[jzoj4350. 【WC2016模拟】废水回收(gates)]]></title><link>https://blog.youkuaiyun.com/HiChocolate/article/details/107966139</link><guid>https://blog.youkuaiyun.com/HiChocolate/article/details/107966139</guid><author>HiChocolate</author><pubDate>Wed, 12 Aug 2020 21:02:53 +0800</pubDate><description><![CDATA[Description

Sample Input
Input1:
3 2
1 0 2 1
1 0 2 0
1 1 2 1
Input2:
2 1
1 0 1 0
1 1 1 1
Sample Output
Output1:
0
1
Output2:
IMPOSSIBLE
Data Constraint

题解
此题稍微运用到一点点的2-SAT知识。
前置芝士：2-SAT
康这里！
现在我们知道了2-SAT，那看看这题怎么用。
分析原题题意：有很多个水阀，然后水阀有两个阀门，只有关掉一个阀门，水阀就会关闭。]]></description><category></category></item><item><title><![CDATA[2-SAT学习小计]]></title><link>https://blog.youkuaiyun.com/HiChocolate/article/details/107966231</link><guid>https://blog.youkuaiyun.com/HiChocolate/article/details/107966231</guid><author>HiChocolate</author><pubDate>Wed, 12 Aug 2020 20:53:02 +0800</pubDate><description><![CDATA[介绍
2-SAT是一个非常简单的东东，但是网上很多的资料都把这个玩意写得无比复杂。
可能这就是详细把，由于我太菜了，只会记结论。

SAT 是适定性（Satisfiability）问题的简称。一般形式为 k - 适定性问题，简称 k-SAT。而当 k&gt;2 时该问题为 NP 完全的。所以我们只研究 k=2 的情况。

正文
所以说了怎么多东东，2-SAT到底是什么鬼。
其实就是给你很多的两两限制条件，然后要求出某种方案使得能够满足这所有的限制条件。
举例子就是：

当然，这个例子极其智障。根本看不懂。
]]></description><category></category></item><item><title><![CDATA[jzoj3252. 【GDOI三校联考】炸弹]]></title><link>https://blog.youkuaiyun.com/HiChocolate/article/details/107965797</link><guid>https://blog.youkuaiyun.com/HiChocolate/article/details/107965797</guid><author>HiChocolate</author><pubDate>Wed, 12 Aug 2020 20:32:36 +0800</pubDate><description><![CDATA[Description
在一个N行M列的二维网格里，有些格子是空地（用字符‘.’表示），有些格子是障碍物（用字符‘#’表示）。每个空地格子都有一只虫子，虫子不会移动。FJ打算用最少的炸弹把所有的虫子消灭。FJ每次可以选择在一个空地格子（不妨假设是格子a）放置一个炸弹，这个炸弹爆炸后，格子a的虫子会被消灭，假设有另一个空地格子b，如果空地格子b同时满足如下两个条件，那么空地b格子的虫子也会被该炸弹消灭：
1.格子a和格子b在同一行或者在同一列。
2.格子a和格子b之间没有障碍物格子。
有趣的是，任意两个不同的]]></description><category></category></item><item><title><![CDATA[jzoj3291. 【JSOI2013】快乐的JYY]]></title><link>https://blog.youkuaiyun.com/HiChocolate/article/details/107965629</link><guid>https://blog.youkuaiyun.com/HiChocolate/article/details/107965629</guid><author>HiChocolate</author><pubDate>Wed, 12 Aug 2020 20:14:59 +0800</pubDate><description><![CDATA[Description
给定两个字符串A和B，表示JYY的两个朋友的名字。我们用A(i,j)表示A字符串中从第i个字母到第j个字母所组成的子串。同样的，我们也可以定义B(x,y)。
JYY发现两个朋友关系的紧密程度，等于同时满足如下条件的四元组(i,j,x,y)的个数：

1≤i≤j≤|A|
1≤x≤y≤|B|
3)A(i,j)=B(x,y)
A(i,j)为回文串
这里|A|表示字符串A的长度。
JYY希望你帮助他计算出这两个朋友之间关系的紧密程度。

Input
数据包行两行由大写字母组成的字符串A和B。]]></description><category></category></item><item><title><![CDATA[2017.2.11【初中部 GDKOI】模拟赛B组 T4：摧毁巴士站]]></title><link>https://blog.youkuaiyun.com/HiChocolate/article/details/54987830</link><guid>https://blog.youkuaiyun.com/HiChocolate/article/details/54987830</guid><author>HiChocolate</author><pubDate>Sun, 09 Aug 2020 20:30:11 +0800</pubDate><description><![CDATA[DescriptionGabiluso是最伟大的间谍之一。现在，他试图完成一个“不可能完成”的使命――减缓Colugu的军队到达机场的时间。Colugu有n个公共汽车站和m条道路。每条道路直接连接两个巴士站，所有的道路都是单向的。为了保持空气洁净，政府禁止所有军用车辆，因此，军队必须乘搭巴士去机场。两个巴士站之间，可能有超过一条道路。如果一个公共汽车站被破坏时，所有连接该站的道路将无法运作。Gabi]]></description><category></category></item><item><title><![CDATA[点分治学习小记]]></title><link>https://blog.youkuaiyun.com/HiChocolate/article/details/107870235</link><guid>https://blog.youkuaiyun.com/HiChocolate/article/details/107870235</guid><author>HiChocolate</author><pubDate>Fri, 07 Aug 2020 21:18:01 +0800</pubDate><description><![CDATA[纯粹的划水]]></description><category></category></item></channel></rss>