AC日记——【模板】点分治(聪聪可可) 洛谷 P2634
思路:
点分治;
(感谢灯神)
代码:
#include <bits/stdc++.h>
using namespace std;
#define maxn 20005
#define INF 0x7fffffff
int n,m,sum,num,cnt,ans,L,root,t;
int head[maxn],vis[maxn],d[maxn];
int size[maxn],lar[maxn],flag[];
int E[maxn<<],V[maxn<<],W[maxn<<];
inline void in(int &now)
{
char Cget=getchar();now=;
while(Cget>''||Cget<'')Cget=getchar();
while(Cget>=''&&Cget<='')
{
now=now*+Cget-'';
Cget=getchar();
}
}
inline void edge_add(int u,int v,int w)
{
E[++cnt]=head[u],V[cnt]=v,W[cnt]=w,head[u]=cnt;
E[++cnt]=head[v],V[cnt]=u,W[cnt]=w,head[v]=cnt;
}
inline int gcd(int a,int b)
{
return b==?a:gcd(b,a%b);
}
void GetRoot(int now,int fa)
{
size[now]=,lar[now]=;
for(int i=head[now];i;i=E[i])
{
if(V[i]==fa||vis[V[i]]) continue;
GetRoot(V[i],now);
size[now]+=size[V[i]];
lar[now]=max(lar[now],size[V[i]]);
}
lar[now]=max(lar[now],sum-size[now]);
if(lar[now]<lar[root]) root=now;
}
void GetDeep(int now,int fa)
{
flag[d[now]]++;
for(int i=head[now];i;i=E[i])
{
if(vis[V[i]]||V[i]==fa)continue;
d[V[i]]=(d[now]+W[i])%;
GetDeep(V[i],now);
}
}
int cal(int now,int dis)
{
d[now]=dis,flag[]=flag[]=flag[]=;
GetDeep(now,);
return flag[]*flag[]*+flag[]*flag[];
}
void work(int now)
{
ans+=cal(now,),vis[now]=;
for(int i=head[now];i;i=E[i])
{
if(vis[V[i]]) continue;
ans-=cal(V[i],W[i]);
root=,sum=size[V[i]];
GetRoot(V[i],),work(root);
}
}
int main()
{
in(n);int u,v,w;
for(int i=;i<n;i++)
{
in(u),in(v),in(w);
edge_add(u,v,w%);
}
sum=n,lar[]=n+;
GetRoot(,),work(root);
t=gcd(ans,n*n);
printf("%d/%d\n",ans/t,n*n/t);
return ;
}
AC日记——【模板】点分治(聪聪可可) 洛谷 P2634的更多相关文章
- AC日记——欧几里得的游戏 洛谷 P1290
题目描述 欧几里德的两个后代Stan和Ollie正在玩一种数字游戏,这个游戏是他们的祖先欧几里德发明的.给定两个正整数M和N,从Stan开始,从其中较大的一个数,减去较小的数的正整数倍,当然,得到的数 ...
- AC日记——[USACO5.4]奶牛的电信Telecowmunication 洛谷 P1345
[USACO5.4]奶牛的电信Telecowmunication 思路: 水题: 代码: #include <cstdio> #include <cstring> #inclu ...
- AC日记——小木棍【数据加强版】 洛谷 P1120
题目描述 乔治有一些同样长的小木棍,他把这些木棍随意砍成几段,直到每段的长都不超过50. 现在,他想把小木棍拼接成原来的样子,但是却忘记了自己开始时有多少根木棍和它们的长度. 给出每段小木棍的长度,编 ...
- AC日记——L国的战斗之间谍 洛谷 P1916
题目背景 L国即将与I国发动战争!! 题目描述 俗话说的好:“知己知彼,百战不殆”.L国的指挥官想派出间谍前往I国,于是,选人工作就落到了你身上. 你现在有N个人选,每个人都有这样一些数据:A(能得到 ...
- AC日记——[USACO1.5]数字三角形 Number Triangles 洛谷 P1216
题目描述 观察下面的数字金字塔. 写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大.每一步可以走到左下方的点也可以到达右下方的点. 7 3 8 8 1 0 2 7 4 4 4 5 ...
- AC日记——[USACO08DEC]干草出售Hay For Sale 洛谷 P2925
题目描述 Farmer John suffered a terrible loss when giant Australian cockroaches ate the entirety of his ...
- 模板—点分治A(容斥)(洛谷P2634 [国家集训队]聪聪可可)
洛谷P2634 [国家集训队]聪聪可可 静态点分治 一开始还以为要把分治树建出来……• 树的结构不发生改变,点权边权都不变,那么我们利用刚刚的思路,有两种具体的分治方法.• A:朴素做法,直接找重心, ...
- 洛谷 P2634 BZOJ 2152 【模板】点分治(聪聪可可)
题目描述 聪聪和可可是兄弟俩,他们俩经常为了一些琐事打起来,例如家中只剩下最后一根冰棍而两人都想吃.两个人都想玩儿电脑(可是他们家只有一台电脑)……遇到这种问题,一般情况下石头剪刀布就好了,可是他们已 ...
- 洛谷-P2634 [国家集训队]聪聪可可 点分治
Description 聪聪和可可是兄弟俩,他们俩经常为了一些琐事打起来,例如家中只剩下最后一根冰棍而两人都想吃.两个人都想玩儿电脑(可是他们家只有一台电脑)……遇到这种问题,一般情况下石头剪刀布就好 ...
随机推荐
- 洛谷:P2922 [USACO08DEC]秘密消息(Trie树)
P2922 [USACO08DEC]秘密消息Secret Message 题目链接:https://www.luogu.org/problemnew/show/P2922 题目描述 贝茜正在领导奶牛们 ...
- How far away ? LCA求树上两点距离
How far away ? Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...
- [python]字符串的ljust方法
ljust用法: string.ljust(number,'x') 格式化输出字符串,按照number数量调整字符串的总长度,ljust是左对齐,‘x’是填充字符,默认是空格 类似的还有rjust,c ...
- XMind 8 破解补丁 XMindCrack.jar注册机激活教程
XMind 8 破解补丁 XMindCrack.jar注册机激活教程 Xmind 8 update7破解版(附破解教程|激活补丁|序列号) 思维导图 XMind 8 Update 7 Pro 破解版 ...
- SpringMVC 用注解Annotation驱动的IoC功能@Autowired @Component
转载自:http://blog.csdn.net/lufeng20/article/details/7598564 本文分为三个部分:概述.使用注解进行属性注入.使用注解进行Bean的自动定义. 一, ...
- defer与async的区别
当浏览器碰到 script 脚本的时候: <script src="script.js"></script> 没有 defer 或 async,浏览器会立即 ...
- jquery ajax的知识点
jquery中的ajax方法参数总是记不住,这里记录一下. 1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. 2.type: 要求为String类型的参数,请求方式(p ...
- SpringBoot jar包不支持jsp
官方原文如下: When running a Spring Boot application that uses an embedded servlet container (and is packa ...
- freemarker中空值“”,null值的判断
原文:http://zhousheng193.iteye.com/blog/1319772 <#if letVo.manageScore!=""> ${html('${ ...
- 12.13记录//QQDemo示例程序源代码
笔记的完整版pdf文档下载地址: https://www.evernote.com/shard/s227/sh/ac692160-68c7-4149-83ea-0db5385e28b0 ...