HDU 6201 transaction transaction transaction(树形dp)

37、半导体硅材料中的缺陷与吸杂技术解析 本文系统解析了半导体硅材料中的缺陷形成机制及其对电子器件性能的影响,重点探讨了生长和工艺诱导缺陷、表面与内部微缺陷的起源与特征。文章详细阐述了吸杂技术的原理、过程及在集成电路和太阳能电池制造中的应用,强调通过氧行为调控和热处理优化实现缺陷控制。同时介绍了吸杂效果的评估方法,并展望了未来新型吸杂技术的发展趋势,为提升半导体器件性能和制造良率提供理论支持和技术路径。 阅读详情

http://acm.hdu.edu.cn/showproblem.php?pid=6201
和那个HDU 2196 Computer(树形DP) 应该差不多的吧。。

题意:给你一颗树,边有权值,现在有本书,每个点都有这本书的价格,现在你可以选任意一点作为起点买这本书,跑去任意一点卖掉,过程中消耗路径的权值花费,问你任选起点和终点最大收益是多少

看了代码;这个dp【0】【u】表示最小的价格,然后初始是买,所以就可以打到只买一次。。不过理论上可能MLE。但是没有。。应该要每次都清空当前的S

#include<iostream>
#include<cstring>
#include<string>
#include<cstdio>
#include<algorithm>
#include<vector>
#include<queue>

using namespace std;

const int maxn = 200005;
typedef long long ll;
const int inf = 0x3f3f3f3f;

int f[maxn];
int pc[maxn];
int p[maxn];
int dp[2][maxn];

struct edge {
    int to;
    int cost;
    edge(int to, int cost) :to(to), cost(cost) {}
};

struct node {
    int id;
    int md;
    bool operator <(const node& s) const {
        return md < s.md;
    }
};

vector<edge> G[maxn];
vector<node> S[maxn];

void init(int n) {
    for (int i = 1; i <= n; i++) {
        G[i].clear();
        S[i].clear();
    }
    memset(dp, 0, sizeof(dp));
}

void dfs(int u, int fa,int c) {
    p[u] = c;
    f[u] = fa;
    dp[0][u] = pc[u];
    for (int i = 0; i < G[u].size(); i++) {
        edge e = G[u][i];
        if (e.to == fa) continue;
        int v = e.to;
        dfs(v, u,e.cost);
        node now;
        now.id = v;
        now.md = dp[0][v]+e.cost;
        S[u].push_back(now);
    }
    if (S[u].empty()) return;
    sort(S[u].begin(), S[u].end());
    dp[0][u] = min(dp[0][u],S[u][0].md);
}

void dfs2(int u, int fa) {
    dp[1][u] = pc[u];
    if (fa != -1) {
        if (S[fa][0].id != u) {
            dp[1][u] = min(dp[1][u],min(dp[1][fa], dp[0][fa]) + p[u]);
        } else {
            if (S[fa].size() == 1) dp[1][u] = min(dp[1][u],dp[1][fa] + p[u]);
            else dp[1][u] = min(dp[1][u],min(S[fa][1].md, dp[1][fa])+p[u]);
        }
    }
    for (int i = 0; i < G[u].size(); i++) {
        int v = G[u][i].to;
        if (v == fa) continue;
        dfs2(v, u);
    }
}

int main() {
    int T;
    scanf("%d",&T);
    while(T--) {
        int n;
        scanf("%d",&n);
        init(n);
        for(int i=1;i<=n;i++){
            scanf("%d",&pc[i]);
        }
        for (int i = 2; i <= n; i++) {
            int x,y,z;
            scanf("%d%d%d",&x,&y,&z);
            edge e(y,z);
            G[x].push_back(e);
            e.to=x;
            G[y].push_back(e);
        }
        dfs(1, -1, 0);
        dfs2(1, -1);
        int ans=0;
        for (int i = 1; i <= n; i++) {
            int sum=min(dp[0][i],dp[1][i]);
            ans=max(ans,pc[i]-sum);
        }
        printf("%d\n",ans);
    }
    return 0;
}

还看到别人的这种做法,代码又短。又好。看来状态的定义很关键。。
参考http://blog.youkuaiyun.com/cillyb/article/details/77924055

dp[u][0]表示以u为根的子树中买一本书的最大收益,dp[u][1]表示以u为根的子树中卖一本书的最大收

益。dp[u][0]+dp[u][1]即为在以u为根的子树中选两点的最大收益

