Building Forest CodeForces - 195E

这题意真是难懂啊...话说"An oriented weighted forest is an acyclic weighted digraph in which from each vertex at most one edge goes."这句话到底什么意思...

题意:有n个点要按照1-n的顺序依次插入一个带边权的森林(森林一开始没有任何点、边),第i+1行描述第i个点插入后的操作。如果某一行为(k,  v1,  x1,  v2,  x2,  ... ,  vk,  xk),那么k表示要连的边的数量,(vj,xj)表示要从第vj个点连一条边到i,其权值为vj到其原来所在树的根节点的路径总长加上xj。(保证数据不产生重边)

做法:看懂了题,就会发现这是一个非常正常(shui)的加权并查集。

 #include<cstdio>
#define md 1000000007
typedef long long LL;
LL fa[];
LL hei[];//记录点i到父亲节点的路径总长
LL ans,n;
LL find(LL x)
{
if(fa[x]==x) return x;
LL t=find(fa[x]);
hei[x]=(hei[fa[x]]+hei[x])%md;
fa[x]=t;
return fa[x];
}
int main()
{
LL i,j,k,v,x,f1;
scanf("%I64d",&n);
for(i=;i<=n;i++)
fa[i]=i;
for(i=;i<=n;i++)
{
scanf("%I64d",&k);
for(j=;j<=k;j++)
{
scanf("%I64d%I64d",&v,&x);
f1=find(v);
//if(f1==i) continue;
fa[f1]=i;
hei[f1]=(x+hei[v])%md;
ans=(ans+hei[f1])%md;
}
}
printf("%I64d",(ans+md)%md);
return ;
}

曾经犯过的错:

1.答案未取模,输出了负数(写了两次,错了两次)

2.误区:12行

 #include<cstdio>
#define md 1000000007
typedef long long LL;
LL fa[];
LL hei2[];//记录点i连向其父亲节点的边的权值
LL hei[];//记录点i到父亲节点的路径总长
LL ans,n;
LL find(LL x)
{
if(fa[x]==x) return x;
LL t=find(fa[x]);
hei[x]=(hei[fa[x]]+hei2[x])%md;
fa[x]=t;
return fa[x];
}
int main()
{
LL i,j,k,v,x,f1;
scanf("%I64d",&n);
for(i=;i<=n;i++)
fa[i]=i;
for(i=;i<=n;i++)
{
scanf("%I64d",&k);
for(j=;j<=k;j++)
{
scanf("%I64d%I64d",&v,&x);
f1=find(v);
if(f1==i) continue;
fa[f1]=i;
hei2[f1]=(x+hei[v])%md;
}
}
for(i=;i<=n;i++)
ans=(ans+hei2[i]+md)%md;
printf("%I64d",ans);
return ;
}

最新文章

  1. const 和宏的区别
  2. Java—面向对象—权限修饰符及思维导图
  3. SQL SERVER 清空日志
  4. [.net 面向对象程序设计深入](13)实战设计模式——设计模式使用场景及原则
  5. android studio 怎么将项目打包成apk文件
  6. 腾讯 AI Lab 计算机视觉中心人脸 &amp; OCR团队近期成果介绍(3)
  7. Java使用对象流读取文件的问题
  8. struts2-第一章-基础用法2
  9. mysql _触发器
  10. HttpWebResponse Post 前端控件数据,后台如何接收?
  11. Quartz.Net进阶之五:TriggerListener 、JobListener 和 SchedulerListener
  12. python 导入模块出错 ImportError: No module named &#39;request&#39;
  13. sqli-labs第一节 get-字符型注入
  14. Maven使用详解,非常详细
  15. python--第五天总结
  16. 在windows上部署使用Redis出现问题的解决方法
  17. Java归去来第1集:手动给Eclipse配置Maven环境
  18. ReactJS.NET 之 Demo 初探
  19. treegrid -表格树异步加载
  20. sessionStorage、localStorage技术相关以及商家sid、sbid记录相关、vue相关问题

热门文章

  1. 关于yum的一些基本的东西
  2. CrateDb
  3. JAVA 0 的突破
  4. ActiveMQ 入门使用p2p模型-主动消费
  5. POJ1459 Power Network —— 最大流
  6. stringBuffer、StringBuilder、排序、Arrays、Jdk1.5新特性(java基础知识十三)
  7. poj 1325 Machine Schedule 解题报告
  8. SPOJ:PATHETIC STRINGS(分配问题&amp;贪心)
  9. maven之setting.xml的配置详解
  10. 「LuoguP3369」 【模板】普通平衡树 (用vector乱搞平衡树