<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[(■-■)]]></title><description><![CDATA[一只蒟蒻的OI生涯]]></description><link>https://blog.youkuaiyun.com/mousemjq</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; mousemjq]]></copyright><item><title><![CDATA[【BZOJ1912】【APIO2010】巡逻（树最长链）]]></title><link>https://blog.youkuaiyun.com/mousemjq/article/details/70941620</link><guid>https://blog.youkuaiyun.com/mousemjq/article/details/70941620</guid><author>mousemjq</author><pubDate>Fri, 28 Apr 2017 22:30:29 +0800</pubDate><description><![CDATA[DescriptionInput第一行包含两个整数 n, K(1 ≤ K ≤ 2)。接下来 n – 1行，每行两个整数 a, b， 表示村庄a与b之间有一条道路(1 ≤ a, b ≤ n)。Output输出一个整数，表示新建了K 条道路后能达到的最小巡逻距离。Sample Input8 1 1 2 3 1 3 4 5 3 7 5 8 5 5 6 Sample Output11HINT10%的数据中，]]></description><category></category></item><item><title><![CDATA[【BZOJ1179】【APIO2009】Atm（tarjan+spfa）]]></title><link>https://blog.youkuaiyun.com/mousemjq/article/details/70941595</link><guid>https://blog.youkuaiyun.com/mousemjq/article/details/70941595</guid><author>mousemjq</author><pubDate>Fri, 28 Apr 2017 22:22:49 +0800</pubDate><description><![CDATA[DescriptionInput第一行包含两个整数N、M。N表示路口的个数，M表示道路条数。接下来M行，每行两个整数，这两个整数都在1到N之间，第i+1行的两个整数表示第i条道路的起点和终点的路口编号。接下来N行，每行一个整数，按顺序表示每个路口处的ATM机中的钱数。接下来一行包含两个整数S、P，S表示市中心的编号，也就是出发的路口。P表示酒吧数目。接下来的一行中有P个整数，表示P个有酒吧的路口的编]]></description><category></category></item><item><title><![CDATA[【BZOJ3624】【APIO2008】免费道路（贪心+并查集）]]></title><link>https://blog.youkuaiyun.com/mousemjq/article/details/70941578</link><guid>https://blog.youkuaiyun.com/mousemjq/article/details/70941578</guid><author>mousemjq</author><pubDate>Fri, 28 Apr 2017 22:17:58 +0800</pubDate><description><![CDATA[DescriptionInputOutputSample Input5 7 21 3 04 5 13 2 05 3 14 3 01 2 14 2 1Sample Output3 2 04 3 05 3 11 2 1题解： 
APIO的题好难想QAQ。。 
我果然还是太弱了QAQ。。 
写一个solve函数用于向最小生成树中添加边。 
首先，优先添加1类边，再填0类边。这样就可以得出必须添加的0类边。]]></description><category></category></item><item><title><![CDATA[update 4.28]]></title><link>https://blog.youkuaiyun.com/mousemjq/article/details/70941535</link><guid>https://blog.youkuaiyun.com/mousemjq/article/details/70941535</guid><author>mousemjq</author><pubDate>Fri, 28 Apr 2017 22:06:47 +0800</pubDate><description><![CDATA[我回来啦！！！ 
各位大佬对不起，前一阵懒癌发作没有更新博客，最近一定填坑。]]></description><category></category></item><item><title><![CDATA[【BZOJ1576】【Usaco2009】安全路经Travel（树链剖分+dijkstra）]]></title><link>https://blog.youkuaiyun.com/mousemjq/article/details/68070626</link><guid>https://blog.youkuaiyun.com/mousemjq/article/details/68070626</guid><author>mousemjq</author><pubDate>Wed, 29 Mar 2017 19:56:38 +0800</pubDate><description><![CDATA[DescriptionInput
第一行: 两个空格分开的数, N和M
第2..M+1行: 三个空格分开的数a_i, b_i,和t_i
Output
第1..N-1行: 第i行包含一个数:从牛棚_1到牛棚_i+1并且避免从牛棚1到牛棚i+1最短路经上最后一条牛路的最少的时间.如果这样的路经不存在,输出-1.
Sample Input4 51 2 21 3 23 4 43 2 12 4 3Sample]]></description><category></category></item><item><title><![CDATA[【BZOJ2243】【SDOI2011】染色（树链剖分+线段树）]]></title><link>https://blog.youkuaiyun.com/mousemjq/article/details/68070478</link><guid>https://blog.youkuaiyun.com/mousemjq/article/details/68070478</guid><author>mousemjq</author><pubDate>Wed, 29 Mar 2017 19:50:02 +0800</pubDate><description><![CDATA[Description给定一棵有n个节点的无根树和m个操作，操作有2类： 
1、将节点a到节点b路径上所有点都染成颜色c； 
2、询问节点a到节点b路径上的颜色段数量（连续相同颜色被认为是同一段），如“112221”由3段组成：“11”、“222”和“1”。 
请你写一个程序依次完成这m个操作。Input第一行包含2个整数n和m，分别表示节点数和操作数； 
第二行包含n个正整数表示n个节点的初始颜色]]></description><category></category></item><item><title><![CDATA[【BZOJ3694】最短路（树链剖分）]]></title><link>https://blog.youkuaiyun.com/mousemjq/article/details/68068086</link><guid>https://blog.youkuaiyun.com/mousemjq/article/details/68068086</guid><author>mousemjq</author><pubDate>Wed, 29 Mar 2017 18:23:56 +0800</pubDate><description><![CDATA[Description给出一个n个点m条边的无向图，n个点的编号从1~n，定义源点为1。定义最短路树如下：从源点1经过边集T到任意一点i有且仅有一条路径，且这条路径是整个图1到i的最短路径，边集T构成最短路树。 给出最短路树，求对于除了源点1外的每个点i，求最短路，要求不经过给出的最短路树上的1到i的路径的最后一条边。Input第一行包含两个数n和m，表示图中有n个点和m条边。 
接下来m行，每行有]]></description><category></category></item><item><title><![CDATA[【BZOJ3924】【Zjoi2015】幻想乡战略游戏（树链剖分+点分治）]]></title><link>https://blog.youkuaiyun.com/mousemjq/article/details/68068042</link><guid>https://blog.youkuaiyun.com/mousemjq/article/details/68068042</guid><author>mousemjq</author><pubDate>Wed, 29 Mar 2017 18:17:50 +0800</pubDate><description><![CDATA[Description傲娇少女幽香正在玩一个非常有趣的战略类游戏，本来这个游戏的地图其实还不算太大，幽香还能管得过来，但是不知道为什么现在的网游厂商把游戏的地图越做越大，以至于幽香一眼根本看不过来，更别说和别人打仗了。 在打仗之前，幽香现在面临一个非常基本的管理问题需要解决。 整个地图是一个树结构，一共有n块空地，这些空地被n-1条带权边连接起来，使得每两个点之间有一条唯一的路径将它们连接起来。在游]]></description><category></category></item><item><title><![CDATA[【BZOJ4034】【HAOI2015】树上操作（树链剖分）]]></title><link>https://blog.youkuaiyun.com/mousemjq/article/details/68067968</link><guid>https://blog.youkuaiyun.com/mousemjq/article/details/68067968</guid><author>mousemjq</author><pubDate>Wed, 29 Mar 2017 18:09:41 +0800</pubDate><description><![CDATA[Description有一棵点数为 N 的树，以点 1 为根，且树点有边权。然后有 M 个 
操作，分为三种： 
操作 1 ：把某个节点 x 的点权增加 a 。 
操作 2 ：把某个节点 x 为根的子树中所有点的点权都增加 a 。 
操作 3 ：询问某个节点 x 到根的路径中所有点的点权和。Input第一行包含两个整数 N, M 。表示点数和操作数。接下来一行 N 个整数，表示树中节点的初始权值。接]]></description><category></category></item><item><title><![CDATA[【poj2728】Desert King（最优比率生成树）]]></title><link>https://blog.youkuaiyun.com/mousemjq/article/details/68067932</link><guid>https://blog.youkuaiyun.com/mousemjq/article/details/68067932</guid><author>mousemjq</author><pubDate>Wed, 29 Mar 2017 18:04:48 +0800</pubDate><description><![CDATA[DescriptionDavid the Great has just become the king of a desert country. To win the respect of his people, he decided to build channels all over his country to bring water to every village. Villages wh]]></description><category></category></item><item><title><![CDATA[【BZOJ4401】块的计数]]></title><link>https://blog.youkuaiyun.com/mousemjq/article/details/68067817</link><guid>https://blog.youkuaiyun.com/mousemjq/article/details/68067817</guid><author>mousemjq</author><pubDate>Wed, 29 Mar 2017 17:54:03 +0800</pubDate><description><![CDATA[Description小Y最近从同学那里听说了一个十分牛B的高级数据结构——块状树。听说这种数据结构能在sqrt(N)的时间内维护树上的各种信息，十分的高效。当然，无聊的小Y对这种事情毫无兴趣，只是对把树分块这个操作感到十分好奇。他想，假如能把一棵树分成几块，使得每个块中的点数都相同该有多优美啊！小Y很想知道，能有几种分割方法使得一棵树变得优美。小Y每次会画出一棵树，但由于手速太快，有时候小Y画出来]]></description><category></category></item><item><title><![CDATA[【BZOJ2260】商店购物 & 【BZOJ4349】最小树形图 （朱刘算法）]]></title><link>https://blog.youkuaiyun.com/mousemjq/article/details/68067710</link><guid>https://blog.youkuaiyun.com/mousemjq/article/details/68067710</guid><author>mousemjq</author><pubDate>Wed, 29 Mar 2017 17:45:14 +0800</pubDate><description><![CDATA[DescriptionGrant是一个个体户老板，他经营的小店因为其丰富的优惠方案深受附近居民的青睐，生意红火。小店的优惠方案十分简单有趣。Grant规定：在一次消费过程中，如果您在本店购买了精制油的话，您购买香皂时就可以享受2.00元/块的优惠价；如果您在本店购买了香皂的话，您购买可乐时就可以享受1.50元/听的优惠价……诸如此类的优惠方案就是说：如果您在本店购买了商品A的话，您就可以以P元/件的]]></description><category></category></item><item><title><![CDATA[【BZOJ2960】跨平面（对偶图+朱刘算法）]]></title><link>https://blog.youkuaiyun.com/mousemjq/article/details/68067635</link><guid>https://blog.youkuaiyun.com/mousemjq/article/details/68067635</guid><author>mousemjq</author><pubDate>Wed, 29 Mar 2017 17:38:31 +0800</pubDate><description><![CDATA[DescriptionInput第一行两个整数n和m，表示点与线段的数目。 
接下来n行，每行两个整数x和y，表示第i个点的坐标，点从1到n编号。 
接下来m行，每行四个整数p,q,V1和V2，表示存在一条从第p个点连向第q个点的线段，激活p->q这个方向的费用为V1，另一个方向费用为V2。 
保证若两条线段相交，则交点是它们的公共端点。Output输出一行一个正整数，表示最小总激活费用。Sampl]]></description><category></category></item><item><title><![CDATA[【BZOJ1977】【BeiJing2010】组队次小生成树Tree（生成树）]]></title><link>https://blog.youkuaiyun.com/mousemjq/article/details/68067476</link><guid>https://blog.youkuaiyun.com/mousemjq/article/details/68067476</guid><author>mousemjq</author><pubDate>Wed, 29 Mar 2017 17:28:51 +0800</pubDate><description><![CDATA[Description小 C 最近学了很多最小生成树的算法，Prim 算法、Kurskal 算法、消圈算法等等。 正当小 C 洋洋得意之时，小 P 又来泼小 C 冷水了。小 P 说，让小 C 求出一个无向图的次小生成树，而且这个次小生成树还得是严格次小的，也就是说： 如果最小生成树选择的边集是 EM，严格次小生成树选择的边集是 ES，那么需要满足：(value(e) 表示边 e的权值)  这下小 C]]></description><category></category></item><item><title><![CDATA[【BZOJ1016】【JSOI2008】最小生成树计数 & 【BZOJ1543】生成树计数 （kruskal+matrix_tree定理）]]></title><link>https://blog.youkuaiyun.com/mousemjq/article/details/68067398</link><guid>https://blog.youkuaiyun.com/mousemjq/article/details/68067398</guid><author>mousemjq</author><pubDate>Wed, 29 Mar 2017 17:23:17 +0800</pubDate><description><![CDATA[Description　　现在给出了一个简单无向加权图。你不满足于求出这个图的最小生成树，而希望知道这个图中有多少个不同的 
最小生成树。（如果两颗最小生成树中至少有一条边不同，则这两个最小生成树就是不同的）。由于不同的最小生 
成树可能很多，所以你只需要输出方案数对31011的模就可以了。Input　　第一行包含两个数，n和m，其中1<=n<=100; 1<=m<=1000; 表示该无向图的节点数]]></description><category></category></item><item><title><![CDATA[【BZOJ4698】【Sdoi2008】Sandy的卡片（kmp  后缀数组）]]></title><link>https://blog.youkuaiyun.com/mousemjq/article/details/67665489</link><guid>https://blog.youkuaiyun.com/mousemjq/article/details/67665489</guid><author>mousemjq</author><pubDate>Tue, 28 Mar 2017 22:26:00 +0800</pubDate><description><![CDATA[DescriptionSandy和Sue的热衷于收集干脆面中的卡片。然而，Sue收集卡片是因为卡片上漂亮的人物形象，而Sandy则是为了积攒卡片兑换超炫的人物模型。每一张卡片都由一些数字进行标记，第i张卡片的序列长度为Mi，要想兑换人物模型，首先必须要集够N张卡片，对于这N张卡片，如果他们都有一个相同的子串长度为k，则可以兑换一个等级为k的人物模型。相同的定义为：两个子串长度相同且一个串的全部元素加]]></description><category></category></item><item><title><![CDATA[【bzoj4245】【ONTAK2015】OR-XOR（位运算）]]></title><link>https://blog.youkuaiyun.com/mousemjq/article/details/67662990</link><guid>https://blog.youkuaiyun.com/mousemjq/article/details/67662990</guid><author>mousemjq</author><pubDate>Tue, 28 Mar 2017 22:20:44 +0800</pubDate><description><![CDATA[Description给定一个长度为n的序列a[1],a[2],…,a[n]，请将它划分为m段连续的区间，设第i段的费用c[i]为该段内所有数字的异或和，则总费用为c[1] or c[2] or … or c[m]。请求出总费用的最小值。Input第一行包含两个正整数n,m(1<=m<=n<=500000)，分别表示序列的长度和需要划分的段数。 
第一行包含n个整数，其中第i个数为ai。Output]]></description><category></category></item><item><title><![CDATA[【BZOJ3729】Gty的游戏（伸展树+博弈论）]]></title><link>https://blog.youkuaiyun.com/mousemjq/article/details/67661760</link><guid>https://blog.youkuaiyun.com/mousemjq/article/details/67661760</guid><author>mousemjq</author><pubDate>Tue, 28 Mar 2017 22:18:09 +0800</pubDate><description><![CDATA[Description某一天gty在与他的妹子玩游戏。 
妹子提出一个游戏，给定一棵有根树，每个节点有一些石子，每次可以将不多于L的石子移动到父节点，询问 
将某个节点的子树中的石子移动到这个节点先手是否有必胜策略。 
gty很快计算出了策略。 
但gty的妹子十分机智，她决定修改某个节点的石子或加入某个新节点。 
gty不忍心打击妹子，所以他将这个问题交给了你。 
另外由于gty十分绅士，所以他将]]></description><category></category></item><item><title><![CDATA[【bzoj1251】序列终结者（伸展树）]]></title><link>https://blog.youkuaiyun.com/mousemjq/article/details/67658736</link><guid>https://blog.youkuaiyun.com/mousemjq/article/details/67658736</guid><author>mousemjq</author><pubDate>Tue, 28 Mar 2017 22:11:57 +0800</pubDate><description><![CDATA[Description网上有许多题，就是给定一个序列，要你支持几种操作：A、B、C、D。一看另一道题，又是一个序列 要支持几种操作：D、C、B、A。尤其是我们这里的某人，出模拟试题，居然还出了一道这样的，真是没技术含量……这样 我也出一道题，我出这一道的目的是为了让大家以后做这种题目有一个“库”可以依靠，没有什么其他的意思。这道题目 就叫序列终结者吧。 【问题描述】 给定一个长度为N的序列，每个序列]]></description><category></category></item><item><title><![CDATA[【BZOJ3714】【PA2014】Kuglarz（最小生成树）]]></title><link>https://blog.youkuaiyun.com/mousemjq/article/details/67656878</link><guid>https://blog.youkuaiyun.com/mousemjq/article/details/67656878</guid><author>mousemjq</author><pubDate>Tue, 28 Mar 2017 22:06:03 +0800</pubDate><description><![CDATA[Description魔术师的桌子上有n个杯子排成一行，编号为1,2,…,n，其中某些杯子底下藏有一个小球，如果你准确地猜出是哪些杯子，你就可以获得奖品。花费c_ij元，魔术师就会告诉你杯子i,i+1,…,j底下藏有球的总数的奇偶性。 
采取最优的询问策略，你至少需要花费多少元，才能保证猜出哪些杯子底下藏着球？Input第一行一个整数n(1<=n<=2000)。 
第i+1行(1<=i<=n)有n+]]></description><category></category></item></channel></rss>