心得:自己真的很少见到这样的方式。。。而且这个初始化。。。%
这样子把买和卖分开了,而且不用到父亲和儿子。。。。方式挺好的。

void dfs(int u, int pre)  
{  
    dp[u][0] = -a[u];  
    dp[u][1] = a[u];  
    for(int i = 0; i < g[u].size(); i++)  
    {  
        int v = g[u][i].v;  
        int w = g[u][i].w;  
        if(v == pre) continue;  
        dfs(v, u);  
        dp[u][0] = max(dp[u][0], dp[v][0]-w);  
        dp[u][1] = max(dp[u][1], dp[v][1]-w);  
    }  
    ans = max(ans, dp[u][0]+dp[u][1]);  
}  
芯片研发完整全流程 芯片研发全流程可分为需求与架构设计、前端逻辑设计、后端物理设计、晶圆制造、封装测试五大阶段,涉及16个核心步骤。研发过程需要多学科交叉协作,包括微电子、物理、材料、计算机等。关键注意事项包括验证优先、工艺约束遵循、可测性设计等。芯片设计需要绘制纳米级精度的物理版图,而非传统工程图纸,需使用专业EDA工具而非KiCad这类PCB设计软件。完整研发流程具有高投入、高风险特点,需严格遵循行业标准和规范。 阅读详情

相关推荐

从零到一:Ollama工具在RK3588上的深度优化实践

本文详细介绍了如何在RK3588开发板上深度优化Ollama工具,以高效运行DeepSeek模型。通过CPU与NPU负载平衡、模型量化、温度控制等策略,显著提升性能并降低功耗,适用于边缘计算场景。文章提供了具体的配置命令和优化方案,帮助开发者充分发挥RK3588的硬件潜力。

rgv23456789的博客 311

HDU 6201 transaction transaction transaction(dp)

这题是看题解的. 以后要多来看. 当时比赛很快过了四题,然后发现这题,两个人一直在想,四个小时wa了好几次,真的很废物了. 一方面这题似乎是有很多做法,但是那些spfa啊,网络流啊,我都完全不会,等下去学习一下好了,我觉得此题是一个很好的思维题. 我当时想到这个类似dp的做法,但是愚蠢的我忘记了他一棵树不一定等价于一条线.. 和以前的dfs不一样,以前的dfs是在进到最后一个点,或者走不下

blog 235

在Allegro设计界面中如何修改封装焊盘

在高密度板的情况下,SUIPLA(支持内层没有的焊盘摘掉)打勾,在高密度板的情况下,内层没有的焊盘摘掉可以增加走线的空间。3、修改完焊盘后,选择File→Update to Design(更新到设计)。然后关闭焊盘修改对话框即可。,将会定期不定期更新技术文章,互相学习交流。或者点击Options选项卡下要修改的焊盘,然后点击Edit修改。在Allegro PCB设计界面中修改封装焊盘的方法。2、然后点击封装上要修改的焊盘,右击选择Edit。修改完成后如下图所示。

bhxc809751502的博客 7806

HDU 6201 transaction transaction transaction【树形DP||SPFA最长路】

transactiontransaction transaction Time Limit: 4000/2000 MS(Java/Others)Memory Limit: 132768/132768 K(Java/Others) Total Submission(s): 38Accepted Submission(s): 21 Problem Description ...

Dust_heart的博客 1581

RT-DETR改进策略【卷积层】| CGblock 内容引导网络 利用不同层次信息,提高多类别分类能力 (含二次创新)

本文记录的是利用中的模块优化的目标检测网络模型。通过局部特征提取器、周围环境提取器、联合特征提取器和全局环境提取器来提取局部特征、周围环境和全局环境信息,充分利用不同层次的信息。本文将其应用到中,并进行二次创新,使网络能够更好的处理多类别目标的分类能力。CGNet: A Light-Weight Context Guided Network for Semantic Segmentation1️⃣ 首先通过局部特征提取器floc(∗)floc(*)floc(∗)和周围环境提取器fsur(∗)f_{sur }

Limiiiing的博客 1350

STM32面试知识点总结分析

通过Boot引脚设定,寻找初始地址初始化栈指针 __initial_sp指向复位程序 Reset_Hander设置异常中断 HardFault_Handler设置系统时钟 SystemInit调用C库函数 _main。

嵌入式技术开发 2513

HDU 6201 transaction transaction transaction &&沈阳网络赛1008

