<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[BehappyXiang的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/BehappyXiang</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; BehappyXiang]]></copyright><item><title><![CDATA[ural 1069. Prufer Code]]></title><link>https://blog.youkuaiyun.com/BehappyXiang/article/details/16849591</link><guid>https://blog.youkuaiyun.com/BehappyXiang/article/details/16849591</guid><author>BehappyXiang</author><pubDate>Wed, 20 Nov 2013 20:38:56 +0800</pubDate><description><![CDATA[1069. Prufer Code

Time limit: 0.25 second
Memory limit: 8 MB



A tree (i.e. a connected graph without cycles) with vertices is given (N ≥ 2). Vertices of the tree are numbered by the integers]]></description><category></category></item><item><title><![CDATA[ural 1056. Computer Net 树的重心]]></title><link>https://blog.youkuaiyun.com/BehappyXiang/article/details/16840335</link><guid>https://blog.youkuaiyun.com/BehappyXiang/article/details/16840335</guid><author>BehappyXiang</author><pubDate>Wed, 20 Nov 2013 10:33:55 +0800</pubDate><description><![CDATA[很裸的求树的重心。
题意是给出一棵树，然后求树中一个点，使得他到树上最远点的距离最小。
首先树的直径比较好求，就是先固定一个点，然后求这个点在树上的最远点，然后再从这个最远点再求一次最远点，两次得到的最远点就是树的直径的两个端点。然后发现求树的重心，就是求最远点，很明显树上所有点的最远点都在直径的两个端点上，那么重心就一定在直径上了。这样就简单了，找直径的中位点就是重心了。
#include]]></description><category></category></item><item><title><![CDATA[ural1156. Two Rounds(二分染色+dfs)]]></title><link>https://blog.youkuaiyun.com/BehappyXiang/article/details/16804785</link><guid>https://blog.youkuaiyun.com/BehappyXiang/article/details/16804785</guid><author>BehappyXiang</author><pubDate>Mon, 18 Nov 2013 14:52:01 +0800</pubDate><description><![CDATA[#include 
#include 
#include 
#include 
#include 
using namespace std;
#define N 105
#define M 210
struct node
{
    int to,next;
} e[M];
int head[N],esum;
int n,m;
inline void init()
{
    memset(hea]]></description><category></category></item><item><title><![CDATA[bzoj2631 tree(伍一鸣)]]></title><link>https://blog.youkuaiyun.com/BehappyXiang/article/details/12519555</link><guid>https://blog.youkuaiyun.com/BehappyXiang/article/details/12519555</guid><author>BehappyXiang</author><pubDate>Wed, 09 Oct 2013 18:08:19 +0800</pubDate><description><![CDATA[LCT模板题
坑死我了。
首先会超int,这里就不知不觉wa了几次，之后还是WA，以为模板不行，改来改去还是WA。
最后发现数据范围结点下标没有说明.....改成最大范围的结点下标后终于A了

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include]]></description><category></category></item><item><title><![CDATA[URAL 1016 Cube on the Walk (SPFA+HASH)]]></title><link>https://blog.youkuaiyun.com/BehappyXiang/article/details/12018679</link><guid>https://blog.youkuaiyun.com/BehappyXiang/article/details/12018679</guid><author>BehappyXiang</author><pubDate>Wed, 25 Sep 2013 16:28:53 +0800</pubDate><description><![CDATA[很蛋疼的一题，一直在用广搜。先用了优先队列爆搜，发现不行，而且路径不好记录，然后开始用SPFA，然后对每个棋盘上的格子骰子的所有可能的状态HASH，果断样例OK了，结果WA了。一直不知道怎么回事，结果搜一下，发现这个棋盘不是我想象中的棋盘（从上到下8->1，从左到右a->h），就修改了Rotate过了.....

#include 
#include 
#include 
#include]]></description><category></category></item><item><title><![CDATA[HDU4747 2013 ACM/ICPC Asia Regional Hangzhou Online  Mex(线段树)]]></title><link>https://blog.youkuaiyun.com/BehappyXiang/article/details/11729809</link><guid>https://blog.youkuaiyun.com/BehappyXiang/article/details/11729809</guid><author>BehappyXiang</author><pubDate>Mon, 16 Sep 2013 13:11:02 +0800</pubDate><description><![CDATA[手算可以发现，当一组数列a[x]，去掉a[0]后，那么之后新的数列数列的mex值将会发生变化
对于第二组样例 1 0 2 0 1
我们一步步算

得到mex(i,j)(j>=i)
0+2+3+3+3 = 11 //第一次可以得到mex(1,i)(1
     1+1+1+3 = 6   
          0+1+3 = 4
               1+2 = 3]]></description><category></category></item><item><title><![CDATA[BZOJ 2243 树链剖分]]></title><link>https://blog.youkuaiyun.com/BehappyXiang/article/details/11672849</link><guid>https://blog.youkuaiyun.com/BehappyXiang/article/details/11672849</guid><author>BehappyXiang</author><pubDate>Sat, 14 Sep 2013 10:03:56 +0800</pubDate><description><![CDATA[学习了一下树链剖分。
