<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Dy_Dream的博客]]></title><description><![CDATA[因为我一无所有，所以我不怕失去]]></description><link>https://blog.youkuaiyun.com/Dy_Dream</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Dy_Dream]]></copyright><item><title><![CDATA[【树网的核】学习笔记]]></title><link>https://blog.youkuaiyun.com/Dy_Dream/article/details/89522520</link><guid>https://blog.youkuaiyun.com/Dy_Dream/article/details/89522520</guid><author>Dy_Dream</author><pubDate>Thu, 25 Apr 2019 18:59:44 +0800</pubDate><description><![CDATA[原题的范围是300的，基本上暴力就可以跑过去，然鹅，这东西是可以做到O(n)的

首先给出一个性质

这条路一定是在直径上的

这东西可以感性理解加证明

我们可以先跑一遍树形Dp并取出直径

然后我们考虑设一个f数组，f[i]表示直径上的第i个点，除直径相邻点的其他子树中的离他最远的距离

这东西可以O(n)求

我们考虑确定右端点，显然左端点越远越好

这我们可以用单调队列维护

那么，如...]]></description><category></category></item><item><title><![CDATA[CQOI2019|十二省省选游记]]></title><link>https://blog.youkuaiyun.com/Dy_Dream/article/details/89075761</link><guid>https://blog.youkuaiyun.com/Dy_Dream/article/details/89075761</guid><author>Dy_Dream</author><pubDate>Sun, 07 Apr 2019 21:52:52 +0800</pubDate><description><![CDATA[Day1

打开题目，看见T1，发现是求区间的异或的前k大

首先想到了trie，然后想到了经典的固定右端点的堆贪心

然后考虑删除值后找次大值，发现可以可持久化新建点

敲了会，8：40调过大样例调过了

T2是个字典树的题，先跳了

T3是个类似于未来程序的题，肝了两个多小时

回头看T2，发现好像后缀自动机是可以维护的，但是不会打

又看了看，对于所有A串长于B串的，发现B对应的是Sa排序后...]]></description><category></category></item><item><title><![CDATA[【贪心】超级教主]]></title><link>https://blog.youkuaiyun.com/Dy_Dream/article/details/86477532</link><guid>https://blog.youkuaiyun.com/Dy_Dream/article/details/86477532</guid><author>Dy_Dream</author><pubDate>Mon, 14 Jan 2019 15:47:20 +0800</pubDate><description><![CDATA[【题目描述】

LHX教主很能跳，因为Orz他的人太多了。教主跳需要消耗能量，每跳1米就会消耗1点能量，如果教主有很多能量就能跳很高。
教主为了收集能量，来到了一个神秘的地方，这个地方凡人是进不来的。在这里，教主的正上方每100米处就有一个能量球（也就是这些能量球位于海拔100，200，300……米处），每个能量球所能提供的能量是不同的，一共有N个能量球（也就是最后一个能量球在N×100米处）。教...]]></description><category></category></item><item><title><![CDATA[【Splay】【ZJOI2006】书架]]></title><link>https://blog.youkuaiyun.com/Dy_Dream/article/details/86365789</link><guid>https://blog.youkuaiyun.com/Dy_Dream/article/details/86365789</guid><author>Dy_Dream</author><pubDate>Sat, 12 Jan 2019 17:02:29 +0800</pubDate><description><![CDATA[【题目描述】

小T有一个很大的书柜。这个书柜的构造有些独特，即书柜里的书是从上至下堆放成一列。她用1到n的正整数给每本书都编了号。 
小T在看书的时候，每次取出一本书，看完后放回书柜然后再拿下一本。由于这些书太有吸引力了，所以她看完后常常会忘记原来是放在书柜的什么位置。不过小T的记忆力是非常好的，所以每次放书的时候至少能够将那本书放在拿出来时的位置附近，比如说她拿的时候这本书上面有X本书，那么放...]]></description><category></category></item><item><title><![CDATA[【AC自动机】【JSOI2007】文本生成器]]></title><link>https://blog.youkuaiyun.com/Dy_Dream/article/details/85777924</link><guid>https://blog.youkuaiyun.com/Dy_Dream/article/details/85777924</guid><author>Dy_Dream</author><pubDate>Fri, 04 Jan 2019 15:19:31 +0800</pubDate><description><![CDATA[【题目描述】

