银联高校极客挑战赛 初赛 第一场 B
试图写非递归求解,然后TLE了一下午==,全程找不到bug,换成递归,一发AC
判断环写得很丑==
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define P pair<int,int> vector<P> G[];
bool vis[];
int n;
int fa[];
int x[];
bool s[];
bool fx[];
int in=-;
int T=;
int a;
bool dfs(int x)
{
T++;
// if(vis[x])return false;
//if(++T>100000)puts(0);
for(int i=; i<G[x].size(); i++)
{
a=G[x][i].first;
//if(G[a].size()==1)continue;
if((a!=fa[x])&&(!vis[a]))
{
fa[a]=x;
vis[a]=;
if(dfs(a))
{
return true;
}
}
else if((a!=fa[x])&&vis[a])
{
fa[a]=x;
in=a;
return true;
}
}
return false;
}
void solve(int k)
{
fx[k]=;
int n=G[k].size();
for(int i=;i<n;i++){
int a=G[k][i].first;
int b=G[k][i].second;
x[a]=b-x[k]; if(!fx[a])
solve(a);
}
}
int main()
{
scanf("%d",&n);
int a,b,c;
int R=;
for(int i=; i<n; i++)
{
scanf("%d%d%d",&a,&b,&c);
G[a].push_back(P(b,c));
G[b].push_back(P(a,c));
if(G[a].size()>G[R].size())R=a;
if(G[b].size()>G[R].size())R=b;
}
vis[R]=;
dfs(R); int t=in;
int g=,dd=;
int ans=; while((!dd)||t!=in)
{
dd=; for(int i=; i<G[t].size(); i++)
{
if(G[t][i].first==fa[t])
{
ans+=g*G[t][i].second;
g*=-;
t=fa[t];
break;
} }
}
x[in]=ans/;
fx[in]=;
solve(in); /*while(true)
{ /*if(T+10>=100000){
puts(0);
}
bool wa=0;
/*for(int i=1; i<=n; i++)
{
if(!fx[i])
{
wa=1;
break;
}
}
if(!wa)break;
if(t==-1)
{
for(int i=1; i<=n; i++)
{
if(fx[i]&&!(s[i]))
{
t=i;
break;
}
}
if(t==-1)break;
}
k=t;
t=-1;
for(int i=0; i<G[k].size(); i++)
{
int l=G[k][i].first;
int r=G[k][i].second;
x[l]=r-x[k];
fx[l]=1;
if(!s[l]&&t==-1)t=l;
}
s[k]=1; }
*/
for(int i=; i<=n; i++)
{
cout<<x[i]<<'\n';
} }
银联高校极客挑战赛 初赛 第一场 B的更多相关文章
- 银联高校极客挑战赛第一场 A.码队女朋友的王者之路[水题]
目录 题目地址 题干 代码和解释 题目地址 计蒜客回顾比赛 码队女朋友的王者之路 题干 代码和解释 本题难度不大,但是一开始没有读懂题,以为净胜场次是确定的,没有"最高净胜场次"的 ...
- MegCup 2017 极客挑战赛 初赛试题
看着像八卦,数数不是八卦,是29卦 每卦又有29个小弧 所以是29×29个bit 这29×29个bit怎么理解呢?并且从哪一卦开始到哪一卦结束?是先环向层层向里走还是先径向逐卦走? 我想不出来. 我猜 ...
- # 「银联初赛第一场」自学图论的码队弟弟(dfs找环+巧解n个二元一次方程)
「银联初赛第一场」自学图论的码队弟弟(dfs找环+巧解n个二元一次方程) 题链 题意:n条边n个节点的连通图,边权为两个节点的权值之和,没有「自环」或「重边」,给出的图中有且只有一个包括奇数个结点的环 ...
- 2019牛客多校第一场 I Points Division(动态规划+线段树)
2019牛客多校第一场 I Points Division(动态规划+线段树) 传送门:https://ac.nowcoder.com/acm/contest/881/I 题意: 给你n个点,每个点有 ...
- 牛客多校第一场 B Inergratiion
牛客多校第一场 B Inergratiion 传送门:https://ac.nowcoder.com/acm/contest/881/B 题意: 给你一个 [求值为多少 题解: 根据线代的知识 我们可 ...
- 2019年牛客多校第一场B题Integration 数学
2019年牛客多校第一场B题 Integration 题意 给出一个公式,求值 思路 明显的化简公式题,公式是分母连乘形式,这个时候要想到拆分,那如何拆分母呢,自然是裂项,此时有很多项裂项,我们不妨从 ...
- 2019年全国高校计算机能力挑战赛初赛C语言解答
http://www.ncccu.org.cn 2019年全国高校计算机能力挑战赛分设大数据算法赛,人工智能算法赛,Office高级应用赛,程序设计赛4大赛项 C语言初赛解答 1:编程1 16.现有一 ...
- 计蒜之道 初赛第一场B 阿里天池的新任务(简单)
阿里“天池”竞赛平台近日推出了一个新的挑战任务:对于给定的一串 DNA 碱基序列 tt,判断它在另一个根据规则生成的 DNA 碱基序列 ss 中出现了多少次. 首先,定义一个序列 ww: \displ ...
- 牛客多校第一场 A Equivalent Prefixes 单调栈(笛卡尔树)
Equivalent Prefixes 单调栈(笛卡尔树) 题意: 给出两个数组u,v,每个数组都有n个不同的元素,RMQ(u,l,r)表示u数组中[l,r]区间里面的最小值标号是多少,求一个最大的m ...
随机推荐
- 用python进行月份加减的函数
import math def add_month(datamonth, num): """ 月份加减函数,返回字符串类型 :param datamonth: 时间(20 ...
- 关于 5.4 Eloquent ORM first() 与 get() 判断是否为空
例如: $model = Model::first(); 可以通过is_null()来判断 $model = Model::get(); laravel自带了一个方法 $model->isEm ...
- JQuery关于span标签的取值赋值
span取值赋值方法有别于一般的页面元素.JQ://赋值$("#spanid").html("hello world") //取值$("#spanid ...
- chrome:// .......命令 集结
Chrome 有很多的特性在界面菜单中是没有体现的,可以通过 chrome:// 命令来访问 我搜集了下面这些!!!当然也是在网上找的!有的我自己也不知道是什么,具体作用是什么!还是等高人来探讨吧!c ...
- vue 点击任意地方防止冒泡
$('.mainL').mouseup(function(e){ let objLeader = $(obj.target); // 设置目标区域 if(!objLeader.is(e.target) ...
- (Git 学习)一个账户怎么创建多个ssh key
(Git 学习)一个账户怎么创建多个ssh key:1.https://segmentfault.com/a/1190000009572470?_ea=1985120 2.https://www.ji ...
- HDU 6697 Closest Pair of Segments(线段距离)
首先最容易想到的就是N2暴力枚举所有线段去找最小值,但是这样会做了许多无用功.我们可以先对线段排序,使得线段最左侧的端点按照x轴y轴排序,然后我们可以限定在这个线段的矩形框内的所有线段才有可能产生最小 ...
- 关于AndroidStudio 配置的默认路径的修改
AndroidStudio的配置默认路径在 C:\Users\用户名\.AndroidStudio3.0 下,在这里会有一个缺点是C盘会常常空间不够用,所以我就想改到其他盘的.看图: Android ...
- js中JSON和JSONP的区别,让你从懵逼到恍然大悟
说到AJAX就会不可避免的面临两个问题,第一个是AJAX以何种格式来交换数据?第二个是跨域的需求如何解决?这两个问题目前都有不同的解决方案,比如数据可以用自定义字符串或者用XML来描述,跨域可以通过服 ...
- nginx location配置讲解
location语法:表示uri方式定位 基础语法有三种: location = pattern {} 精准匹配 location pattern {} 一般匹配 location ~ pattern ...