<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[迷途的羔羊正在向前行进]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/u013482363</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; u013482363]]></copyright><item><title><![CDATA[关于Floyd的一些疑问]]></title><link>https://blog.youkuaiyun.com/u013482363/article/details/81603633</link><guid>https://blog.youkuaiyun.com/u013482363/article/details/81603633</guid><author>u013482363</author><pubDate>Sun, 12 Aug 2018 09:42:58 +0800</pubDate><description><![CDATA[Floyd是一个很简单的算法,  运用了动态规划的思想.

它是这么描述求最短路的过程的: 设Di,j,kDi,j,kD_{i, j, k} 是i到j的只以(1⋯k)(1⋯k)(1\cdots k)集合中的节点==为中间节点==的最短路径的长度.

若最短路径经过点k, 则Di,j,k=Di,k,k−1+Dk,j,k−1Di,j,k=Di,k,k−1+Dk,j,k−1D_{i, j, k} = D...]]></description><category></category></item><item><title><![CDATA[SuperMemo POJ3580 TREAP]]></title><link>https://blog.youkuaiyun.com/u013482363/article/details/81543313</link><guid>https://blog.youkuaiyun.com/u013482363/article/details/81543313</guid><author>u013482363</author><pubDate>Thu, 09 Aug 2018 20:09:28 +0800</pubDate><description><![CDATA[SuperMemo Treap

POJ3580-SuperMemo

典型的区间操作水题, 我们要注意的点是REVOLVE操作中的T可能是负数.

我因为modify函数写错了, WA了好几次, 要细心.



#include &amp;lt;iostream&amp;gt;
#include &amp;lt;algorithm&amp;gt;
#include &amp;lt;vector&amp;gt;
#include &amp;lt;que...]]></description><category></category></item><item><title><![CDATA[Treap的区间操作 NOI2005维护序列]]></title><link>https://blog.youkuaiyun.com/u013482363/article/details/81543250</link><guid>https://blog.youkuaiyun.com/u013482363/article/details/81543250</guid><author>u013482363</author><pubDate>Thu, 09 Aug 2018 20:05:43 +0800</pubDate><description><![CDATA[Fhq-Treap的序列操作




Fhq-Treap的序列操作

节点
划分
合并
笛卡尔树
性质
构造


插入
删除
求和
最大子列和
修改
翻转










比如NOI2005 维护序列, 这道题应该如何应用Fhq-Treap来维护呢?1



节点

我们还是采用指针式的Fhq-Treap. 为了可以把update(), spread(), assign(), reverse(...]]></description><category></category></item><item><title><![CDATA[Fhq-Treap]]></title><link>https://blog.youkuaiyun.com/u013482363/article/details/81484456</link><guid>https://blog.youkuaiyun.com/u013482363/article/details/81484456</guid><author>u013482363</author><pubDate>Tue, 07 Aug 2018 16:58:51 +0800</pubDate><description><![CDATA[



FHQ Treap

split
merge
insert
remove
precursor
successor
the first k
get rank














FHQ Treap

FHQ Treap是fhq(范浩强)大神发明的非常好用非常有思想的函数式二叉搜索树.

其主要操作分为两个merge, split.

fhq-treap的每个节点只存一个数字, 也就是...]]></description><category></category></item><item><title><![CDATA[[HNOI2004, 洛谷P2286]宠物收容所]]></title><link>https://blog.youkuaiyun.com/u013482363/article/details/81483302</link><guid>https://blog.youkuaiyun.com/u013482363/article/details/81483302</guid><author>u013482363</author><pubDate>Tue, 07 Aug 2018 16:13:04 +0800</pubDate><description><![CDATA[题目描述

凡凡开了一间宠物收养场。收养场提供两种服务：收养被主人遗弃的宠物和让新的主人领养这些宠物。

每个领养者都希望领养到自己满意的宠物，凡凡根据领养者的要求通过他自己发明的一个特殊的公式，得出该领养者希望领养的宠物的特点值a（a是一个正整数，a&amp;lt;2^31），而他也给每个处在收养场的宠物一个特点值。这样他就能够很方便的处理整个领养宠物的过程了，宠物收养场总是会有两种情况发生：被遗弃的宠...]]></description><category></category></item><item><title><![CDATA[[NOI2004, 洛谷P1486]郁闷的出纳员]]></title><link>https://blog.youkuaiyun.com/u013482363/article/details/81479124</link><guid>https://blog.youkuaiyun.com/u013482363/article/details/81479124</guid><author>u013482363</author><pubDate>Tue, 07 Aug 2018 12:21:43 +0800</pubDate><description><![CDATA[题目描述

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