JSOI交给队员一个任务：编制一个称之为文本生成器的电脑软件。
该软件的使用者是一些低幼人群，他们现在使用的是GW文本生成器V6版。该软件可以随机生成一些文章——总是生成一篇长度固定且完全随机的文章。也就是说，生成的文章中每个字节都是完全随机的。
如果一篇文章中至少包含使用者们了解的一个单词，那么我们说这篇文章是可读的（我们称文章a包含单词b，当且仅当单词b是文章a的子串）。但是，...]]></description><category></category></item><item><title><![CDATA[【树状数组】【BJOI2016】回转寿司]]></title><link>https://blog.youkuaiyun.com/Dy_Dream/article/details/85378835</link><guid>https://blog.youkuaiyun.com/Dy_Dream/article/details/85378835</guid><author>Dy_Dream</author><pubDate>Sun, 30 Dec 2018 12:16:47 +0800</pubDate><description><![CDATA[





题目告诉我们要求连续区间价值大于等于l，小于等于r的数量，我们考虑使用前缀和维护

以sum[i]为结尾的符合条件的区间数量即sum[i]-r至sum[i]-l这段区间中所包含的前面的前缀和的数量

我们考虑使用数组离散化维护

不把sum[i]-l和sum[i]-r加入也可以，代码中为避免麻烦加入了


#include&amp;lt;iostream&amp;gt;
#include&amp;lt;iom...]]></description><category></category></item><item><title><![CDATA[【并查集】猜数]]></title><link>https://blog.youkuaiyun.com/Dy_Dream/article/details/85164526</link><guid>https://blog.youkuaiyun.com/Dy_Dream/article/details/85164526</guid><author>Dy_Dream</author><pubDate>Fri, 21 Dec 2018 16:43:39 +0800</pubDate><description><![CDATA[【题目描述】

已知一个数列,我会告诉你某两项的差,然后你要回答我的问题

【输入格式】

第一行是两个数 n,m，表示数列有n项，一共有m条指令。
接下来有m行,每行一个指令，指令分两类：
1. I_i_j_k 表示第i比第j项大ｋ．
2. A_i_j 询问当前第ｉ项与第ｊ项差的绝对值.('_'表示空格)

【输出格式】

对于每个2类指令,输出一行,无法判断时输出-1

我们考虑用并查集来维护...]]></description><category></category></item><item><title><![CDATA[【树套树】【BZOJ3196】二逼平衡树]]></title><link>https://blog.youkuaiyun.com/Dy_Dream/article/details/84990289</link><guid>https://blog.youkuaiyun.com/Dy_Dream/article/details/84990289</guid><author>Dy_Dream</author><pubDate>Thu, 13 Dec 2018 16:17:35 +0800</pubDate><description><![CDATA[【题目描述】

您需要写一种数据结构（可参考题目标题），来维护一个有序数列，其中需要提供以下操作：
1.查询 x在区间内的排名；
2.查询区间内排名为 k 的值；
3.修改某一位置上的数值；
4.查询 x 在区间内的前趋（前趋定义为小于 x，且最大的数）；
5.查询 x 在区间内的后继（后继定义为大于 x，且最小的数）。

【输入格式】

第一行两个数 n,m，表示长度为 n 的有序序列和 m 个...]]></description><category></category></item><item><title><![CDATA[【DP】WYF的游戏]]></title><link>https://blog.youkuaiyun.com/Dy_Dream/article/details/84865649</link><guid>https://blog.youkuaiyun.com/Dy_Dream/article/details/84865649</guid><author>Dy_Dream</author><pubDate>Thu, 06 Dec 2018 21:40:50 +0800</pubDate><description><![CDATA[【题目描述】

WYF从小就爱乱顶，但是顶是会造成位移的。
他之前水平有限，每次只能顶出k的位移，也就是从一个整点顶到另一个整点上。
我们现在将之简化到数轴上，即从一个整点可以顶到与自己相隔在k之内的数轴上的整点上。
现在WYF的头变多了，于是他能顶到更远的地方，他能顶到任意整点上。
现在他在玩一个游戏，这个游戏里他只能向正方向顶，同时如果他从i顶到j, 他将得到a[j]×(j?i)的分数。
其中...]]></description><category></category></item><item><title><![CDATA[【Splay】【HNOI2012】永无乡]]></title><link>https://blog.youkuaiyun.com/Dy_Dream/article/details/84640711</link><guid>https://blog.youkuaiyun.com/Dy_Dream/article/details/84640711</guid><author>Dy_Dream</author><pubDate>Thu, 29 Nov 2018 21:57:11 +0800</pubDate><description><![CDATA[【题目描述】





基本上一次写过的平衡树，写篇题解留个纪念

开n棵Splay维护这个联通块的第k小值，合并时用启发式合并，因为每次启发式合并一定是用小合并至大，所以每个点最多被合并log次，复杂度正确

维护合并情况采用并查集


