吴中快速建设网站价格福清市建设局网站
吴中快速建设网站价格,福清市建设局网站,wordpress文字logo,用dw怎么做网站留言板题目大意
给你一棵树#xff0c;距离为2的两个点代价为wi∗wjw_i*w_jwi∗wj#xff0c;问你最小代价和代价之和 解题思路
搜索这棵树#xff0c;每次拿父亲和子节点一起计算即可 代码
#includecstdio
#includecstring
#includealgorithm
#de…题目大意
给你一棵树距离为2的两个点代价为wi∗wjw_i*w_jwi∗wj问你最小代价和代价之和 解题思路
搜索这棵树每次拿父亲和子节点一起计算即可 代码
#includecstdio
#includecstring
#includealgorithm
#define ll long long
#define wyc 10007
#define N 200100
using namespace std;
int n, x, y, tot, anssum, ansmax, s[N], head[N];
struct rec
{int to, next;
}a[N1];
void add(int x, int y)
{a[tot].to y;a[tot].next head[x];head[x] tot;
}
void dfs(int x, int fa)
{int sum s[fa] % wyc, maxx s[fa];for (int i head[x]; i; i a[i].next)if (a[i].to ! fa){anssum (anssum sum * s[a[i].to] % wyc) % wyc;//求代价之和ansmax max(ansmax, maxx * s[a[i].to]);//求最大值dfs(a[i].to, x);sum (sum s[a[i].to]) % wyc;maxx max(maxx, s[a[i].to]);}return;
}
int main()
{scanf(%d, n);for (int i 1; i n; i){scanf(%d%d, x, y);add(x, y);add(y, x);}for (int i 1; i n; i)scanf(%d, s[i]);dfs(1, 0);printf(%d %d, ansmax, anssum * 2 % wyc);return 0;
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/90055.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!