工资的频繁调整很让员工反感，尤其是集体扣除...]]></description><category></category></item><item><title><![CDATA[笛卡尔树]]></title><link>https://blog.youkuaiyun.com/u013482363/article/details/81459325</link><guid>https://blog.youkuaiyun.com/u013482363/article/details/81459325</guid><author>u013482363</author><pubDate>Mon, 06 Aug 2018 18:49:39 +0800</pubDate><description><![CDATA[


笛卡尔树

性质
构造












笛卡尔树

笛卡尔树是一种同时满足二叉搜索树和堆的性质的数据结构. 可以在一个数组上构造出来(时间复杂度可以达到 O(n)O(n)O(n) ). 树中节点有几个属性, key(节点元素的大小, 优先级priority), index(节点在元素组中的索引), left(左子节点), right(右子节点), parent(父节点).



性质...]]></description><category></category></item><item><title><![CDATA[[洛谷P2234, HNOI2002]营业额统计, fhq-treap]]></title><link>https://blog.youkuaiyun.com/u013482363/article/details/81459285</link><guid>https://blog.youkuaiyun.com/u013482363/article/details/81459285</guid><author>u013482363</author><pubDate>Mon, 06 Aug 2018 18:46:24 +0800</pubDate><description><![CDATA[题目描述

Tiger最近被公司升任为营业部经理，他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况。

Tiger拿出了公司的账本，账本上记录了公司成立以来每天的营业额。分析营业情况是一项相当复杂的工作。由于节假日，大减价或者是其他情况的时候，营业额会出现一定的波动，当然一定的波动是能够接受的，但是在某些时候营业额突变得很高或是很低，这就证明公司此时的经营状况出现了问题。经济管...]]></description><category></category></item><item><title><![CDATA[[IOI2014, 洛谷4560]Wall城墙]]></title><link>https://blog.youkuaiyun.com/u013482363/article/details/81349235</link><guid>https://blog.youkuaiyun.com/u013482363/article/details/81349235</guid><author>u013482363</author><pubDate>Wed, 01 Aug 2018 22:25:58 +0800</pubDate><description><![CDATA[给定一个长度为 n 且初始值全为 0 的序列。你需要支持以下两种操作：

Add L,R,h：将序列 [L,R] 内所有值小于 h 的元素都赋为 h ，此时不改变高度大于 h 的元素值
	Remove L,R,h ：将序列 [L,R] 内所有值大于 h 的元素都赋为 h ，此时不改变高度小于 h 的元素值
你需要输出进行 k 次上述操作之后的序列。

这道题处看时没有一点想法, 脑海中只有“啊, ...]]></description><category></category></item><item><title><![CDATA[[洛谷P2023, AHOI2009]维护序列]]></title><link>https://blog.youkuaiyun.com/u013482363/article/details/81334686</link><guid>https://blog.youkuaiyun.com/u013482363/article/details/81334686</guid><author>u013482363</author><pubDate>Wed, 01 Aug 2018 17:44:30 +0800</pubDate><description><![CDATA[这是一道典型的线段树板子题. hzwer说过, 对于线段树的多标记 lazy-tag 可以根据标记的优先级, 优先级高的先下传.

但是我一直思路有点问题, 比如说这道题.

这道题要求的是区间加法, 区间乘法, 要查询的是区间和.

我开始的想法是, 不管是加法标记还是乘法标记都是相斥的, 要进行加法, 就必须把乘法标记清零(其实是清一),

要进行乘法, 就必须把加法标记清零.

这样想的话,...]]></description><category></category></item><item><title><![CDATA[[NOIp2015, 洛谷P2678]跳石头]]></title><link>https://blog.youkuaiyun.com/u013482363/article/details/81330452</link><guid>https://blog.youkuaiyun.com/u013482363/article/details/81330452</guid><author>u013482363</author><pubDate>Wed, 01 Aug 2018 14:47:17 +0800</pubDate><description><![CDATA[题目背景

