2268大约是多少_什么是时态

2268大约是多少_什么是时态小 Q 在电子工艺实习课上学习焊接电路板。一块电路板由若干个元件组成,我们不妨称之为节点,并将其用数字 1,2,3… 进行标号。电路板的各个节点由若干不相交的导线相连接,且对于电路板的任何两个节点,都存在且仅存在一条通路(通路指连接两个元件的导线序列)。在电路板上存在一个特殊的元件称为“激发器”。当激发器工作后,产生一个激励电流,通过导线传向每一个它所连接的节点。而中间节点接收到激励电流后,得到信息,并将该激励电流传向与它连接并且尚未接收到激励电流的节点。最终,激励电流将到达一些“终止节点”——

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

小 Q 在电子工艺实习课上学习焊接电路板。

一块电路板由若干个元件组成,我们不妨称之为节点,并将其用数字 1,2,3… 进行标号。

电路板的各个节点由若干不相交的导线相连接,且对于电路板的任何两个节点,都存在且仅存在一条通路(通路指连接两个元件的导线序列)。

在电路板上存在一个特殊的元件称为“激发器”。

当激发器工作后,产生一个激励电流,通过导线传向每一个它所连接的节点。

而中间节点接收到激励电流后,得到信息,并将该激励电流传向与它连接并且尚未接收到激励电流的节点。

最终,激励电流将到达一些“终止节点”——接收激励电流之后不再转发的节点。

激励电流在导线上的传播是需要花费时间的,对于每条边 e,激励电流通过它需要的时间为 te,而节点接收到激励电流后的转发可以认为是在瞬间完成的。

现在这块电路板要求每一个“终止节点”同时得到激励电路——即保持时态同步。

由于当前的构造并不符合时态同步的要求,故需要通过改变连接线的构造。

目前小 Q 有一个道具,使用一次该道具,可以使得激励电流通过某条连接导线的时间增加一个单位。

请问小 Q 最少使用多少次道具才可使得所有的“终止节点”时态同步?

输入格式
第一行包含一个正整数 N,表示电路板中节点的个数。

第二行包含一个整数 S,为该电路板的激发器的编号。

接下来 N−1 行,每行三个整数 a,b,t。表示该条导线连接节点 a 与节点 b,且激励电流通过这条导线需要 t 个单位时间。

输出格式
仅包含一个整数 V,为小 Q 最少使用的道具次数。

数据范围
1≤N≤5×105,
1≤S,a,b≤N,
1≤t≤106
输入样例:
3
1
1 2 1
1 3 3
输出样例:
2
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 5e5 + 10;
const int M = 2 * N;
struct Edge{ 
   
    int v,next,w;
}edge[M];
int head[N],cnt;
void add(int u,int v,int w){ 
   
    edge[cnt].v = v;
    edge[cnt].w = w;
    edge[cnt].next = head[u];
    head[u] = cnt ++;
}
ll f[N];
ll dfs(int u,int fa){ 
   
    ll ma = 0,ans = 0;
    for(int i = head[u];~i;i = edge[i].next){ 
   
        int v = edge[i].v,w = edge[i].w;
        if(v == fa)continue;
        ans += dfs(v,u);
        ma = max(ma,f[v] + w);
    }
    for(int i = head[u];~i;i = edge[i].next){ 
   
        int v = edge[i].v,w = edge[i].w;
        if(v == fa)continue;
        ans += (ma - f[v] - w);
    }
    f[u] = ma;
    return ans;
}
int main(){ 
   
    memset(f,0,sizeof f);
    memset(head,-1,sizeof head);
    int s,n;
    cin>>n>>s;
    int x,y,w;
    for(int i = 0;i < n - 1;i ++){ 
   
        cin>>x>>y>>w;
        add(x,y,w);
        add(y,x,w);
    }
    ll ans = dfs(s,-1);
    cout<<ans<<endl;
    return 0;
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/169061.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • elementUI el-image图片加载失败解决[通俗易懂]

    elementUI el-image图片加载失败解决[通俗易懂]使用el-image显示图片加载失败代码:<el-imagestyle=”width:100%;height:50px;margin:4px5px2px5px;”src=”../assets/logo1.png”/>效果:解决:src用里面加个require代码:<el-imagestyle=”width:100%;height:50px;margin:4px5px2px5px;”:src=.

    2022年5月12日
    995
  • java程序员必读的书_程序员必读的十四本经典书籍

    java程序员必读的书_程序员必读的十四本经典书籍必看书单

    2022年10月24日
    1
  • redisson读写锁使用场景_Redisson酒店

    redisson读写锁使用场景_Redisson酒店读写锁一次只有一个线程可以占有写模式的读写锁,但是可以有多个线程同时占有读模式的读写锁.正是因为这个特性,当读写锁是写加锁状态时,在这个锁被解锁之前,所有试图对这个锁加锁的线程都会被阻塞.当读写锁在读加锁状态时,所有试图以读模式对它进行加锁的线程都可以得到访问权,但是如果线程希望以写模式对此锁进行加锁,它必须直到所有的线程释放锁.通常,当读写锁处于读模式锁住状态时,如果有另外线程试图以写模式加锁,读写锁通常会阻塞随后的读模式锁请求,这样可以避免读模式锁长期占用,而等待的写模式

    2022年8月12日
    4
  • linux shell if字符串比较大小,linux中shell if 判断总结

    linux shell if字符串比较大小,linux中shell if 判断总结UNIXShell里面比较字符写法-eq等于;-ne不等于;-gt大于;-lt小于;-le小于等于;-ge大于等于;-z空串;-n非空串;=两个字符相等;!=两个字符不等无论什么编程语言都离不开条件…

    2022年7月11日
    16
  • btc矿池接入矿机_ipfs挖矿服务器

    btc矿池接入矿机_ipfs挖矿服务器源码介绍基于ThinkPHP框架开发的BTB矿池区块链挖矿云矿机平台PHP源码,支持在线购买矿机进行区块挖矿,支持分销发展线下获取相应的佣金。后台采用ThinkPHP+ACE框架进行开发的手机WAP端区块链挖矿平台源码,拥有完善的权限控制机制,功能完善!!功能介绍①注册实名认证赠送矿机,可后台自己调整②赠送矿池资产,可每日释放,可调整大量排队等待买入的订单推广奖励制度:一级矿工:直推10人,团队3…

    2022年9月1日
    0
  • wuauclt1.exe mshta.exe 病毒清理

    wuauclt1.exe mshta.exe 病毒清理现象:系统xp,开机1小时以后还不能打开应用,从“事件查看器”来看是困在wuauclt.exec:\windows\system32\wuauclt1.exe在删除后就又出现了使用360急救后,上述文件仍然删除后就又出现了下载 Tweaking.com-WindowsRepair1.7.5 Author:Tweaking.comDate:2012-06

    2022年7月15日
    13

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号