相关文章：http://blog.sina.com.cn/s/blog_7a1746820100wp67.html
这题差不多算是模板题了吧。

#include 
#include 
#include 
#include 
using namespace std;
#define maxn 100005
struct SegTree
{
    int l,r;
 ]]></description><category></category></item><item><title><![CDATA[HDU 4115 Eliminate the Conflict (2-SAT)]]></title><link>https://blog.youkuaiyun.com/BehappyXiang/article/details/11633935</link><guid>https://blog.youkuaiyun.com/BehappyXiang/article/details/11633935</guid><author>BehappyXiang</author><pubDate>Fri, 13 Sep 2013 11:14:21 +0800</pubDate><description><![CDATA[取i表示为与当前Bi平局，i‘为与当前Bi胜利，完成2-SAT模型。
对约束条件进行讨论。

#include 
#include 
#include 
using namespace std;
const int maxn=20002;
const int maxm=40002;
struct node
{
    int to,next;
} e[maxm];
int head[maxn]]></description><category></category></item><item><title><![CDATA[1588: [HNOI2002]营业额统计 (splay模板)]]></title><link>https://blog.youkuaiyun.com/BehappyXiang/article/details/11121221</link><guid>https://blog.youkuaiyun.com/BehappyXiang/article/details/11121221</guid><author>BehappyXiang</author><pubDate>Thu, 05 Sep 2013 11:41:05 +0800</pubDate><description><![CDATA[1588: [HNOI2002]营业额统计
Time Limit: 5 Sec  Memory Limit: 162 MB
Submit: 5860  Solved: 1892
[Submit][Status]
Description

