题解 CF500D 【New Year Santa Network】

简介: 题目链接 这道题首先是要看看该如何化简,先把三元组化成二元组。之后统计经过某条边的 次数$*$权值  的和。最后除以总基数 $tot$其中,每条边被计算的次数为 子树的点数$*$非子树的点数 (自己想想)然后就没了。

题目链接

这道题首先是要看看该如何化简,先把三元组化成二元组。

之后统计经过某条边的 次数$*$权值  的和。

最后除以总基数 $tot$


其中,每条边被计算的次数为 子树的点数$*$非子树的点数 (自己想想)

然后就没了。

 ps:一定要注意$n$个节点的树有$n-1$条边,本宝宝调了一下午+一晚上。。。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
struct data{int v;int value;int nxt;}edge[200010];
int alist[100010];int cnt;
void add(int u,int v,int value)
{
    edge[++cnt].nxt=alist[u];
    edge[cnt].v=v;
    edge[cnt].value=value;
    alist[u]=cnt;
}

int len[100010];
int num[100010];
int n,m;
int in[100010];int out[100010];

double ans;double tot;
void dfs(int x,int f)
{
    num[x]=1;
    for(int i=alist[x];i!=-1;i=edge[i].nxt)
    {
        int v=edge[i].v;
        if(v==f) continue;
        dfs(v,x);
        num[x]+=num[v];
        ans+=(double)edge[i].value*num[v]*(n-num[v])/tot;
    }
}

int u,v,value;
int main()
{
    scanf("%d",&n);
    memset(alist,-1,sizeof(alist));
    for(int i=1;i<n;i++)
    {
        scanf("%d%d%d",&u,&v,&value);
        in[i]=u;
        out[i]=v;
        len[i]=value;
        add(u,v,value);
        add(v,u,value);
    }
    tot=(double)n*(n-1)/6.0;
    dfs(1,-1);
    scanf("%d",&m);
    for(int i=1;i<=m;i++)
    {
        scanf("%d%d",&u,&v);
        value=min(num[in[u]],num[out[u]]);
        ans-=(double)(len[u]-v)*value*(n-value)/tot;
        len[u]=v;
        printf("%.8lf\n",ans);
    }
    return 0;
}

 

相关文章
|
7月前
|
算法 数据挖掘 数据处理
【博士每天一篇文献-综述】A Modified Echo State Network Model Using Non-Random Topology
本文介绍了一篇博士论文,提出了一种基于非随机拓扑结构的改进型Echo State Networks (ESN)模型,用于处理时间序列数据,通过在储层中使用复杂网络和聚类模型的拓扑结构,提高了模型性能并降低了计算成本,论文还展示了该模型在信号预测和图像分类中的应用。
58 3
【博士每天一篇文献-综述】A Modified Echo State Network Model Using Non-Random Topology
|
5月前
|
机器学习/深度学习 自然语言处理 算法
GANs和CNs有什么区别
【10月更文挑战第14天】GANs和CNs有什么区别
85 2
|
7月前
|
机器学习/深度学习 数据可视化 算法
2023年美赛C题 预测Wordle结果Predicting Wordle Results这题太简单了吧
本文提供了2023年美赛C题"预测Wordle结果"的详细建模方案、Python代码实现、数据和图片,包括对Wordle游戏规则的理解、数据分析、模型构建和结果预测,以及如何撰写给《纽约时报》字谜编辑的信件。
101 1
2023年美赛C题 预测Wordle结果Predicting Wordle Results这题太简单了吧
|
7月前
|
机器学习/深度学习 人工智能
【博士每天一篇文献-模型】Self-organizing deep belief modular echo state network for time series
本文提出了一种自组织深度置信模块式回声状态网络(SDBMESN),通过结合深度置信网络和模块化回声状态网络,利用自组织机制动态调整网络结构,以提高时间序列预测的泛化能力。
38 2
|
7月前
|
机器学习/深度学习 算法 数据挖掘
【博士每天一篇文论文-算法】A small-world topology enhances the echo state property and signal propagationlun
本文研究了小世界拓扑结构在回声状态网络(ESN)中的作用,发现具有层级和模块化组织的神经网络展现出高聚类系数和小世界特性,这有助于提高学习性能和促进信号传播,为理解神经信息处理和构建高效循环神经网络提供了新的视角。
60 0
【博士每天一篇文论文-算法】A small-world topology enhances the echo state property and signal propagationlun
Light oj 1080 - Binary Simulation(树状数组区间更新点查询)
有一字符串只包含0和1,然后又m组操作,I L R是将从L到R的字符进行翻转操作0变为1、1变为0,Q x表示询问第x的字符。
50 0
light oj 1231-1232 - 1233- Coin Change 背包
暂时到半懂不懂也没办法讲明白,就不误人子弟了,直接贴代码了。
41 0
|
算法
light oj 1047 - Neighbor House 动态规划
动态规划,这个和刘汝佳算法竞赛入门经典P158的数字三角形有些相似,不过是求最小的值,而且有些限制,每次走到点和上次走的点不在同一列。
42 0
【High 翻天】Higer-order Networks with Battiston Federico (7)
模拟人类行为的动态过程一直是许多研究的焦点,其中社会关系和交互通常被认为是一种潜在结构,是高阶方法的天然试验场。
116 0
【High 翻天】Higer-order Networks with Battiston Federico (7)
|
资源调度
【High 翻天】Higer-order Networks with Battiston Federico (5)
在给出建模之后,接下来讨论如何将传统意义下的扩散拓展到高阶系统。扩散是一个线性过程,但在许多不同的情况下都有强相关性。
【High 翻天】Higer-order Networks with Battiston Federico (5)