#include&amp;lt;iostream&amp;gt;
#include&amp;lt;iomanip&amp;gt;
#include&amp;lt;cstdio&amp;gt;
#include...]]></description><category></category></item><item><title><![CDATA[【Splay】【NOI2004】郁闷的出纳员]]></title><link>https://blog.youkuaiyun.com/Dy_Dream/article/details/84593198</link><guid>https://blog.youkuaiyun.com/Dy_Dream/article/details/84593198</guid><author>Dy_Dream</author><pubDate>Wed, 28 Nov 2018 21:51:16 +0800</pubDate><description><![CDATA[【题目描述】

OIER公司是一家大型专业化软件公司，有着数以万计的员工。作为一名出纳员，我的任务之一便是统计每位员工的工资。这本来是一份不错的工作，但是令人郁闷的是，我们的老板反复无常，经常调整员工的工资。如果他心情好，就可能把每位员工的工资加上一个相同的量。反之，如果心情不好，就可能把他们的工资扣除一个相同的量。我真不知道除了调工资他还做什么其它事情。

工资的频繁调整很让员工反感，尤其是集体...]]></description><category></category></item><item><title><![CDATA[【数学】组合数]]></title><link>https://blog.youkuaiyun.com/Dy_Dream/article/details/84589841</link><guid>https://blog.youkuaiyun.com/Dy_Dream/article/details/84589841</guid><author>Dy_Dream</author><pubDate>Wed, 28 Nov 2018 18:17:46 +0800</pubDate><description><![CDATA[【题目背景】

从m个不同元素中，任取n(n≤m)个元素并成一组，叫做从m个不同元素中取出n个元素的一个组合；从 m 个不同元素中取出 n(n≤m)个元素的所有组合的个数，叫做从 m 个不同元素中取出 n 个元素的组合数，记作 C(m,n)。
你的任务是：计算C(m,n)末尾有几个0。如 C(10,1)=10，末位有一个

【输入格式】

输入文件名为 zero.in。
第一行一个数 T(&amp;lt;...]]></description><category></category></item><item><title><![CDATA[【贪心】喷水装置]]></title><link>https://blog.youkuaiyun.com/Dy_Dream/article/details/84073995</link><guid>https://blog.youkuaiyun.com/Dy_Dream/article/details/84073995</guid><author>Dy_Dream</author><pubDate>Wed, 14 Nov 2018 21:19:13 +0800</pubDate><description><![CDATA[【题目描述】

有一块草坪，横向长w,纵向长为h,在它的橫向中心线上不同位置处装有n(n&amp;lt;=100000)个点状的喷水装置，每个喷水装置i喷水的效果是让以它为中心半径为Ri的圆都被润湿。请在给出的喷水装置中选择尽量少的喷水装置，把整个草坪全部润湿。

【输入格式】

第一行输入一个正整数T表示共有T次测试数据。
每一组测试数据的第一行有三个整数n,w,h，n表示共有n个喷水装置，w表示草坪的...]]></description><category></category></item><item><title><![CDATA[【NOIP2018】游记]]></title><link>https://blog.youkuaiyun.com/Dy_Dream/article/details/83962099</link><guid>https://blog.youkuaiyun.com/Dy_Dream/article/details/83962099</guid><author>Dy_Dream</author><pubDate>Sun, 11 Nov 2018 20:48:02 +0800</pubDate><description><![CDATA[Day0

考前想着怎么也该考一考数据结构或者图论或者数轮吧

敲了手Splay的模板，二位树状数组模板，线段树模板，然后就回寝室打三国杀了(雾)

Day1

T1原题，敲完就去看T2了

T2想了想，是个完全背包，敲完就解决了

T3我想到了二分加上贪心合并，但里面在维护最多数量时并没有想到怎么尽量让上传的足够大

这时候放弃了T3回去看T1，首尾相连，这莫不是个环，没有什么时间推样例了，急急...]]></description><category></category></item><item><title><![CDATA[2018清北学堂武汉游记]]></title><link>https://blog.youkuaiyun.com/Dy_Dream/article/details/83044855</link><guid>https://blog.youkuaiyun.com/Dy_Dream/article/details/83044855</guid><author>Dy_Dream</author><pubDate>Sun, 14 Oct 2018 10:39:42 +0800</pubDate><description><![CDATA[Day0

一大早就坐飞机到了武汉，去看了看，发现是笔记本，也不能先试试手，但感觉还行，时间还早就去黄鹤楼游了一圈，然后就回宾馆玩手机去了

Day1

早上的比赛果然还是令人疲累

先看第一题，似乎可以用树状数组加sort水过去，敲完走人

第二题一个明显的最短路，然后被卡了系统栈空间

第三题什么都没看出来，想到是杨辉三角形，但也没做下去

