<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Cold_Chair的博客]]></title><description><![CDATA[一位蒟蒻的事故记录]]></description><link>https://blog.youkuaiyun.com/Cold_Chair</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Cold_Chair]]></copyright><item><title><![CDATA[多项式全家福（缺插值和点值）]]></title><link>https://blog.youkuaiyun.com/Cold_Chair/article/details/88035347</link><guid>https://blog.youkuaiyun.com/Cold_Chair/article/details/88035347</guid><author>Cold_Chair</author><pubDate>Tue, 02 Jul 2019 22:28:42 +0800</pubDate><description><![CDATA[文章目录写法：vector写有什么好处？vector写的时候注意什么？Dft：求逆：
写法：
vector写有什么好处？
1.分治NTT的时候不用处理麻烦的下标。
2.传进函数的时候不用传指针而不会爆栈。
3.copy，swap，reverse，clear，resize等vector的函数可以帮助您快速地处理。
vector写的时候注意什么？
由于本人非常非常地懒，所以全部都是用vector写的。...]]></description><category></category></item><item><title><![CDATA[Goodbye 优快云]]></title><link>https://blog.youkuaiyun.com/Cold_Chair/article/details/94329527</link><guid>https://blog.youkuaiyun.com/Cold_Chair/article/details/94329527</guid><author>Cold_Chair</author><pubDate>Sun, 30 Jun 2019 16:13:25 +0800</pubDate><description><![CDATA[Markdown辣鸡我忍了这么多年了，广告推广烦人我忍了这么多年了，前段时间把侧边栏搞掉我也忍了，原因只是因为初一入坑优快云，三年多了，它见证着我长大，有一种情怀，让我不舍得离开。
但是现在，居然看个博客都强制登录了。

开博客的初衷本来就是与他人分享想法和知识，但是强制登录将会使很多人无法看到我的博客。
所以再见了，优快云，谢谢你陪伴过我的三年。

新博客地址：
https://www.cn...]]></description><category></category></item><item><title><![CDATA[【NOI2019模拟2019.6.29】智慧树（fft单位根性质推导）]]></title><link>https://blog.youkuaiyun.com/Cold_Chair/article/details/94324181</link><guid>https://blog.youkuaiyun.com/Cold_Chair/article/details/94324181</guid><author>Cold_Chair</author><pubDate>Sun, 30 Jun 2019 15:27:34 +0800</pubDate><description><![CDATA[Description：


1&lt;=n&lt;=8000,m&lt;=57984且m是mo-1的约数
空间限制32MB，时间限制5s
题解：

首先思考一下m=2?m=2^?m=2?怎么做？
我们知道fft的本质是一个循环卷积，这道题要求mod&nbsp;mmod~mmod&nbsp;m，那么可以利用这个特质而不管溢出，一开始对每一个点的序列进行dft，然后每次转移就是把dft的序列乘起来，...]]></description><category></category></item><item><title><![CDATA[【NOI2019模拟2019.6.28】抬头仰望梦的脚步（推导性质，类欧几里得算法）]]></title><link>https://blog.youkuaiyun.com/Cold_Chair/article/details/94057536</link><guid>https://blog.youkuaiyun.com/Cold_Chair/article/details/94057536</guid><author>Cold_Chair</author><pubDate>Sun, 30 Jun 2019 15:06:59 +0800</pubDate><description><![CDATA[Description：


题解：

首先暴力模拟这样的一个插入过程，不难发现每次就是找到v∈[x,y]的出现时间的最小的，然后走过去，区间变为[x,v-1]或[v+1,y]，一直到叶子节点。
先设d=gcd(b,m)
显然的结论是，2*m/d轮以后，每次插入只会使那个点的深度加一。
之所以不是m/d轮，是因为比如第x轮加了一个东西，剩下的可能加到它的子树中，第x+m/d轮时，就应是它第x轮的点...]]></description><category></category></item><item><title><![CDATA[【NOI2019模拟2019.6.27】幻化成风（集合容斥系数，胡乱dp）]]></title><link>https://blog.youkuaiyun.com/Cold_Chair/article/details/93912424</link><guid>https://blog.youkuaiyun.com/Cold_Chair/article/details/93912424</guid><author>Cold_Chair</author><pubDate>Thu, 27 Jun 2019 21:38:43 +0800</pubDate><description><![CDATA[Description:


