bzoj 1602: [Usaco2008 Oct]牧场行走【瞎搞】
本来想爆手速写个树剖,然而快下课了就手残写了了个n方的短小……
暴力把查询的两个点中深的一个跳上来,加上边权,然后一起跳加边权就行了
#include<iostream>
#include<cstdio>
using namespace std;
const int N=1005;
int n,q,h[N],cnt,fa[N],va[N],de[N];
struct qwe
{
	int ne,to,va;
}e[N<<1];
int read()
{
	int r=0,f=1;
	char p=getchar();
	while(p>'9'||p<'0')
	{
		if(p=='-')
			f=-1;
		p=getchar();
	}
	while(p>='0'&&p<='9')
	{
		r=r*10+p-48;
		p=getchar();
	}
	return r*f;
}
void add(int u,int v,int w)
{
	cnt++;
	e[cnt].ne=h[u];
	e[cnt].to=v;
	e[cnt].va=w;
	h[u]=cnt;
}
void dfs(int u,int fat)
{
	fa[u]=fat;
	de[u]=de[fat]+1;
	for(int i=h[u];i;i=e[i].ne)
		if(e[i].to!=fat)
		{
			va[e[i].to]=e[i].va;
			dfs(e[i].to,u);
		}
}
int main()
{
	n=read(),q=read();
	for(int i=1;i<n;i++)
	{
		int x=read(),y=read(),z=read();
		add(x,y,z),add(y,x,z);
	}
	dfs(1,0);
	while(q--)
	{
		int x=read(),y=read(),ans=0;
		if(de[x]<de[y])
			swap(x,y);
		while(de[x]>de[y])
			ans+=va[x],x=fa[x];
		while(x!=y)
			ans+=va[x]+va[y],x=fa[x],y=fa[y];
		printf("%d\n",ans);
	}
	return 0;
}
bzoj 1602: [Usaco2008 Oct]牧场行走【瞎搞】的更多相关文章
- bzoj 1602 [Usaco2008 Oct]牧场行走(LCA模板)
		1602: [Usaco2008 Oct]牧场行走 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 379 Solved: 216[Submit][Sta ... 
- BZOJ 1602: [Usaco2008 Oct]牧场行走( 最短路 )
		一棵树..或许用LCA比较好吧...但是我懒...写了个dijkstra也过了.. ---------------------------------------------------------- ... 
- BZOJ——1602: [Usaco2008 Oct]牧场行走 ||  洛谷—— P2912 [USACO08OCT]牧场散步Pasture Walking
		http://www.lydsy.com/JudgeOnline/problem.php?id=1602 || https://www.luogu.org/problem/show?pid=2912 ... 
- BZOJ 1602: [Usaco2008 Oct]牧场行走 倍增裸题
		Description N头牛(2<=n<=1000)别人被标记为1到n,在同样被标记1到n的n块土地上吃草,第i头牛在第i块牧场吃草. 这n块土地被n-1条边连接. 奶牛可以在边上行走, ... 
- LCA || BZOJ 1602: [Usaco2008 Oct]牧场行走 || Luogu P2912 [USACO08OCT]牧场散步Pasture Walking
		题面:[USACO08OCT]牧场散步Pasture Walking 题解:LCA模版题 代码: #include<cstdio> #include<cstring> #inc ... 
- BZOJ 1602 [Usaco2008 Oct]牧场行走 dfs
		题意:id=1602">链接 方法:深搜暴力 解析: 这题刚看完还有点意思,没看范围前想了想树形DP,只是随便画个图看出来是没法DP的,所以去看范围. woc我没看错范围?果断n^2暴 ... 
- BZOJ 1602 USACO2008 Oct 牧场行走
		翻翻吴大神的刷题记录翻到的... 乍一看是一个树链剖分吓瓜我...难不成吴大神14-10-28就会了树剖?orz... 再一看SB暴力都可过... 然后一看直接树上倍增码个就好了... 人生真是充满着 ... 
- 1602: [Usaco2008 Oct]牧场行走
		1602: [Usaco2008 Oct]牧场行走 Time Limit: 5 Sec Memory Limit: 64 MB Submit: 1211 Solved: 616 [Submit][ ... 
- 【BZOJ】1602: [Usaco2008 Oct]牧场行走(lca)
		http://www.lydsy.com/JudgeOnline/problem.php?id=1602 一开始以为直接暴力最短路,但是n<=1000, q<=1000可能会tle. 显然 ... 
随机推荐
- 在jinja2的页面中使用javascript对页面元素进行删除
			以对用户注册信息的审核为例. 后端的代码为: #encoding=utf-8 class RegisterCheck(system.page): '''注册信息审核''' path = "/ ... 
- java代码编译过程
			简单随笔 java程序需要先编译成class文件然后才能执行,由于是编程成立机器代码,虚拟机加载内存的时候更快的执行. java文件编译成class文件步骤如下: 1)词法分析,检查每一个关键字单词是 ... 
- C++ Virtual 关键字
			虚函数是C++中用于多态的机制.核心理念就是通过基类访问派生类定义的函数. 基类的析构含糊都必须是virtual的 虚函数只能借助于指针或者引用来达到多态的效果. 前提B类继承与A类 且foo()为虚 ... 
- foobar2000播放dff格式音乐的解决办法
			安装dff插件:http://www.foobar2000.org/components/view/foo_input_dsdiff 离线版本:链接:http://pan.baidu.com/s/1e ... 
- JavaScript 中 for 循环
			在ECMAScript5(简称 ES5)中,有三种 for 循环,分别是: 简单for循环 for-in forEach 在2015年6月份发布的ECMAScript6(简称 ES6)中,新增了一种循 ... 
- the attribute buffer size is too small 解决方法
			在进行查询的时候引发The attribute buffer size is too small错误解决 http://bbs.esrichina-bj.cn/esri/viewthread.php? ... 
- 一例Ext4文件系统fsck后损坏的修复过程
			1.故障发生背景 Ext4文件系统没有umount下来,之后做了fsck操作检查一致性,结果导致Ext4文件mount不上(有时也会表现为导致目录变成了文件). 报错提示信息:mount: wrong ... 
- MySQL5.6 怎样优化慢查询的SQL语句  -- 慢日志介绍
			近期有个开发团队抱怨我们平台包括的mysql cluster不行,总是报mysql的"heartbeat Error".分析了他们收集的日志.没有发现mysql cluster节点 ... 
- ACM之数论数字根
			先来看一道杭电的数字根问题 此题的大大意是输入一个数.假设它不是一位的数字的话,那么我们就将它的每一位都相加,相加后假设还是两位或者很多其它的话那么我们继续取出它的每一位数字进行相加.知道等到单个数字 ... 
- javaScript定义函数的三种方式&变量的作用域
			一.函数定义 方式1.普通方式定义函数 function 函数名(參数n){ 函数体 } function add(a,b){ return a+b; } 方式2.直接量定义函数 var 函数名=fu ... 
