蒜头君的树

微软研究院AGU 2013:云端工具栈如何重塑地球科学研究范式 云计算作为一种按需提供弹性计算与存储资源的服务模式,其核心原理在于通过虚拟化技术将物理资源池化,并通过网络对外提供服务。这一技术为数据密集型科学计算带来了革命性价值,它使得研究者无需预先投资和维护昂贵的本地硬件,即可应对爆发式的计算需求。在气候模拟、遥感分析等地球科学应用场景中,海量的观测与模拟数据(如NetCDF、HDF5格式)的处理与分析长期面临‘数据堰塞’与‘计算鸿沟’的挑战。微软研究院在2013年美国地球物理联合会年会上展示的云端解决方案栈,正是针对这些痛点,通过集成弹性计算、统一数据湖与协作框架, 阅读详情

蒜头君的树

题解

先存图,再dfs,dfs的过程中统计以x点为子树的点的总数cnt[x],这样可以求出来x和fa[x]连的这条边一共被使用了(n-cnt[x])*cnt[x]次
再求出来最短路之和tot(因为是树,所以最短路好求),对于每次修改,只需要将将差乘上使用次数就好了

#include<iostream>
#include<cstdio>
using namespace std;
long long x,n,y,fa[1000001],m,e,head[1000001],cnt[100001],dis[100001];
long long tot;
struct node{long long from,to,cost,nxt;}a[1000001];
void add(long long f,long long t,long long w)
{
    e++;
    a[e].to=t;
    a[e].from=f;
    a[e].cost=w;
    a[e].nxt=head[f];
    head[f]=e;
}
void dfs(long long x)
{
    for(long long i=head[x];i;i=a[i].nxt)
    {
        long long t=a[i].to;
        if(t!=fa[x])
        {
            dfs(t);
            cnt[x]+=cnt[t];
            tot+=(n-cnt[t])*cnt[t]*a[i].cost;
        }
    }
    cnt[x]++;
}
int main()
{
//  freopen("1.txt","r",stdin);

    cin>>n;fa[1]=1;
    for(long long i=1;i<=n-1;i++)
    {
        scanf("%lld%lld",&x,&dis[i+1]);
        fa[i+1]=x;
        add(i+1,x,dis[i+1]);
        add(x,i+1,dis[i+1]);
    }
    dfs(1);
    printf("%lld\n",tot);
    cin>>m;
    for(long long i=1;i<=m;i++)
    {
        scanf("%lld%lld",&x,&y);
        tot+=(y-dis[x])*cnt[x]*(n-cnt[x]);
        dis[x]=y;
        printf("%lld\n",tot);
    }
}

吧啦吧啦吧啦吧啦吧啦吧啦吧啦吧啦吧啦

蓝桥 蒜头君和花椰妹的年龄 JAVA 今天蒜头君带着花椰妹和朋友们一起聚会,当朋友们问起年龄的时候,蒜头君打了一个哑谜(毕竟年龄是女孩子的隐私)说:“我的年龄是花椰妹年龄个位数和十位数之和的二倍”。 花椰妹看大家一脸懵逼,就知道大家也不知道蒜头君的年龄,便连忙补充道:“我的年龄是蒜头君个位数和十位数之和的三倍”。 请你计算:蒜头君和花椰妹年龄一共有多少种可能情况? 提醒:两位的年龄都是在 [10,100) 思路:两个for循环加持就可... 阅读详情

相关推荐

题解-蒜头君当大厨

蒜头君当大厨 描述 蒜头君苦练厨艺,终于成为了某高档酒店的大厨。 每天上班,蒜头君会被要求做 n 份菜。既然是高档酒店,那么客人们当然是很讲究的,尤其对于上菜的时间有很多要求。客人们的要求被分成下列四种: 菜品 a 的上菜时间必须比菜品 b 的上菜时间早 d 分钟或者更早。 菜品 a 的上菜时间必须比菜品 b 的上菜时间迟 d 分钟或者更迟。 菜品 a 的上菜时间在 d 分钟以后(包含 d 分钟)...

Ampty36的博客 394

计蒜客 栈 网页跳转

时间限制1000ms 空间限制131072K 蒜头君每天都在用一款名为 “蒜厂浏览器” 的软件。在这个浏览器中,一共三种操作:打开页面、回退和前进。它们的功能如下: 打开页面:在地址栏中输入网址,并跳转到网址对应的页面; 回退:返回到上一次访问的页面; 前进:返回到上次回退前的页面,如果上一次操作是打开页面,那么将无法前进。 现在,蒜头君打开浏览器,进行了一系列操作,你需要输出他每次操作后...