一年一度的“跳石头”比赛又要开始了!

题目描述

这项比赛将在一条笔直的河道中进行，河道中分布着一些巨大岩石。组委会已经选择好了两块岩石作为比赛起点和终点。在起点和终点之间，有 NN 块岩石（不含起点和终点的岩石）。在比赛过程中，选手们将从起点出发，每一步跳向相邻的岩石，直至到达终点。

为了提高比赛难度，组委会计划移走一些岩石，使得选手们在比赛过程中的最短跳跃距离尽可能长。由于预算...]]></description><category></category></item><item><title><![CDATA[花神游历各国]]></title><link>https://blog.youkuaiyun.com/u013482363/article/details/81286973</link><guid>https://blog.youkuaiyun.com/u013482363/article/details/81286973</guid><author>u013482363</author><pubDate>Mon, 30 Jul 2018 16:19:44 +0800</pubDate><description><![CDATA[当时在火车上思考的， 思考了半天突然发现了开方操作不是平方操作， 开多了就成1了

然后我发现这样就可以暴力的去做了， 因为整个数列最多开6次， 之后就都成了1.

我特别发现数列是没有零的， 如果没有0值的话， 一个区间的和如果等于他的长度， 就不需要开深入修改了。

洛谷P4145的数据是没有零的， libreOj的信息学奥赛一本通提高篇的练习题是有零的。

今天交了几次， 但是都不对， 我发...]]></description><category></category></item><item><title><![CDATA[[AHOI2008]聚会]]></title><link>https://blog.youkuaiyun.com/u013482363/article/details/81282137</link><guid>https://blog.youkuaiyun.com/u013482363/article/details/81282137</guid><author>u013482363</author><pubDate>Mon, 30 Jul 2018 11:32:28 +0800</pubDate><description><![CDATA[题目描述

欢乐岛上有个非常好玩的游戏，叫做“紧急集合”。在岛上分散有N个等待点，有N-1条道路连接着它们，每一条道路都连接某两个等待点，且通过这些道路可以走遍所有的等待点，通过道路从一个点到另一个点要花费一个游戏币。

参加游戏的人三人一组，开始的时候，所有人员均任意分散在各个等待点上（每个点同时允许多个人等待），每个人均带有足够多的游戏币（用于支付使用道路的花费）、地图（标明等待点之间道路连接...]]></description><category></category></item><item><title><![CDATA[[NOI2002]银河英雄传说]]></title><link>https://blog.youkuaiyun.com/u013482363/article/details/81279353</link><guid>https://blog.youkuaiyun.com/u013482363/article/details/81279353</guid><author>u013482363</author><pubDate>Mon, 30 Jul 2018 09:41:24 +0800</pubDate><description><![CDATA[有一个划分为N列的星际战场, 各列依次编号为 1, 2, ···, N. 有 N 艘战舰, 也依次编号为 1 - N, 初始时, 第 i 号战舰在第 i 列.

T条指令, 有两种格式.

1. M i j, 表示让第 i 号战舰所在列的全部战舰保持原有的顺序, 接在第 j 号战舰所在列的尾部.

2. C i j, 表示询问第 i 号战舰与第 j 号战舰是否处在同一列中, 如果在同一列中, 他们...]]></description><category></category></item><item><title><![CDATA[[CodeForces20C]Dijkstra?(Prim, Dijkstra)]]></title><link>https://blog.youkuaiyun.com/u013482363/article/details/81266111</link><guid>https://blog.youkuaiyun.com/u013482363/article/details/81266111</guid><author>u013482363</author><pubDate>Sat, 28 Jul 2018 22:27:56 +0800</pubDate><description><![CDATA[这道题只需要在计算最短路的时候, 记录当前最小边的端点即可, 用faz[]数组.

需要注意的是, 节点1只需要到节点N即可, 不需要整个图都联通. 可以用并查集, 也可以在Dijkstra算法后, 看一下dist[N](节点N到节点1的最短距离)是否为初值.

开始的时候, 我的第一个思路是建立一个最短路径生成树, 然后在遍历这颗树, 从1开始, 到N的路径只有一条.