赛后出来T1忘了第二关键字排序，只剩40，T2被卡栈...]]></description><category></category></item><item><title><![CDATA[【树链剖分】BZOJ2157 旅游]]></title><link>https://blog.youkuaiyun.com/Dy_Dream/article/details/83027961</link><guid>https://blog.youkuaiyun.com/Dy_Dream/article/details/83027961</guid><author>Dy_Dream</author><pubDate>Fri, 12 Oct 2018 15:32:08 +0800</pubDate><description><![CDATA[【题目描述】

Ray 乐忠于旅游，这次他来到了T 城。T 城是一个水上城市，一共有 N 个景点，有些景点之间会用一座桥连接。为了方便游客到达每个景点但又为了节约成本，T 城的任意两个景点之间有且只有一条路径。换句话说， T 城中只有N ? 1 座桥。Ray 发现，有些桥上可以看到美丽的景色，让人心情愉悦，但有些桥狭窄泥泞，令人烦躁。于是，他给每座桥定义一个愉悦度w，也就是说，Ray 经过这座桥会...]]></description><category></category></item><item><title><![CDATA[【简单数学】求值]]></title><link>https://blog.youkuaiyun.com/Dy_Dream/article/details/83014493</link><guid>https://blog.youkuaiyun.com/Dy_Dream/article/details/83014493</guid><author>Dy_Dream</author><pubDate>Thu, 11 Oct 2018 16:30:32 +0800</pubDate><description><![CDATA[【题目描述】



【输入格式】

第1 行，1 个整数N。 
第2 行，N 个整数A1,A2,...,AN。

【输出格式】

输出仅1 个整数，表示所求的值



设sum2[i]表示a[i]*sum[n]的前缀和,sum3[i]表示a[i]*sum[i]的前缀和

则有

此时时间复杂度已经足以AC此题


#include&amp;lt;iostream&amp;gt;
#include&amp;lt;ioman...]]></description><category></category></item><item><title><![CDATA[【最短路变形】偷懒路径]]></title><link>https://blog.youkuaiyun.com/Dy_Dream/article/details/83013298</link><guid>https://blog.youkuaiyun.com/Dy_Dream/article/details/83013298</guid><author>Dy_Dream</author><pubDate>Thu, 11 Oct 2018 15:35:58 +0800</pubDate><description><![CDATA[【题目描述】

呆子打算去上自习，虽然他不愿意。他来到五教门口时，发现他来迟了，事先又没有占位子，可能没有位子了。
根据经验，他知道每个小教室有位子的概率为p1，每个梯形教室有位子的概率为p2，每个扇形教室有位子得概率为p3。
由于他并不是真的想上自习，所以他并不打算到每个教室去找位子，而是选一条从前门走到后门的路径，路过一个教室就进去看看，如果有位子就只好自习，如果没有就继续向前，直到后门还没有...]]></description><category></category></item><item><title><![CDATA[【并查集】集合set]]></title><link>https://blog.youkuaiyun.com/Dy_Dream/article/details/83007050</link><guid>https://blog.youkuaiyun.com/Dy_Dream/article/details/83007050</guid><author>Dy_Dream</author><pubDate>Thu, 11 Oct 2018 09:42:50 +0800</pubDate><description><![CDATA[【题目描述】

现在给你一些连续的整数，它们是从A到B的整数。一开始每个整数都属于各自的集合，然后你需要进行如下操作。
每次选择两个属于不同集合的整数，如果这两个整数拥有大于等于P的公共质因数，那么把他们所在的集合合并。
反复上述操作，直到没有可以合并的集合为止。
现在caima希望知道，最后有多少个集合。

【输入格式】

一行，三个整数A，B，P。

【输出格式】

一个数，表示最终集合的个数...]]></description><category></category></item><item><title><![CDATA[【模拟】军训]]></title><link>https://blog.youkuaiyun.com/Dy_Dream/article/details/83002046</link><guid>https://blog.youkuaiyun.com/Dy_Dream/article/details/83002046</guid><author>Dy_Dream</author><pubDate>Wed, 10 Oct 2018 19:25:59 +0800</pubDate><description><![CDATA[【题目描述】

小L正在参加学校组织的军训。军训的操场是一个n*m的网格，每个网格开始时都没有人。每次军官会指定某些行和列，并在这些行和列的每个交界处都安排站上一名学生。但为了防止两名学生站到同一个网格中，军官每次指定的行和列并不会和之前指定过的重复。军官接到了上级的要求，需要将学生摆成特定的图案，那么军官能否达成要求呢？

【输入格式】

第一行一个整数T，表示数据组数。
接下来每个数据第一行两...]]></description><category></category></item></channel></rss>