http://blog.youkuaiyun.com/a15110103117/article/details/77925858 参考了这篇博客 transaction transaction transactionTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 132768/132768 K (Java/Others) Total Subm

henuzxy 580

一文吃透 SAP HANA JSON Document Store:从架构到实战的完整指南

本文详细介绍了SAP HANA的JSON Document Store功能,包括其定位、架构、典型场景以及具体使用方法。文章首先分析了半结构化数据场景下传统关系模型的局限性,说明Document Store如何通过集合(Collection)存储JSON文档来提供灵活性。随后详细阐述了启用方式、SQL语法、与Column Store的联动机制,并提供了大量可直接复用的实战案例。特别强调了Document Store作为HANA内建服务的优势,包括企业级一致性、备份恢复等能力。最后给出了数据类型处理和跨引擎协

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 200

hdu 6201 transaction transaction transaction 树形dp

题目链接http://acm.split.hdu.edu.cn/showproblem.php?pid=6201题意又是利用不同地方物价不同,赚得差价,这道题起点和终点可以任选,但是需要路费。从一颗树中,任选起点和终点,利润为差价减去路费。求最大利润思路用dp[u][0] :表示在u点买进时能够获得的最大价值 用dp[u][1] :表示在u点卖出时能够获得的最大价值 转移过程可以看代码#incl

chen_minghui的博客 281

Agentic RL: 大模型后训练 SFT、PPO和GRPO

本文介绍了从LLM训练到Agentic RL的发展过程。传统LLM训练包括预训练和后训练两个阶段,其中后训练通过监督微调、奖励建模和强化学习等技术优化模型表现。针对智能体在复杂任务中的不足,提出了Agentic RL新范式,将LLM嵌入强化学习框架,通过多步交互、工具使用和环境反馈来优化长期目标。相比传统单轮对话优化(PBRFT),Agentic RL具有状态包含历史上下文、行动类型多样、动态状态转移等特点,更适合解决需要多步推理和规划的任务。这种新方法为开发更强大的智能体系统提供了可能。

Cachel Wood的博客 698

使用 ABAP Development Tool 登录 SAP BTP ABAP 环境时,遇到弹出框应该怎么办?

但在实际环境里,隐私模式、第三方 Cookie 禁止、跨站追踪限制、缓存代理误命中、混合内容拦截等因素,都可能让这条跳转链路被打断。等),浏览器会弹出系统原生登录框,请求用户输入账号和口令或做集成认证。只要它们在响应头里出现,浏览器就会理直气壮地弹框,这是协议层的强约定。,最终弹出原生登录框。前端与网关领域有个通用的经验规则:如果你看到了原生登录框,而期望的是带样式的。环境里的登录方式表述为基于浏览器的前端认证,也就是这类重定向式的交互。环境的具体落地,拆出几类常见诱因与排障路径,并穿插真实世界的案例。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 369

HDU 6201 transaction transaction transaction (树形dp)

Description Kelukin is a businessman. Every day, he travels around cities to do some business. On August 17th, in memory of a great man, citizens will read a book named “the Man Who Changed China”. O

小坏蛋_千千 438

【深度学习基础】一篇弄懂训练集、验证集和测试集(呕心沥血版)

在深度学习中,训练集、验证集和测试集是构建和评估模型的核心组成部分。训练集用于模型的学习和参数优化,验证集帮助调整超参数和防止过拟合,而测试集则用于最终评估模型的泛化性能。正确划分和使用这三类数据集,对于开发高效、可靠的深度学习模型至关重要。本文将深入解析它们的作用、划分方法以及在实际应用中的注意事项,帮助你全面理解并掌握数据集的科学使用方法,从而提升模型的实际表现。

十二月的猫 3792

HDU 6201transaction 【树形DP】

2017 ACM/ICPC Asia Regional Shenyang Online transaction transaction transaction Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 132768/132768 K (Java/Others) Total Submission(s): 0    A

tystrwor的博客 684

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

hdu6201 transaction transaction transaction 树形dp || 最短路

题目:http://acm.hdu.edu.cn/showproblem.php?pid=6201题意:有n个城市,有n-1条道路将n个城市连接成一个整体,即一个树。一本在每个城市的价格不同,任选一个城市买书,再任选一个城市卖掉书,每条道路都有花费,问最多能赚多少钱思路:先说最短路,起点终点都是不确定的,所以建源点和汇点,把所有点连到源点和汇点上去,从源点向所有城市连边,权值为此城市书的价格的取反,