wfcn_zyq的博客 648

情侣牵手、结婚纪念日小助手

用于计算情侣牵手纪念日、结婚纪念日等,有三个功能:一是读取今天的日期,并计算距纪念日的天数;二是计算距纪念日多少天的日期;三是计算某天到纪念日的间距。

网页跳转

题目:蒜头君每天都在用一款名为“蒜厂浏览器”的软件。在这个浏览器中,一共三种操作:打开页面、回退和前进。它们的功能如下: 打开页面:在地址栏中输入网址,并跳转到网址对应的页面; 回退:返回到上一次访问的页面; 前进:返回到上次回退前的页面,如果上一次操作是打开页面,那么将无法前进。 现在,蒜头君打开浏览器,进行了一系列操作,你需要输出他每次操作后所在页面的网址。 输入格式 第一行输入一个整数 n(...

weixin_44336971的博客 331

栈题目.pdf

一份很好的栈题目,帮助数据结构的理解与开发,有需要的同学可以下载

泛微E9与金蝶云星空单点登录集成实战指南

本文详细介绍了泛微E9与金蝶云星空单点登录(SSO)集成的实战指南,包括前期准备、核心代码实现、常见问题排查及安全加固建议。通过集成,企业可实现一次登录全网通行,显著提升工作效率和安全性。文章特别强调了签名生成机制和跳转URL构造的关键技巧,帮助开发者避免常见错误。

weixin_30689307的博客 535

蒜头君的秘密文件

#include<bits/stdc++.h> using namespace std; const int maxn=1001; int dp[maxn][maxn]; int main() { string a,b; cin>>a>>b; for(int i=1; i<=a.length(); i++) ...

chen_zan_yu_的博客 385

STM32 使用rtthread的DMA 串口发送失败

在一次使用RTthread的DMA 串口发送时,持续性通过DMA 发送串口数据时,偶发发送过程中后续数据包无法正常发送出去,后经查,发现为RT-Thread的串口中断处理有瑕疵,后做出修改。另,为了更方便的排查为题,建议修改。左为修改前,右为修改后。

qq_39294918的博客 1108

【NOIP模拟】蒜头君的树

题面 蒜头君有一棵有根树,树的每一边都有边权,蒜头君想知道任意两点间最短距离之和为多少。另外,由于各种原因,蒜头君的树的边的边权会发生若干次改变,蒜头君想让你告诉他,每一次改变后,任意两点间最短距离之和为多少? 数据规模:n<=1e5 m<=5000 分析 水题,统计以每个节点为根的子树的大小 修改一条边只影响这条边连的儿子节点的那一棵子树 ans+=siz[u]*(w2-...

weixin_30896511的博客 90

BUUCTF reverse题解汇总

BUUCTF平台刷题过程中做的一些逆向题解的总结归类

于高山之巅,方见大河奔涌;于群峰之上,更觉长风浩荡。 1万+

Halcon深度学习实战:基于异常值检测的工业缺陷精准识别方案

本文详细介绍了Halcon深度学习中的异常值检测技术在工业缺陷识别中的应用。该方法仅需少量正常样本即可训练,能有效应对未知、多变的缺陷类型,显著降低项目启动门槛。文章提供了从数据准备、模型训练、参数调优到产线部署的完整实战指南,并分享了关键的性能优化与避坑经验。

weixin_29042035的博客 243

蒜头君的树(求树上两点距离之和+不断修改)

蒜头君有一棵有根树,树的每一边都有边权,蒜头君想知道任意两点间最短距离之和为多少。另外,由于各种原因,蒜头君的树的边的边权会发生若干次改变,蒜头君想让你告诉他,每一次改变后,任意两点间最短距离之和为多少? 输入格式 第一行一个正整数 nn,表示蒜头君的树上的结点个数。 接下来 n-1n−1 行,每行两个正整数 x_i,y_ixi​,yi​,x_ixi​表示 i+1i+1 号结点的父亲结点的编...

SummerDream 603

Java utgard连接OPC问题记录

怎么开启是个问题, 是在引入openscada的jar包里的Sever类中修改,这就犯难了, 其实没必要, 只要在自己项目下创建与openscada中Server类相同的路径,并复制Server过去改就行了, 项目会优先使用本地类,像下面这样。奇迹发生了,0x00000005解决. 注: 我的安全补丁编码跟网上查到的并不一样, 所以最初没有删,后来全都删了就好了,这个编码规则咱也不知道.安全日志中记录用户登录行为, OPC通信需要使用Windows系统用户进行登录, 如果用户名密码错误这里会有相关记录.

wangxin1949的博客 2840

蒜头君的树——简单树形DP

题目链接 : https://nanti.jisuanke.com/t/16446 题意 :给定一棵带权树,求任意两边之间的最短距离和是多少。并且树的边权会发生改变,求每次改变后的距离和又是多少。 思路 : 对于下图所示的树 我们以边为研究对象分析。 对于 节点1和节点2之间的边 A,计算2、4、5到1或者3的距离时可以用到。用到的次数是 3 * (5-3) = 6次。即 记以2为根的子树的节...

彤云望月 400

量化交易零基础入门教程

特点 从零开始教编程。靠谱的量化交易学习资源稀少,且具有不讲编程、代码较难、过多等不适合新手等问题,本教程中则会从零开始教编程,解决量化入门过难过编程门槛这一问题。 量化与编程相结合。本教程不仅会教编程,而且会尽量结合量化情景,减少“我要做量化交易为什么要看这些用来培训程序员的东西”的愤懑。 简易精炼,快速入门。尽量只讲最核心最常用的知识,助你快速摆脱想学习量化却处处陌生不知所措的茫然的新手阶段。 读前说明 文后会有自测与自学,包括一些额外的延伸自学内容以及稍有难度的自测题目。 最最最基础的股票.

JanLEE 2886

【论文汇总】Diffusion Models视频生成/视频编辑/可控视频生成/跨模态视频生成

本文总结了Diffusion Models视频生成领域相关的工作,目前共收录142篇,持续更新中。

沉迷单车的追风少年 1672

图和树基础-蒜头君旅行

https://www.jisuanke.com/course/2148/162482 1 #include<bits/stdc++.h> 2 using namespace std; 3 int n; 4 int m; 5 /* 6 通过邻接表对图存储 7 */ 8 bool vis[20005]; 9 struct node 10 { 1...

weixin_30855099的博客 484

uniapp [全端兼容] - 详细实现用户电子签名 “逐字校验“ 将姓名按字拆开分别手写签署签字,把客户名字自动拆成单独的文字并由用户逐个依次签名与汉字笔画校验,支持汉字格、田字格、米字格、方格等!

uniapp,h5移动端网页,微信小程序,支付宝小程序,Android安卓,苹果ios,app,nvue,手写签名,电子签署,逐个字挨着写,写名字,将客户姓名分成单独的文字并依次手写,在田字格里写名字,米字格,方格,合同,书写轨迹,验证手写的文字是否正确,如何在uni-app做姓名拆分成独立的文字后手写每一个字,校验正确性,画板,汉字生成在米字格里并且让用户去写,如何画一个汉字田字格,vue把姓名拆分单独写签名,文字,拆掉,中文汉字网格,一个字一个字签名,一次只签名一个文字,判断签名的文字笔画是否正确,Un

🏆 前端领域优质创作者 1万+

noip模拟赛 蒜头君的树

分析:这道题问的是树上整体的答案,当然要从整体上去考虑. 一条边对答案的贡献是这条边一端连接的点的个数*另一端连接的点的个数*边权,可以用一次dfs来统计答案,之后每次更改操作在原答案的基础上增减就好了. 千万不要傻傻地去求LCA......事实证明只有10分.问的是任意两点最短距离之和,树上两个点的最短路径只有一条,所以才要去考虑每条边的贡献的. #i...

weixin_30588907的博客 102

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

计蒜客 2017 NOIP 提高组模拟赛(一)Day1

T1:蒜头君打地鼠 当时用树状数组求和的,效率并不是很高,但也能过一部分数据,其实暴力用前缀和优化下似乎可以AC。 正解是矩阵旋转+二位前缀和。 #include #include #include #include #include #define MAXN 2005 #define pii pair using namespace std; int n,k; int dat[MAXN

w_h_h_的博客 470

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

计蒜客模拟赛D1T2 蒜头君的树:树上节点之间最短距离和

题目链接:https://nanti.jisuanke.com/t/16446 题意:   给你一棵有n个节点的树以及每条边的长度,输出树上节点之间的最短距离和。然后进行m次操作,每次操作更改一条边的长度,分别输出每次操作后树上节点之间的最短距离和。 题解:   最短距离和 = ∑(树上每一条边被最短路经过的次数 * 这条边的长度)   一个节点到它父节点的边被经过的次数...

a1392136的博客 240

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

上一篇: 强连通分量
下一篇: 归并排序求逆序对
pcccc0616
博客等级 码龄10年 13粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值