题解：
xjb乱搞题，卡死在无序了。
考虑肯定是枚举个集合划分，然后强制一个集合里的选的b一样嘛，就可以无限背包了，然后发现如果按题意说的无序的话特别难做，不妨考虑有序，即每一个a[i]都有标号，最后除以∏cnt[a[i]]\prod cnt[a[i]]∏cnt[a[i]]就好了。
先思考暴力枚举集合划分，系数是什么，系数应该是只和这个集合包含的元素有关的，不妨设f[...]]></description><category></category></item><item><title><![CDATA[JZOJ6232 【NOI2019模拟2019.6.25】喜欢最最痛（凸函数，贪心，动态dp）]]></title><link>https://blog.youkuaiyun.com/Cold_Chair/article/details/93771613</link><guid>https://blog.youkuaiyun.com/Cold_Chair/article/details/93771613</guid><author>Cold_Chair</author><pubDate>Wed, 26 Jun 2019 20:00:37 +0800</pubDate><description><![CDATA[Description：

神树大人种了一棵有边权的树，由于这是神树大人种的树，所以这棵树被命名为神
神树。神神树的边权为正. 整. 数. 。神树大人命令龚诗锋从 1 号点开始走一个路径并最终
回到1 号点，且这条路径经过了所有的边。一条路径的代价就是它经过的边的边权之
和。龚诗锋可以加若干条额外边，第 i 条加的额外边的边权为正. 整. 数. Ai。注. 意. ，龚. 诗. 锋.
不. 一. 定...]]></description><category></category></item><item><title><![CDATA[JZOJ 6231 【NOI2019模拟2019.6.25】等你哈苏德（欧拉回路，最大流）]]></title><link>https://blog.youkuaiyun.com/Cold_Chair/article/details/93769585</link><guid>https://blog.youkuaiyun.com/Cold_Chair/article/details/93769585</guid><author>Cold_Chair</author><pubDate>Wed, 26 Jun 2019 19:48:31 +0800</pubDate><description><![CDATA[Description

Joker 有一些黑. 白. 区. 间. [li; ri]，有些区间已经被指定了颜色，有些却没有。你要指定
这些未染色区间的颜色，使得数轴上对于每个点，覆盖他的黑区间个数和白区间个数差
的绝对值小. 于. 等. 于. 1
1&lt;=m&lt;=3e4
题解：

首先这一类问题可以往网络流啊欧拉回路这一类图论算法上靠。
假设把每一个点看成一个小段，即把区间[l,r]变成[...]]></description><category></category></item><item><title><![CDATA[JZOJ 5553 谜（线性基，矩阵的秩）]]></title><link>https://blog.youkuaiyun.com/Cold_Chair/article/details/93496496</link><guid>https://blog.youkuaiyun.com/Cold_Chair/article/details/93496496</guid><author>Cold_Chair</author><pubDate>Mon, 24 Jun 2019 17:24:23 +0800</pubDate><description><![CDATA[Description：


题解：
考虑如何在多项式复杂度内求完美匹配的方案数mod 2
完美匹配相当于求所有排列p的∏a[i][p[i]]\prod a[i][p[i]]∏a[i][p[i]]
这个东西和行列式长得非常像啊：
∣A∣=∑排列p(−1)p的逆序对数∗∏A[i][p[i]]|A|=\sum_{排列p}{(-1)}^{p的逆序对数}*\prod A[i][p[i]]∣A∣=∑排列p​...]]></description><category></category></item><item><title><![CDATA[6.22模拟 T1 小蛋糕（分治做决策单调性）]]></title><link>https://blog.youkuaiyun.com/Cold_Chair/article/details/93406764</link><guid>https://blog.youkuaiyun.com/Cold_Chair/article/details/93406764</guid><author>Cold_Chair</author><pubDate>Sun, 23 Jun 2019 20:57:58 +0800</pubDate><description><![CDATA[题目大意：


3&lt;=m&lt;=n&lt;=1e5
题解：

显然是C由小到大是最优的，那么这时代价就是（最大-最小）*2
先把把所有蛋糕按c排序。
不然发现随着左端点的递增，最优决策的右端点是非递减的。
然后这个东西居然可以分治？？？（套路太浅）
设dg(x,y,l,r)dg(x,y,l,r)dg(x,y,l,r)表示现在要搞左端点在[x,y][x,y][x,y]里的，它们可能的最优决策...]]></description><category></category></item><item><title><![CDATA[python学习小得]]></title><link>https://blog.youkuaiyun.com/Cold_Chair/article/details/93402254</link><guid>https://blog.youkuaiyun.com/Cold_Chair/article/details/93402254</guid><author>Cold_Chair</author><pubDate>Sun, 23 Jun 2019 19:55:51 +0800</pubDate><description><![CDATA[python可能对我来说就是运算高精度数比较方便，因为其它的东西用都可以用c++较为简洁的写出来，所以并没有必要再去完整的学习一门语言。
这是一篇比较好的教你划水学python的教程：
https://www.cnblogs.com/SYCstudio/p/7360398.html
百度还找到一篇CJ六年前的ppt：
https://wenku.baidu.com/view/4b471f58f01...]]></description><category></category></item><item><title><![CDATA[「CTS2019」重复（KMP自动机dp）]]></title><link>https://blog.youkuaiyun.com/Cold_Chair/article/details/93235092</link><guid>https://blog.youkuaiyun.com/Cold_Chair/article/details/93235092</guid><author>Cold_Chair</author><pubDate>Fri, 21 Jun 2019 22:11:15 +0800</pubDate><description><![CDATA[传送门.

