联合权值

                洛谷中可找到


题目传送门https://www.luogu.org/problemnew/show/P1351

这题我就得了70分(TLE)  GG了

就是遍历它孩子的孩子(爷爷和孙子),然后相乘;

ps:这样会有很多重复,TLE

 #include<cstdio>
#include<iostream>
#define maxn 200000+10
using namespace std;
int max(int x,int y)
{
return x>y?x:y;
}
int n;
struct ii{
int u,v,nxt;
}a[maxn*];
int w[maxn];
int head[maxn];
int o;
inline void add(int x,int y)
{
a[++o].u=x;
a[o].v=y;
a[o].nxt=head[x];
head[x]=o;
}
int main()
{
// freopen("link.in","r",stdin);
// freopen("link".out,"w",stdout);
scanf("%d",&n);
for(int i=,x,y;i<n;++i)
{
scanf("%d%d",&x,&y);
add(x,y);
add(y,x);
}
for(int i=;i<=n;++i)
scanf("%d",&w[i]);
int jl=;
int zui=,he=,wkk=;
for(int i=;i<=n;++i)
{
for(int j=head[i];j;j=a[j].nxt)
{
for(int zz=head[a[j].v];zz;zz=a[zz].nxt)
{
if(a[zz].v!=i)
{
wkk=w[a[zz].v]*w[i];
zui=max(zui,wkk);
he+=wkk;
he%=;
}
}
}
}
printf("%d %d",zui,he);
return ;
}


正解

#include<iostream>
#include<cstdio>
#define maxn 300000+10
using namespace std;
int n;
int max(int x,int y)
{
return x>y?x:y;
}//手写max,fast struct ii{
int v,nxt;
}a[];//链式强向星存图1
int head[];
int w[];
int he,ma;//ans int o;//存图
void add(int x,int y)
{
a[++o].v=y;
a[o].nxt=head[x];
head[x]=o;
} int main()
{
cin>>n;
int x,y;
for(int i=;i<=n-;++i)
{
scanf("%d%d",&x,&y);//输入
add(x,y);add(y,x);//正反存一遍
}
for(int i=;i<=n;++i)
{
scanf("%d",&w[i]);//输入价值
}
int sum,zui;//sum是孩子加起来的和,zui是孩子中最大的
for(int i=;i<=n;++i)
{
sum=(zui=w[a[head[i]].v])%;//初始值
for(int j=a[head[i]].nxt;j;j=a[j].nxt)//从第二个孩子开始遍历
{
//这一部分是求和
he=(he+sum*w[a[j].v])%;//乘法结合律
sum=(sum+w[a[j].v])%;//更新孩子和
//这一部分是求最大值
ma=max(ma,zui*w[a[j].v]);//更新最大值
zui=max(zui,w[a[j].v]);//更新孩子中的最大值
//因为这是最后更新的,所以不用担心出现最大值和自己相乘
}
} printf("%d %d",ma,he*%);//别忘了he*2
return ;
}

联合权值dp的更多相关文章

  1. 【NOIP2014】联合权值 树上dp

    题目描述 Description 无向连通图G 有n 个点,n - 1 条边.点从1 到n 依次编号,编号为 i 的点的权值为W i   ,每条边的长度均为1 .图上两点( u ,  v ) 的距离定 ...

  2. P1351 联合权值(树形dp)

    P1351 联合权值 想刷道水题还交了3次.....丢人 (1.没想到有两个点都是儿子的状况 2.到处乱%(大雾)) 先dfs一遍处理出父亲$fa[x]$ 蓝后再一遍dfs,搞搞就出来了. #incl ...

  3. 【树形DP】【P1351】 【NOIP2014D1T2】联合权值

    传送门 Description 无向连通图 \(G\) 有 \(n\) 个点, \(n-1\) 条边.点从 \(1\) 到 \(n\) 依次编号,编号为 \(i\) 的点的权值为 \(W_i\) ,每 ...

  4. NOIP2014提高组 联合权值(距离为2的树形dp)

    联合权值 题目描述 无向连通图 GG 有 nn 个点,n-1n−1 条边.点从 11 到 nn 依次编号,编号为 ii 的点的权值为 W_iWi​,每条边的长度均为 11.图上两点 (u, v)(u, ...

  5. Vijos1906 联合权值 NOIP2014Day1T2 树形动态规划

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - Vijos1906 题意概括 有一棵树,每一个节点都有一个权值w[i].下面说的x,y都是该树中的节点. 对于 ...

  6. [noip2014day1-T2]联合权值

    无向连通图 G 有 n 个点,n-1 条边.点从 1 到 n 依次编号,编号为 i 的点的权值为 Wi,每条边的长度均为 1.图上两点(u, v)的距离定义为 u 点到 v 点的最短距离.对于图 G ...

  7. 「NOIP2014」「Codevs3728」 联合权值(乱搞

    3728 联合权值 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold   题目描述 Description 输入描述 Input Description 输出描述 Ou ...

  8. P1351 联合权值[鬼畜解法]

    题目描述 无向连通图 G 有 n 个点,n−1 条边.点从 1 到 n 依次编号,编号为 i 的点的权值为 Wi​,每条边的长度均为 1.图上两点 (u,v) 的距离定义为 u 点到 v 点的最短距离 ...

  9. Codevs 3728 联合权值

    问题描述 无向连通图G有n个点,n-1条边.点从1到n依次编号,编号为i的点的权值为Wi ,每 条边的长度均为1.图上两点(u,v)的距离定义为u点到v点的最短距离.对于图G上的点 对(u,v),若它 ...

随机推荐

  1. es match、match_phrase、query_string和term的区别

    (一)text字段和keyword字段的区别 以下给出一个例子: 首先建立一个索引和类型,引入一个keywork的字段: PUT my_index { "mappings": { ...

  2. Area---poj1265(皮克定理+多边形求面积)

    题目链接:http://poj.org/problem?id=1265 题意是:有一个机器人在矩形网格中行走,起始点是(0,0),每次移动(dx,dy)的偏移量,已知,机器人走的图形是一个多边形,求这 ...

  3. 【Python】用Python打开csv和xml文件

    一.csv文件的读取1 #coding=utf-8 import csv with open("F:\\script\\py_scripts\\test2.csv","r ...

  4. Centos 设置zookeeper开机自启动

    把zookeeper做成服务 1.进入到/etc/rc.d/init.d目录下,新建一个zookeeper脚本 [root@zookeeper ~]# cd /etc/rc.d/init.d/ [ro ...

  5. Ng线性回归实现学习[转载]

    转自:https://github.com/huanting74/Coursera-ML-AndrewNg 1.可视化数据 import pandas as pd import seaborn as ...

  6. [LeetCode] 310. Minimum Height Trees_Medium tag: BFS

    For a undirected graph with tree characteristics, we can choose any node as the root. The result gra ...

  7. VB.net 与线程

    Imports System.Threading Imports System Public Class Form1 Dim th1, th2 As Thread Public Sub Method1 ...

  8. Java的jdk1.6与jre1.8中存在的差异

    一般来说: jdk每一个版本都是向后兼容的,说以低版本的代码是可以运行在高版本的虚拟机上的.而反过来则不可以,用1.6的编译器编辑的字节码文件是不可以运行在1.5版本的虚拟机上的. 但是今天我用Sun ...

  9. CRM项目总结-封装PortletURLUtil

    package com.ebizwindow.crm.utils; import java.security.Key; import java.util.List; import javax.port ...

  10. Javascript-蔬菜运算价格

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...