首页 > 其他分享 >E60 树形DP+贪心 P3574 [POI2014] FAR-FarmCraft

E60 树形DP+贪心 P3574 [POI2014] FAR-FarmCraft

时间:2024-09-28 11:11:59浏览次数:1  
标签:head fa FAR POI2014 int FarmCraft DP

视频链接:

 

 

 

P3574 [POI2014] FAR-FarmCraft - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

// 树形DP+贪心 O(nlogn)
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;

const int N=500005;
int head[N],to[N<<1],ne[N<<1],idx;
void add(int x,int y){
  to[++idx]=y,ne[idx]=head[x],head[x]=idx;
}
int n,a[N],f[N],s[N],p[N];

bool cmp(int x,int y){
  return f[x]-s[x]>f[y]-s[y];
}
void dfs(int x,int fa){
  f[x]=a[x];
  for(int i=head[x];i;i=ne[i])
    if(to[i]!=fa) dfs(to[i],x);
  
  int t=0;
  for(int i=head[x];i;i=ne[i])
    if(to[i]!=fa) p[++t]=to[i];
  sort(p+1,p+t+1,cmp);
  for(int i=1;i<=t;++i){
    f[x]=max(f[x],s[x]+1+f[p[i]]);
    s[x]+=s[p[i]]+2;
  }
}
int main(){
  scanf("%d",&n);
  for(int i=1;i<=n;++i)
    scanf("%d",&a[i]);
  for(int i=1,x,y;i<n;++i)
    scanf("%d%d",&x,&y),
    add(x,y),add(y,x);
  dfs(1,0);
  printf("%d\n",max(f[1],s[1]+a[1]));
}

 

标签:head,fa,FAR,POI2014,int,FarmCraft,DP
From: https://www.cnblogs.com/dx123/p/18423562

相关文章

  • 使用cifar100上训练的resnet18进行ood测试
    以cifar100作为闭集(closed-set)数据集,使用resnet18模型进行训练,然后在常见的开集(out-of-distribution)数据集上进行OOD检测。使用MSP(MaximumSoftmaxProbability)作为OOD检测的依据。开集噪声数据集使用gaussian,rademacher,blob,svhn四种类型。其中gaussian、rademacher......
  • Safari中无法在悬停状态下应用CSS滤镜
    在Safari浏览器中,当鼠标悬停在元素上时,无法应用CSS滤镜效果。这意味着开发者无法通过CSS来实现诸如悬停时的模糊、灰度或颜色变换等常见的交互效果。该问题可能会影响用户体验,特别是对于那些依赖于视觉反馈来增强交互性的网站或应用程序。影响范围该问题主要影响使用Safari......
  • [POI2014] TUR-Tourism
    [POI2014]TUR-Tourism题意给出一张图,在这张图中,任意两点间不存在节点数超过\(10\)的简单路径。第\(i\)个点被选的代价为\(C_i\),每个节点要么选,要么与它直接相连的点中至少有一个被选。求最小代价。思路图的生成树上状压动态规划。由于给出的是一张图,无法直接dp,我们可......
  • P3573 [POI2014] RAJ-Rally
    题意给定一个DAG,你需要删掉一个点使得原图的最长路径的长度最短,求出答案和方案。\(n\le5\times10^5,m\le10^6\)分析DAG的一条路径有一个优美的性质:一定是从拓扑序小的点指向拓扑序大的点。考虑按照拓扑序从小到大处理每一个点。假设我们处理到了点\(x\),它的拓扑序是\(i......
  • SEAFARING靶场渗透
    一.SQL注入漏洞1.输入id=1--+下方出现数据说明闭合成功2.测试得出数据库有三列 3.三处都是回显点 4.联合查询爆出库名 5.查表名?id=-1unionselect1,group_concat(table_name),3frominformation_schema.tableswheretable_schema='test'--+  6.查字......
  • SEAFARING靶场漏洞攻略
    寻找漏洞一,我们打开页面第一个漏洞xss漏洞1.在登录页面显示有弹窗第二个漏洞sql注入漏洞1.在输入框的地方输入-1unionselect1,2,3#我们来查看他的回显点2.查看数据库表名-1unionselect1,database(),3#3.查看表名-1unionselect1,2,group_concat(table_......
  • seafaring靶场渗透测试
    1.sql注入漏洞进来这里有个框尝试xss没有那咱们就来试试搜索行注入这里有东西说明闭合成功,接着就orderby有三列三个地方都有回显查看数据库这里查表发现只有两个先去看看admin先来看看列然后看用户密码,这里密码直接显示出来了2.文件上传漏洞拿去登录看看里......
  • Flask session cookie 失效在Safari中的解决方法
    Flask会默认使用客户端会话管理,数据存储在浏览器的cookie中。这种方法通常在各种浏览器中工作良好,但有时可能会在Safari中遇到sessioncookie失效的问题,特别是使用了iOS或macOS上的Safari。这个问题常见的原因是Safari中的隐私设置,尤其是涉及到“防止跨站追踪”和第......
  • 构建并训练卷积神经网络(CNN)对CIFAR-10数据集进行分类
    深度学习实践:构建并训练卷积神经网络(CNN)对CIFAR-10数据集进行分类引言在计算机视觉领域中,CIFAR-10数据集是一个经典的基准数据集,广泛用于图像分类任务。本文将介绍如何使用PyTorch框架构建一个简单的卷积神经网络(CNN),并在CIFAR-10数据集上进行训练和评估。通过本文,您将了解......
  • [POI2014] RAJ-Rally 题解
    前言题目链接:Hydro&bzoj;黑暗爆炸;洛谷。题意简述DAG求删点后最长路的最小值。\(n\leq5\times10^5\),\(m\leq10^6\)。题目分析其实对于删点/边加查询最长/短路的套路是有的。比如:故乡的梦、桥。本题也类似。我们考虑,如果删除的边不在原来最长路上,那么删之后的......