我这么菜怎么可能会标算的神仙解法？
我们发现如果直接考虑有一个子串&lt;S的话，是很有难度的。
不妨转换为没有子串&lt;S，也就是把T丢到S的KMP自动机 上，一直跑，注意只能走合法边。
合法的意思是假设现在匹配了S[1…x]，新加一个字符c，不存在s[1..y]=s[x−y+1..x]，且s[y+1]&amp;gt;c(y可以=0)s[1..y]=s[x-y+1..x]，且s[y...]]></description><category></category></item><item><title><![CDATA[【NOI2019模拟2019.6.20】san（最小割）]]></title><link>https://blog.youkuaiyun.com/Cold_Chair/article/details/93233063</link><guid>https://blog.youkuaiyun.com/Cold_Chair/article/details/93233063</guid><author>Cold_Chair</author><pubDate>Fri, 21 Jun 2019 21:26:49 +0800</pubDate><description><![CDATA[Description：

1&lt;=n&lt;=50
题解：
我的网络流学的怎么这么菜啊，GDOI时也是网络流的题一分没有。
好吧看到n&lt;=50时的时候我就根本没有想过这是个流，就想着乱搞去了。
首先确定一个O(2n∗n2)O(2^n*n^2)O(2n∗n2)的做法，就是我们枚举一些点，判断它们是否能够作为turpo序一个区间。
判断条件也比较好想：不存在i,j,k，使i,j∈S,k∉S...]]></description><category></category></item><item><title><![CDATA[【NOI2019模拟2019.6.20】ichi(kruskal重构树+KD-tree)]]></title><link>https://blog.youkuaiyun.com/Cold_Chair/article/details/93232295</link><guid>https://blog.youkuaiyun.com/Cold_Chair/article/details/93232295</guid><author>Cold_Chair</author><pubDate>Fri, 21 Jun 2019 21:06:51 +0800</pubDate><description><![CDATA[Description:

1&lt;=n&lt;=1e5
题解：
首先在子树里就是dfs序的一段区间。
那么路径最小值&gt;=d的点呢？
很容易想到把点分树建出来，然后再上面×××
如果套上这个东西的话就变成了O(log3)O(log^3)O(log3)，还不说空间有多大。
这个其实就是kruskal重构树的事，模拟时sb了，没想到kruskal重构树可以套到这个上面。
满足路径最小值&gt;...]]></description><category></category></item><item><title><![CDATA[【CTS2019Day1】珍珠]]></title><link>https://blog.youkuaiyun.com/Cold_Chair/article/details/93126690</link><guid>https://blog.youkuaiyun.com/Cold_Chair/article/details/93126690</guid><author>Cold_Chair</author><pubDate>Thu, 20 Jun 2019 20:53:06 +0800</pubDate><description><![CDATA[传送门.

不知道怎么说这题，考场时完全没有想过生成函数，随便想想就有70+分了啊。
考虑d个中如果有k个是奇数，则(n−k)/2&amp;gt;=m(n-k)/2&amp;gt;=m(n−k)/2&gt;=m
即k&amp;lt;=n−2mk&amp;lt;=n-2mk&lt;=n−2m，当然k&amp;lt;=Dk&amp;lt;=Dk&lt;=D
设f[k]f[k]f[k]表示k个奇数的方案...]]></description><category></category></item><item><title><![CDATA[【NOI2017模拟3.19】Sum]]></title><link>https://blog.youkuaiyun.com/Cold_Chair/article/details/93099948</link><guid>https://blog.youkuaiyun.com/Cold_Chair/article/details/93099948</guid><author>Cold_Chair</author><pubDate>Thu, 20 Jun 2019 19:21:46 +0800</pubDate><description><![CDATA[Description:

