<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Todobe]]></title><description><![CDATA[Two funny foolish man.]]></description><link>https://blog.youkuaiyun.com/Todobe</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Todobe]]></copyright><item><title><![CDATA[让Gedit编译你的cpp文件]]></title><link>https://blog.youkuaiyun.com/Todobe/article/details/81015895</link><guid>https://blog.youkuaiyun.com/Todobe/article/details/81015895</guid><author>Todobe</author><pubDate>Thu, 12 Jul 2018 15:08:20 +0800</pubDate><description><![CDATA[原文章：https://blog.youkuaiyun.com/waduan2/article/details/791102704转者按：来自退役者的无奈orz背景：Linux自带的编译器太辣鸡了 (#ノ`Д´)ノ，怒学Gedit开始用Gedit都要用gdb编译好麻烦….其实可以给它配置一下，加个”编译+运行”的功能就OK了主要流程：①点进工具栏-编辑-首选项②在插件栏中，选中”外部工具”③工具栏-工具-Ma...]]></description><category></category></item><item><title><![CDATA[bzoj3211 花神游历各国 线段树]]></title><link>https://blog.youkuaiyun.com/Todobe/article/details/75575098</link><guid>https://blog.youkuaiyun.com/Todobe/article/details/75575098</guid><author>Todobe</author><pubDate>Thu, 20 Jul 2017 19:11:59 +0800</pubDate><description><![CDATA[题目大意： 
维护一个长度为n的序列，支持一下两个操作： 
1、区间开根号（向下取整）； 
2、区间求和。 
n<=100000,m<=200000,序列中的数<=10^9且为非负整数。题目分析： 
都这个逼样了还来刷水，我是心大还是脑子进屎呢T_T区间开根号这个没有什么数据结构维护的了，但是10^9这么大的数开根号5次也就到1了。 
所以说线段树维护一下区间和，然后修改就暴力在线段树上改就可以了，]]></description><category></category></item><item><title><![CDATA[bzoj2906 颜色 分块]]></title><link>https://blog.youkuaiyun.com/Todobe/article/details/75092367</link><guid>https://blog.youkuaiyun.com/Todobe/article/details/75092367</guid><author>Todobe</author><pubDate>Thu, 13 Jul 2017 20:46:16 +0800</pubDate><description><![CDATA[题目大意： 
给一个长度为n的颜色序列，颜色不超过m种，询问位置在l~r中间，颜色在a~b之间的同种颜色出现次数的平方的和。题目分析： 
神分块orz 
每n^(2/3)个数分成一个块，然后预处理出第i个块到第j个块的前k种颜色的答案是多少，和第i块到第j块第k种颜色有多少个。然后对于l~r相同块就暴力一下，否则整块直接读答案，边边角角就暴力更新一下。代码如下：#include <cstdio>
#]]></description><category></category></item><item><title><![CDATA[bzoj1137 [POI2009]Wsp 岛屿 半平面交]]></title><link>https://blog.youkuaiyun.com/Todobe/article/details/74784348</link><guid>https://blog.youkuaiyun.com/Todobe/article/details/74784348</guid><author>Todobe</author><pubDate>Sat, 08 Jul 2017 10:44:36 +0800</pubDate><description><![CDATA[题目大意： 
有一个n个点的凸多边形，任意两个点之间有一条笔直的路径，可以在路径相交的时候换路。 
现在有m条路不能走了，问从点1走到点n的最短路是多少。题目分析： 
这道题其实是让求一个剩余路的半平面交的周长（这到底是怎么想到的orz）。 
但是路有n^2条，但是对于一个点，最前面的一条边可以把后面的所有边都弹掉，所以后面那些边都没有用了，只加最前面的一条边就可以了，于是就变成边数就变成了n。把n]]></description><category></category></item><item><title><![CDATA[bzoj4241 历史研究 回滚莫队]]></title><link>https://blog.youkuaiyun.com/Todobe/article/details/74554327</link><guid>https://blog.youkuaiyun.com/Todobe/article/details/74554327</guid><author>Todobe</author><pubDate>Thu, 06 Jul 2017 15:27:30 +0800</pubDate><description><![CDATA[题目大意： 
有一个长度为n的序列。 
有m个询问，每次询问l~r范围内每个数值乘以该数值出现次数的最大值。题目分析： 
据说这题可以在线做？这题普通的莫队GG，因为不支持快速删除操作，但是支持快速加入一个值的操作，所以上回滚莫队就好了。回滚莫队可以把删除操作去掉，并且时间复杂度仍然保持在在O（nsqrtn）。分块和排序都按照正常莫队做法来，然后在统计答案的时候，如果一个询问的左端点和右端点在同一个]]></description><category></category></item><item><title><![CDATA[bzoj4199 [Noi2015]品酒大会 后缀数组+并查集]]></title><link>https://blog.youkuaiyun.com/Todobe/article/details/74333045</link><guid>https://blog.youkuaiyun.com/Todobe/article/details/74333045</guid><author>Todobe</author><pubDate>Tue, 04 Jul 2017 17:04:52 +0800</pubDate><description><![CDATA[题目大意： 
定义字符串s的两个子串为r相似的当起始位置不同的两个长度为r子串完全相同。 
第一问： 对于每一个r，求出r相似的子串有多少对，0<=r#include <cstdio>
#include <algorithm>
#include <iostream>
#define N 320000
using namespace std;
typedef long long LL;
const L]]></description><category></category></item><item><title><![CDATA[bzoj2877 [Noi2012]魔幻棋盘 二维线段树]]></title><link>https://blog.youkuaiyun.com/Todobe/article/details/74156967</link><guid>https://blog.youkuaiyun.com/Todobe/article/details/74156967</guid><author>Todobe</author><pubDate>Sun, 02 Jul 2017 20:17:37 +0800</pubDate><description><![CDATA[题目大意： 
维护一个矩阵支持两个操作： 
0、查询子矩形gcd。 
1、子矩形整体加一个值。 
所有的询问都会一定包含同一个点。题目分析： 
PoPoQQQ讲解的非常好啊这个…… 
二维线段树可以资磁子矩形查询，但是它不资磁子矩形修改啊orz 
由于gcd(a,b)=gcd(a-b,b)，所以我们可以考虑差分。 
但是上面这个式子使用是有前提的，就是把一些数差分之后，其中必须有一个数时原数才行，恰]]></description><category></category></item><item><title><![CDATA[UOJ#77 bzoj3218  a + b Problem 可持久化线段树优化建图+网络流]]></title><link>https://blog.youkuaiyun.com/Todobe/article/details/74010980</link><guid>https://blog.youkuaiyun.com/Todobe/article/details/74010980</guid><author>Todobe</author><pubDate>Fri, 30 Jun 2017 17:29:32 +0800</pubDate><description><![CDATA[题目大意： 
有n个点，如果第i点染黑得到bi的收益，染白得wi的收益。 
每个点有属性ai，li，ri，pi。 
如果第i个点染成黑色，并且存在一个点j满足 
第j个点染白色,j< i 且 li<=aj<=ri 
则i为奇怪的点，付出pi的代价。 
求总收益最大。 
n<=1e5题目分析： 
可以看出一个网络流的模型。 
从源点向每个点连bi，每个点向汇点连wi。 
对于第i个点，新建一个结点，从]]></description><category></category></item><item><title><![CDATA[bzoj4424  Cf19E Fairy 树形dp]]></title><link>https://blog.youkuaiyun.com/Todobe/article/details/73863245</link><guid>https://blog.youkuaiyun.com/Todobe/article/details/73863245</guid><author>Todobe</author><pubDate>Wed, 28 Jun 2017 19:24:31 +0800</pubDate><description><![CDATA[题目描述： 
给定 n 个点，m 条边的无向图，可以从图中删除一条边，问删除哪些边可以使图变成 
一个二分图。 
n,m<=1000000题目分析： 
戳这里详细题解一个二分图是没有奇环的。 
要让所有的奇环消失，就应该删去所有奇环的交上的边。 
但是如果删去奇环和偶环的交上的边，奇环和偶环就会重新组成一个新的奇环，所以在偶环上的边是不能删的。这样我们随便搞出一颗生成树，对于对于所有树边，在所有奇环]]></description><category></category></item><item><title><![CDATA[bzoj4519 [Cqoi2016]不同的最小割 分治最小割 模板]]></title><link>https://blog.youkuaiyun.com/Todobe/article/details/73811149</link><guid>https://blog.youkuaiyun.com/Todobe/article/details/73811149</guid><author>Todobe</author><pubDate>Tue, 27 Jun 2017 18:00:21 +0800</pubDate><description><![CDATA[题目大意： 
给一张图，求任意两点最小割有多少不同的值。题目分析： 
分治最小割的模板题。 
分治最小割可以在O（n次网络流+n^2）的时间复杂度求出任意两个点之间的最小割。 
我也不知道为什么但是这么做是对的QWQ。对于分治的序列，随便选择两个点作为源点和汇点，跑一遍网络流。 
在S和T之间连一条流量为最小割的边。 
然后和S连通的点分到左边，剩余的点分到右边，递归下去。 
这样做我们会做n-1次]]></description><category></category></item><item><title><![CDATA[bzoj3601 一个人的数论 莫比乌斯反演+高斯消元]]></title><link>https://blog.youkuaiyun.com/Todobe/article/details/73649545</link><guid>https://blog.youkuaiyun.com/Todobe/article/details/73649545</guid><author>Todobe</author><pubDate>Fri, 23 Jun 2017 16:26:04 +0800</pubDate><description><![CDATA[题目大意： 
设fd(n)代表n以内与n互质的数的d次幂的和。 
给出n和d，求fd(n)。题目分析： 
围观题解. 
数论渣渣表示orz……代码如下：#include <cstdio>
#include <algorithm>
#include <iostream>
#define N 120
using namespace std;
typedef long long LL;
const int]]></description><category></category></item><item><title><![CDATA[bzoj1061 [Noi2008]志愿者招募 单纯形（模板）]]></title><link>https://blog.youkuaiyun.com/Todobe/article/details/73555746</link><guid>https://blog.youkuaiyun.com/Todobe/article/details/73555746</guid><author>Todobe</author><pubDate>Wed, 21 Jun 2017 21:27:47 +0800</pubDate><description><![CDATA[题目大意： 
有n天，m种志愿者。 
每天需要ai个志愿者，雇佣每种志愿者的费用为ci，每个志愿者可以在Si天到Ti天工作。 
问最小花费。题目分析： 
题解PoPoQQQ.html 
单纯形wyfcyx.pdf据说这道题网络流神题，单纯形裸题首先我们根据题意 
设第i天需要xi个志愿者。 
Ai,jA{_i,_j}代表第j个人可以在第i天工作。 
bib{_i}代表第i天需要的人数。 
cic{_]]></description><category></category></item><item><title><![CDATA[bzoj2428 [HAOI2006]均分数据 模拟退火]]></title><link>https://blog.youkuaiyun.com/Todobe/article/details/73550481</link><guid>https://blog.youkuaiyun.com/Todobe/article/details/73550481</guid><author>Todobe</author><pubDate>Wed, 21 Jun 2017 16:31:49 +0800</pubDate><description><![CDATA[题目大意： 
把n个数分成m组，要求分的尽量平均，即方差最小，求这个方差。题目分析： 
http://blog.youkuaiyun.com/lych_cys/article/details/50843232 
我们先随机一个答案，设置一个温度，然后把其中一个数从原来的分组中拿出来，随机放到另一个分组中，并计算答案，如果答案更优，就接受，否则就以一定概率（温度越高概率越大）接受这个答案，并且慢慢降温。因为模拟退]]></description><category></category></item><item><title><![CDATA[bzoj1797 [Ahoi2009]Mincut 最小割 网络流+强连通分量]]></title><link>https://blog.youkuaiyun.com/Todobe/article/details/73549413</link><guid>https://blog.youkuaiyun.com/Todobe/article/details/73549413</guid><author>Todobe</author><pubDate>Wed, 21 Jun 2017 15:10:15 +0800</pubDate><description><![CDATA[题目大意： 
给一张图，S和T。 
对于每一条边，问这条边是否可以在最小割中，是否一定在最小割中。题目分析： 
http://hzwer.com/3217.html 
先跑一边网络流，然后在残量网络中进行强连通分量缩点。对于第一问，如果u和v不在一个强连通分量中，则这条边可以在最小割中。 
对于第二问，如果u和S在一个强连通分量中，并且v和T在一个强连通分量中，在这条边必须在最小割中。代码如下：#i]]></description><category></category></item><item><title><![CDATA[bzoj1391 [Ceoi2008]order 网络流——最大权闭合子图]]></title><link>https://blog.youkuaiyun.com/Todobe/article/details/73521837</link><guid>https://blog.youkuaiyun.com/Todobe/article/details/73521837</guid><author>Todobe</author><pubDate>Tue, 20 Jun 2017 22:00:01 +0800</pubDate><description><![CDATA[题目描述： 
有N个工作，M种机器，每种机器你可以租或者买过来. 每个工作包括若干道工序，每道工序需要某种机器来完成,你可以通过购买或租用机器来完成。 现在给出这些参数，求最大利润n<=1200,m<=1200。题目分析： 
最大权闭合子图模型。 
从源点向工作连容量为收益的边。 
从机器向汇点连容量为购买的边。 
从工作向机器连容量为租用的边。 
用总收益减去最小割（即最大流）即可。这题不仅卡时，]]></description><category></category></item><item><title><![CDATA[bzoj2744 [HEOI2012]朋友圈 二分图大匹配——最大独立集]]></title><link>https://blog.youkuaiyun.com/Todobe/article/details/73477929</link><guid>https://blog.youkuaiyun.com/Todobe/article/details/73477929</guid><author>Todobe</author><pubDate>Mon, 19 Jun 2017 22:48:43 +0800</pubDate><description><![CDATA[题目描述： 
在很久很久以前，曾经有两个国家和睦相处，无忧无虑的生活着。一年一度的评比大会开始了，作为和平的两国，一个朋友圈数量最多的永远都是最值得他人的尊敬，所以现在就是需要你求朋友圈的最大数目。 
两个国家看成是AB两国，现在是两个国家的描述：
A国：每个人都有一个友善值，当两个A国人的友善值a、b，如果a xor b mod 2=1， 
那么这两个人都是朋友，否则不是；
B国：每个人都有一个友]]></description><category></category></item><item><title><![CDATA[bzoj4448 [Scoi2015]情报传递 树链剖分+树状数组]]></title><link>https://blog.youkuaiyun.com/Todobe/article/details/73332745</link><guid>https://blog.youkuaiyun.com/Todobe/article/details/73332745</guid><author>Todobe</author><pubDate>Fri, 16 Jun 2017 16:08:18 +0800</pubDate><description><![CDATA[题目大意： 
维护一颗树，支持一下操作（可以离线） 
1、给一个点赋值； 
2、查询一条链上比有多少个点以及某个数（i-c）小的点有多少个。（我这个题目大意略精简了一点哈=。=，但是还是可以比较轻松的把原题目转化成这个意思的）题目分析： 
我们可以把所有的操作离线出来，把赋值操作按照赋值的大小排序（相当于没排，不知道我这个沙茶为毛要排一下>_<） 
然后把所有的询问按照要(i-c)从小到大排序。]]></description><category></category></item><item><title><![CDATA[bzoj3083  遥远的国度 树链剖分+线段树]]></title><link>https://blog.youkuaiyun.com/Todobe/article/details/73326106</link><guid>https://blog.youkuaiyun.com/Todobe/article/details/73326106</guid><author>Todobe</author><pubDate>Fri, 16 Jun 2017 11:34:47 +0800</pubDate><description><![CDATA[题目大意： 
维护一棵树，支持三个操作： 
1、换根； 
2、链修改； 
3、查询子树最小值。题目分析： 
如果只有2、3操作就可以直接树链剖分+线段树裸上了。 
加上1操作后，我们仍然可以树链剖分+线段树裸上。对于查询操作，我们分三种情况讨论： 
假设查询的点为x。 
1、根和x相同：直接输出整棵树的最小值。 
2、根不在x的子树中：直接查询原x的子树。 
3、根在x的子树中：先找到根在x的哪个子]]></description><category></category></item><item><title><![CDATA[bzoj2763 [JLOI2011]飞行路线 Dijkstra]]></title><link>https://blog.youkuaiyun.com/Todobe/article/details/73321179</link><guid>https://blog.youkuaiyun.com/Todobe/article/details/73321179</guid><author>Todobe</author><pubDate>Fri, 16 Jun 2017 09:03:05 +0800</pubDate><description><![CDATA[题目大意： 
n个点，m条边（n<=10000 m<=50000）可以任意将k（k<=10）条边的值改为0，求S到T的最短路。题目分析： 
把一个图拆成k+1个图，连边的时候相同层之间连正常权值，然后从当前层向下一层连一条权值为0的单向边。 
代表有k次机会走一条为0的边到下一层。 
直接跑Dijkstra即可。 
什么？你说spfa？？ 
……代码如下：#include <cstdio>
#inc]]></description><category></category></item><item><title><![CDATA[bzoj3436 小K的农场 差分约束系统]]></title><link>https://blog.youkuaiyun.com/Todobe/article/details/73302997</link><guid>https://blog.youkuaiyun.com/Todobe/article/details/73302997</guid><author>Todobe</author><pubDate>Thu, 15 Jun 2017 21:58:06 +0800</pubDate><description><![CDATA[题目大意： 
给定n个点，m条信息，信息分为三种： 
1、a比b多至少c 
2、a比b多之多c 
3、a和b相等题目分析： 
差分约束系统。 
差分约束系统中的一条边代表b至多比a多c。 
于是我们用一下方式连边然后跑最短路即可： 
1、a->b -c 
2、b->a c 
3，a->b 0第一次写递归版的spfa好羞射o(>﹏<)o 
代码如下：#include <cstdio>
#define]]></description><category></category></item></channel></rss>