题意: 给一个字符串,表示一颗树,要求你把它整理出来,节点从1开始编号,还要输出树边。解法: 模拟即可。因为由括号,所以可以递归地求,用map存对应关系,np存ind->name的映射,每进入一层括号,使father = now, 遇到右括号')',则father = fa[father],用vec...
分类:
其他好文 时间:
2014-11-16 01:48:42
阅读次数:
222
///白边优先和黑边优先做两次最小生成树
///若有斐波那契树在这中间为yes
# include
# include
# include
# include
# include
using namespace std;
struct node
{
int x;
int y;
int v;
};
struct node a[100010];
int father[...
分类:
其他好文 时间:
2014-11-10 10:08:22
阅读次数:
139
题意:有N个木桩M个栅栏,栅栏连接木桩,现在这些栅栏围成的封闭空间里有至少一只猫,要求破环若干个栅栏救出猫,问破环栅栏的最小长度。
思路:并查集,我也是参考了别人的思想,首先将边存在结构体edge里面,按照边长从大到小排序,然后遍历M条边,当加入某条边时,若两个端点的father值不同,则修改father[x],添加到同一个集合里;设想当加人某一条边时,它的两个端点的father值相同,则加入这条边将形成一个封闭空间(题目中说栅栏不会相交错),那么要打破这个封闭空间就是将这条边破环就行了。
Descr...
分类:
其他好文 时间:
2014-11-09 15:22:54
阅读次数:
190
#include#include#includeusing namespace std;const int maxn = 1111;int len;int head[maxn];//int father[maxn];struct Node{ int to; int next;}e[maxn *...
分类:
其他好文 时间:
2014-11-04 08:06:48
阅读次数:
223
先求一个节点的所有先人,然后从另外一个节点开始向上找,找到第一个共同的先人就是最近公共祖先。#include#include#include#includeusing namespace std;int fathe[1222];int color[122];int father[1222];int ...
分类:
其他好文 时间:
2014-11-04 08:06:41
阅读次数:
118
0.1就是0.1……弱的不行……只是暂时存一下为以后高大上的正解作铺垫Q:LCA都不会你学什么OI?A:我学不了OI了我要滚粗……适当解释:第一行输入点数n以及两个要查询的点q1,q2第二行输入每个点父亲father[i]一行输出ans==最近公共祖先……不会倍增……写了个看起来是正解其实是暴力的东...
分类:
其他好文 时间:
2014-11-01 00:56:44
阅读次数:
268
2个页面分别为Father.cshtml、Child.cshtml 2个控制器分别为FatherController、ChildController 2个js分别为Father.js、Child.js一、FatherController传值给Father.cshtml: 1.View...
分类:
Web程序 时间:
2014-10-30 18:58:59
阅读次数:
220
program bzoj1015;{$inline on}const maxn=400001;type node=record togo,next:longint;end;var tot,n,m,d,cnt:longint; father,head,q,ans:array [0..max...
分类:
其他好文 时间:
2014-10-27 19:06:29
阅读次数:
162
题目大意:给定n个形如xi=ki*x_pi+bi mod p的同余方程组 支持修改操作和求解操作
确实好题 感谢此题作者 顺便吐槽一下作者的Splay不加空节点太蛋疼了0.0
将每个点i的父亲设为pi 我们将会得到一座基环树林 将环上的一条边拆掉,在边的起始节点新开个域special_father记录这条边(P.S:好浪费 但是没办法)
于是我们得到了一座森林 显然可以用LCT来维护 每个节...
分类:
其他好文 时间:
2014-10-25 09:20:13
阅读次数:
284
题目大意:一些农场由一些东西向或者南北向的路相互连接。在不断加边的过程中会询问两个农场的曼哈顿距离是多少,如果目前还不连通,那么输出-1。
思路:带权并查集,f[i]为点i到father[i]的距离,要维护两个值,一个是东西向的距离,一个是南北向的距离,因为以后更新的时候要用到。在合并的时候有些特殊。现在有一条边(x->y),设fx为x的根,fy为y的根,那么现在知道f到fx的距离,y到...
分类:
Web程序 时间:
2014-10-10 15:36:14
阅读次数:
281