n&amp;lt;=1e10n&amp;lt;=1e10n&lt;=1e10
题解：
设f[i]=∑j=1i∑k=1i[(i,j),(i,k)]f[i]=\sum_{j=1}^i\sum_{k=1}^i[(i,j),(i,k)]f[i]=∑j=1i​∑k=1i​[(i,j),(i,k)]
不难（才怪）想到f[i]f[i]f[i]是一个积性函数。
如何快速感性证明：
我们...]]></description><category></category></item><item><title><![CDATA[「PKUWC2018」随机算法（状压dp）]]></title><link>https://blog.youkuaiyun.com/Cold_Chair/article/details/92832093</link><guid>https://blog.youkuaiyun.com/Cold_Chair/article/details/92832093</guid><author>Cold_Chair</author><pubDate>Wed, 19 Jun 2019 15:20:12 +0800</pubDate><description><![CDATA[传送门.

感觉这个状压题还是挺有意思的。
最基本的状压就是0表示没选，1表示选了不在独立集里，2表示选了在独立集里，枚举下一个点然后用位运算加速转移即可。
复杂度O(3n∗n)O(3^n*n)O(3n∗n)
考虑其实1、2可以合并。
记0表示没选，1表示选了。
当选一个点到独立集时，就直接把它的邻点拿来提前安排了，这些点以后选的时候一定是不能放到独立集的，这样这个状态才是对的。
由于不知道独立集...]]></description><category></category></item><item><title><![CDATA[【NOI2019模拟2019.6.17】互膜]]></title><link>https://blog.youkuaiyun.com/Cold_Chair/article/details/92718322</link><guid>https://blog.youkuaiyun.com/Cold_Chair/article/details/92718322</guid><author>Cold_Chair</author><pubDate>Mon, 17 Jun 2019 21:38:26 +0800</pubDate><description><![CDATA[https://jzoj.net/senior/#contest/show/2775/2
题目大意：
给你n(偶数)n(偶数)n(偶数)张卡片，第iii张价值为s[i]s[i]s[i]
一开始编号奇数的卡片属于A，偶数的属于B。
一共有n−1n-1n−1轮操作，第iii轮，iii是奇数A操作，iii是偶数B操作。
操作可以将第iii或i+1i+1i+1卡的所属权反转，或者不操作。
两人绝顶聪明，希...]]></description><category></category></item><item><title><![CDATA[【NOI2019模拟2019.6.17】可爱]]></title><link>https://blog.youkuaiyun.com/Cold_Chair/article/details/92716669</link><guid>https://blog.youkuaiyun.com/Cold_Chair/article/details/92716669</guid><author>Cold_Chair</author><pubDate>Mon, 17 Jun 2019 21:32:16 +0800</pubDate><description><![CDATA[https://jzoj.net/senior/#contest/show/2775/1
题目大意：
给一个长度为n的字符串。
对每一个长度为m的子串，求其它长度为m的子串有多少个和它最多有一位不同。
1&amp;lt;=m&amp;lt;=n&amp;lt;=1000001&amp;lt;=m&amp;lt;=n&amp;lt;=1000001&lt;=m&lt;=n&lt;=100000
题解...]]></description><category></category></item><item><title><![CDATA[【NOI2019模拟2019.6.14】最大面积（闵科夫斯基和）]]></title><link>https://blog.youkuaiyun.com/Cold_Chair/article/details/92431794</link><guid>https://blog.youkuaiyun.com/Cold_Chair/article/details/92431794</guid><author>Cold_Chair</author><pubDate>Sun, 16 Jun 2019 21:55:44 +0800</pubDate><description><![CDATA[Description：

1&lt;=n&lt;=1e5,1&lt;=q&lt;=1e6
题解：
JSOI2018-战争这道题是闵科夫斯基和裸题。
闵科夫斯基和的作用是在凸包上有奇效，即凸包A和凸包B的闵科夫斯基和的凸包的大小是∣A∣+∣B∣|A|+|B|∣A∣+∣B∣。
先说这个怎么做：
找到两个凸包最上最左的点，加起来后的新点显然是凸包，接下来维护两个指针，一开始在开头，接下来谁的向量的几角...]]></description><category></category></item><item><title><![CDATA[「NOI2017」泳池]]></title><link>https://blog.youkuaiyun.com/Cold_Chair/article/details/92429173</link><guid>https://blog.youkuaiyun.com/Cold_Chair/article/details/92429173</guid><author>Cold_Chair</author><pubDate>Sun, 16 Jun 2019 21:08:13 +0800</pubDate><description><![CDATA[传送门.



Code:
#include&lt;bits/stdc++.h&gt;

#define fo(i, x, y) for(int i = x, B = y; i &lt;= B; i ++)

#define ff(i, x, y) for(int i = x, B = y; i &lt;  B; i ++)

#define fd(i, x, y) for(int i = x, ...]]></description><category></category></item></channel></rss>