营业额统计 Tiger最近被公司升任为营业部经理，他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况。 Tiger拿出了公司的账本，]]></description><category></category></item><item><title><![CDATA[POJ 2761 (SBT模板)]]></title><link>https://blog.youkuaiyun.com/BehappyXiang/article/details/9921349</link><guid>https://blog.youkuaiyun.com/BehappyXiang/article/details/9921349</guid><author>BehappyXiang</author><pubDate>Mon, 12 Aug 2013 11:59:08 +0800</pubDate><description><![CDATA[#include 
#include 
#include 
#include 
using namespace std;
#define maxn 100005
#define maxm 50005
int ls[maxn],rs[maxn],s[maxn],value[maxn];
int node,root;
void init()
{
    node=root=s[0]=0;
}
void]]></description><category></category></item><item><title><![CDATA[HDU 3397 Sequence operation (线段树)]]></title><link>https://blog.youkuaiyun.com/BehappyXiang/article/details/9815823</link><guid>https://blog.youkuaiyun.com/BehappyXiang/article/details/9815823</guid><author>BehappyXiang</author><pubDate>Wed, 07 Aug 2013 13:13:54 +0800</pubDate><description><![CDATA[思路：和POJ3225有点像，但是多了那么些操作。对于区间1的个数和翻转情况，这都是可以用懒惰标记解决的。对于连续1的个数，需要区间合并。具体还是看注释吧。
#include 
#include 
#include 
#include 
using namespace std;
#define maxn 100005
struct SegTree
{
    int l,r;
    int o]]></description><category></category></item><item><title><![CDATA[HDU 4633 Who's Aunt Zhang （Polya定理）]]></title><link>https://blog.youkuaiyun.com/BehappyXiang/article/details/9717705</link><guid>https://blog.youkuaiyun.com/BehappyXiang/article/details/9717705</guid><author>BehappyXiang</author><pubDate>Fri, 02 Aug 2013 15:41:43 +0800</pubDate><description><![CDATA[设G是p个对象的一个置换群，用m种颜色涂染p个对象，则不同染色方案为：
 
   其中G={g1,…gs}   c(gi )为置换gi的循环节数(i=1…s)
#include 
#include 
#include 
#include 
#include 
using namespace std;
#define MOD 10007
int quickpow(int a,int b)
{
]]></description><category></category></item><item><title><![CDATA[POJ 1971 Parallelogram Counting （Hash）]]></title><link>https://blog.youkuaiyun.com/BehappyXiang/article/details/9699283</link><guid>https://blog.youkuaiyun.com/BehappyXiang/article/details/9699283</guid><author>BehappyXiang</author><pubDate>Thu, 01 Aug 2013 10:41:13 +0800</pubDate><description><![CDATA[Parallelogram Counting




Time Limit: 5000MS
 
Memory Limit: 65536K


Total Submissions: 5625
 
Accepted: 1890




Description

There are n distinct points in the plane, given by t]]></description><category></category></item><item><title><![CDATA[HDU 4630 No Pain No Game 树状数组]]></title><link>https://blog.youkuaiyun.com/BehappyXiang/article/details/9664815</link><guid>https://blog.youkuaiyun.com/BehappyXiang/article/details/9664815</guid><author>BehappyXiang</author><pubDate>Wed, 31 Jul 2013 11:00:28 +0800</pubDate><description><![CDATA[思路：查询一段区间内所有数字的两两最大的公约数。如果将区间内所有的数字的约数列举出来，那么其中出现过两次或以上的约数，最大的就是所求结果了。对查询按L从大到小排序，每次逆序遍历一个数字时，求出它的所有约数，用pos[s]记录约数s上一次出现的位置，那么当更新到现在这个位置的时候，如果pos非空，说明这时出现两次，将上一次的pos[s]更新到区间内，保证在L一定的情况下，查询R时，若L，R中有s，那]]></description><category></category></item><item><title><![CDATA[2013 Multi-University Training Contest 1 Vases and Flowers HDU 4614]]></title><link>https://blog.youkuaiyun.com/BehappyXiang/article/details/9499549</link><guid>https://blog.youkuaiyun.com/BehappyXiang/article/details/9499549</guid><author>BehappyXiang</author><pubDate>Fri, 26 Jul 2013 19:12:38 +0800</pubDate><description><![CDATA[题意：给你N个花瓶，M次操作，每次输入K，如果K为1，那么再输入A,F，表示从A+1编号的花瓶开始，只要有空瓶，就插入一支花，如果F只花插完或者没有空瓶可以插了，就停止，输出最左边插入的和最右边插入的花瓶编号，当然，如果一支没插，或者F=0时，输出"Can not put any one."；如果K为2，再输入A,B，这时，将编号从A到B的所有花瓶中的花清空，输出清空的花的数量。
思路：明显的线]]></description><category></category></item><item><title><![CDATA[2013 Multi-University Training Contest 1 Warm up HDU 4612]]></title><link>https://blog.youkuaiyun.com/BehappyXiang/article/details/9499497</link><guid>https://blog.youkuaiyun.com/BehappyXiang/article/details/9499497</guid><author>BehappyXiang</author><pubDate>Fri, 26 Jul 2013 19:02:12 +0800</pubDate><description><![CDATA[思路：用tarjan算出无向连通图的连通分量的个数，那么桥的个数也就是连通分量个数减一，将在同个连通分量内的点进行缩点，最后将不同连通分量之间连边，求一遍新图(是一棵树)的最长路径(树的直径)，显然，最长的直径加上头尾一条边形成一个环，可以减少相同长度的桥，也就是加上一条边后，原图能达到最少的桥数。
#include 
#include 
#include 
#include 
using na]]></description><category></category></item><item><title><![CDATA[2013 Multi-University Training Contest 1 Occupy Cities HDU 4606]]></title><link>https://blog.youkuaiyun.com/BehappyXiang/article/details/9452105</link><guid>https://blog.youkuaiyun.com/BehappyXiang/article/details/9452105</guid><author>BehappyXiang</author><pubDate>Wed, 24 Jul 2013 16:13:51 +0800</pubDate><description><![CDATA[题意：给你N个城市，M个线段障碍，P个士兵，所有城市和士兵都是建立在平面坐标系上，士兵身上都有一个一定容量的资源背包，每次占领一个城市，中间消耗的资源为移动到那个星球之间的最短距离，当然不能穿过障碍。一个士兵占领一个城市后可以填满背包然后继续去占领其他城市。求最少背包容量为多少，使得最后p个士兵可以占领N个城市。
题解：把平面上所有可以沿直线到达的点连边 （与所给的线段判相交），然后求一遍任意两]]></description><category></category></item><item><title><![CDATA[HDU 4351 (线段树)]]></title><link>https://blog.youkuaiyun.com/BehappyXiang/article/details/9398109</link><guid>https://blog.youkuaiyun.com/BehappyXiang/article/details/9398109</guid><author>BehappyXiang</author><pubDate>Sun, 21 Jul 2013 14:54:31 +0800</pubDate><description><![CDATA[#include 
#include 
#include 
using namespace std;
#define MAX 100005
int add[1025][11],res[1025][1025];
int val[MAX];
bool flag;
struct node
{
    int lsta,rsta,sta;
    int root;
} tree[MAX<<2];
inl]]></description><category></category></item><item><title><![CDATA[HDU 4358 Boring counting (树状数组)]]></title><link>https://blog.youkuaiyun.com/BehappyXiang/article/details/9389047</link><guid>https://blog.youkuaiyun.com/BehappyXiang/article/details/9389047</guid><author>BehappyXiang</author><pubDate>Sat, 20 Jul 2013 10:52:26 +0800</pubDate><description><![CDATA[Boring counting
Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 98304/98304 K (Java/Others)
Total Submission(s): 1584    Accepted Submission(s): 440



Problem Description

In this pro]]></description><category></category></item><item><title><![CDATA[HDU 4305 Lightning (矩阵行列式求生成树个数+高斯逆元求行列式模板)]]></title><link>https://blog.youkuaiyun.com/BehappyXiang/article/details/8989056</link><guid>https://blog.youkuaiyun.com/BehappyXiang/article/details/8989056</guid><author>BehappyXiang</author><pubDate>Wed, 29 May 2013 13:50:54 +0800</pubDate><description><![CDATA[Lightning
Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 999    Accepted Submission(s): 333



Problem Description

There are N robots]]></description><category></category></item></channel></rss>