NOIP2018联合权值

联合权值


对考试时的分析:

  • (最主要)忘记链式前向星的储存原理了,(其实一开始就不是很懂),导致整个没法实现
  • 认清事实后想(认命)打暴力,然鹅傻fufu地研究(三道题)题意以及被T1那个肥肠简单的模拟拖了时间……emmmm

考后分析题目:

    //打了好长的解释都没了  我恨华为
    //乘法运算律是关键,不看题解真的写不出来
    //重点回忆链式前向星的用法
    //输入不太好  但是手机编程太难,先不改了
#include<bits/stdc++.h>
using namespace std;
int n,a,b;
long long sum,maxn,w[300000];
struct Edge
{
    int to,next;
}edge[1000000];

int head[300000],cnt;

void add(int a,int b)
{
    edge[++cnt].to = b;
    edge[cnt].next = head[a];
    head[a] = cnt;
}

int main()
{
    scanf("%d",&n);
    for(int i=0;i<n-1;i++){
        scanf("%d%d",&a,&b);
        add(a,b),add(b,a);
    }
    for(int i = 1; i <= n; i++) scanf("%lld",&w[i]);
    long long he,rmax;//一段的和与一段的最大值
    int node;
    for(int i=1;i<=n;i++)
    {
        node=head[i];//第一个元素
        he=(rmax=w[edge[node].to])%10007;//得到初始值
        node=edge[node].next;//下一个
        for(;node!=0;node=edge[node].next)//枚举与之相连的点
        {
            sum=(sum+he*w[edge[node].to])%10007;//乘法结合律
            maxn=max(maxn,rmax*w[edge[node].to]);
            he=(he+w[edge[node].to])%10007;
            rmax=max(rmax,w[edge[node].to]);
        }
    }
    printf("%lld %lld",maxn,(sum*2)%10007);
    return 0;
}
posted @ 2019-10-30 19:13  QUEKI嶺冬  阅读(169)  评论(0)    收藏  举报
/*! Color themes for Google Code Prettify | MIT License | github.com/jmblog/color-themes-for-google-code-prettify */ .pln{color:#4d4d4c}ol.linenums{margin-top:0;margin-bottom:0;color:#8e908c}li.L0,li.L1,li.L2,li.L3,li.L4,li.L5,li.L6,li.L7,li.L8,li.L9{padding-left:1em;background-color:#fff;list-style-type:decimal!important;}@media screen{.str{color:#718c00}.kwd{color:#8959a8}.com{color:#8e908c}.typ{color:#4271ae}.lit{color:#f5871f}.pun{color:#4d4d4c}.opn{color:#4d4d4c}.clo{color:#4d4d4c}.tag{color:#c82829}.atn{color:#f5871f}.atv{color:#3e999f}.dec{color:#f5871f}.var{color:#c82829}.fun{color:#4271ae}} /*下面是我设置背景色,字体大小和字体*/ .cnblogs-markdown code{ background:#fff!important; } .cnblogs_code,.cnblogs_code span,.cnblogs-markdown .hljs{ font-size:16px!important; } .syntaxhighlighter a, .syntaxhighlighter div, .syntaxhighlighter code, .syntaxhighlighter table, .syntaxhighlighter table td, .syntaxhighlighter table tr, .syntaxhighlighter table tbody, .syntaxhighlighter table thead, .syntaxhighlighter table caption, .syntaxhighlighter textarea { font-size: 16px!important; } .cnblogs_code, .cnblogs_code span, .cnblogs-markdown .hljs{ font-family:consolas, "Source Code Pro", monaco, monospace !important; } //以上是代码高亮 /* 文字特效 */