弱智就要多努力 416

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

HDU 6201 transaction transaction transaction (树形DP or 拆点最短路)

transaction transaction transaction Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 132768/132768 K (Java/Others) Total Submission(s): 1256    Accepted Submission(s): 601 Problem Desc

K键盘里的青春K 507

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

transaction transaction transaction HDU - 6201 (树形DP)

transaction transaction transaction  题目链接:HDU - 6201  题意:一个商人得知《the Man Who Changed China》此书很火,决定在一座城市批发一本书(你没有看错,就是一本),带到另一座城市卖,赚取差价,但是由一座城市到另一座城市要花钱打车(打车费用是1元/km);已知共有n座城市,由n-1条路连接,交通网是一棵树;已知此书在每座...

Sirius_han的博客 212

HDU6201 2017 transaction transaction transaction 树形DP?

题意 : 任意选两个点 你可以在一个起始点买一本书,然后在终点卖掉这本书。 问你最小花费。签到题吧。。 给出的图是一颗树,很容易就会联想到树形DP。然后问题类似于求两点之间的最短距离。 直接联想到 hdu2196 维护最短距离和次短距离。把代码复制下来 改一改初始化 就行了 不过看别人写都是一个for搞定的。。。#include<stdio.h> #include<iostream> #inc

lifelike 260

【2017沈阳网络赛】1008 hdu6201 transaction transaction transaction 树形dp

Problem Description Kelukin is a businessman. Every day, he travels around cities to do some business. On August 17th, in memory of a great man, citizens will read a book named "the Man Who Changed

弱菜zc 492

transaction transaction transaction HDU - 6201 (树形dp)

transaction transaction transaction HDU - 6201 Kelukin is a businessman. Every day, he travels around cities to do some business. On Augu...

codeswarrior的博客 251

H - 因为司是一个容易让自己去忍受的人 HDU - 6201 transaction transaction transaction 树形DP

H - 因为司是一个容易让自己去忍受的人  HDU - 6201  Kelukin is a businessman. Every day, he travels around cities to do some business. On August 17th, in memory of a great man, citizens will read a book named "the M...

壹零柒 205

HDU-6201 transaction transaction transaction(树形dp)

2017 ACM/ICPC Asia Regional Shenyang Online Kelukin is a businessman. Every day, he travels around cities to do some business. On August 17th, in memory of a great man, citizens will read a book named "the Man Who Changed China". Of course, Kelukin wouldn'

yo_bc的博客 377

[hdu6201]transaction transaction transaction(树形dp)

题意:某人在一棵树中在某处买物品,价格为i,在某处卖物品,价格为j,每单位距离花费价格1,求最大赚钱数。 解题关键:两次树形dp,分别求出每个点作为被减和被加情况下的最大值,最后取一下max即可。 该节点被减的情况,为他和他所在的子树上的最大值,并且是他的各父节点的被减,该节点被加情况的最大值; 该节点被加的情况,为他和他所在的子树上的最大值,并且是他的各父节点的被加,该节点被减情况的最大值...

weixin_30699443的博客 93

HDU 6201 transaction transaction transaction(树形DP)

transaction transaction transaction Time Limit: 4000/2000 MS (Java/Others)Memory Limit: 132768/132768 K (Java/Others)Total Submission(s): 895Accepted Submission(s): 441 Problem Description ...

weixin_34408717的博客 90

HDU - 6201 transaction transaction transaction(树形dp)

transaction transaction transaction Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 132768/132768 K (Java/Others) Total Submission(s): 2964    Accepted Submission(s): 1328   Pr...

柳予欣的三味书屋~ 212

*【HDU - 6201】transaction transaction transaction(树形dp 或 spfa最长路 或 网络流)

题干: 题目大意: 给出一棵n个顶点的树,每个点有一个权值,代表商品的售价,树上每一条边上也有一个权值,代表从这条边经过所需要的花费。现在需要你在树上选择两个点,一个作为买入商品的点,一个作为卖出商品的点,当然需要考虑从买入点到卖出点经过边的花费。使得收益最大。允许买入点和卖出点重合,即收益最小值为0。题目虽然没说,但是默认就是只做一次买卖。 解题报告: 这题方法很多,最容易想到...

xuanweiace的博客 510
上一篇: hdu 6198 number number number
下一篇: CodeForces 723C Polycarp at the Radio (贪心+暴力)
sega_handsome
博客等级 码龄10年 7粉丝 164原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值