但是我在提交的时候一直卡...]]></description><category></category></item><item><title><![CDATA[[计蒜客]威虎山上的分配]]></title><link>https://blog.youkuaiyun.com/u013482363/article/details/81258350</link><guid>https://blog.youkuaiyun.com/u013482363/article/details/81258350</guid><author>u013482363</author><pubDate>Sat, 28 Jul 2018 10:40:02 +0800</pubDate><description><![CDATA[问题是这样的, n个人, m个二元组, 对于每个二元组(a, b), 表示a的钱应该比b多.

每个人最少应该有100元, 求最后的总分配钱数.


/*
有两种思路, 一种是正常建边, 最后从在从拓扑序列的前面开始更新wage
第二种是反向建边, 在拓扑排序的时候就直接更新wage
第一种的常数大点.
主要的点是: 对于A-&amp;gt;B, B-&amp;gt;C, A-&amp;gt;C这种关系, A应该最后保留...]]></description><category></category></item><item><title><![CDATA[最小生成树MST的三个简单应用]]></title><link>https://blog.youkuaiyun.com/u013482363/article/details/81251935</link><guid>https://blog.youkuaiyun.com/u013482363/article/details/81251935</guid><author>u013482363</author><pubDate>Fri, 27 Jul 2018 18:07:52 +0800</pubDate><description><![CDATA[kruskal算法相当简单直观~还比prim好用~

应用一, 求最大权值最小的最小生成树.

仔细想一想, 最小生成树的最大权值就是最小的.

应用二, 求次小生成树.

先求一个最小生成树, 然后枚举这个最小生成树的每一条边, 然后计算分别删去这个边的图的最小生成树, 一共有n - 1个, 次小生成树一定是这几个.

poj1679的问图的最小生成树是否为一, 可以先求最小生成树, 在求次小生...]]></description><category></category></item><item><title><![CDATA[[NOIP2013]货车运输]]></title><link>https://blog.youkuaiyun.com/u013482363/article/details/81235124</link><guid>https://blog.youkuaiyun.com/u013482363/article/details/81235124</guid><author>u013482363</author><pubDate>Fri, 27 Jul 2018 12:52:40 +0800</pubDate><description><![CDATA[题目描述

A 国有 n 座城市，编号从 1 到 n ，城市之间有 m 条双向道路。每一条道路对车辆都有重量限制，简称限重。现在有 q 辆货车在运输货物， 司机们想知道每辆车在不超过车辆限重的情况下，最多能运多重的货物。

输入输出格式

输入格式：

 

第一行有两个用一个空格隔开的整数 n,m，表示 A 国有 n 座城市和 m 条道路。 

接下来 m 行每行 3 个整数 x,y,z，每两个...]]></description><category></category></item><item><title><![CDATA[树状数组]]></title><link>https://blog.youkuaiyun.com/u013482363/article/details/81215347</link><guid>https://blog.youkuaiyun.com/u013482363/article/details/81215347</guid><author>u013482363</author><pubDate>Thu, 26 Jul 2018 10:27:13 +0800</pubDate><description><![CDATA[给n, m,

给n个数字, 表示位置i的数字的排名,

再给m个询问, 一个询问由a, b组成, 代表着要询问前i个数字中, 排名前b的数目.

 

当时想了好久好久, 但是一点意识也没有qwq.

后来...看了别人的想法后, 突然就懂了点...

 

这种问题吧, 我感觉是要先确定一些顺序, 再根据已有的顺序进行操作.

比如这里, 先确定询问的顺序, 把询问依据a排序, 这样的话, 对...]]></description><category></category></item><item><title><![CDATA[线段树常规操作]]></title><link>https://blog.youkuaiyun.com/u013482363/article/details/81171539</link><guid>https://blog.youkuaiyun.com/u013482363/article/details/81171539</guid><author>u013482363</author><pubDate>Mon, 23 Jul 2018 17:48:32 +0800</pubDate><description><![CDATA[关于线段树的区间修改(加值), 区间查询(求和), 利用延迟化的思想, 是比较容易的.

主要是想好标记下传中lazy-tag的意义是什么, 这个思路中的add标记的意义是: 当前节点没有问题, 但是子节点要受到当前节点标记的影响.


#include &amp;lt;iostream&amp;gt;
#include &amp;lt;algorithm&amp;gt;
#include &amp;lt;cstdlib&amp;gt;
#in...]]></description><category></category></item></channel></rss>