POJ 2342 & HDU 1520 Anniversary party (树形DP)

使用vite+react+ts+Ant Design开发后台管理项目(四) 本文将引导开发者从零基础开始,运用、react、react-router、react-redux、Ant Design、less、tailwindcss、axios等前沿技术栈,构建一个高效、响应式的后台管理系统。通过详细的步骤和实践指导,文章旨在为开发者揭示如何利用这些技术工具,从项目构思到最终实现的全过程,提供清晰的开发思路和实用的技术应用技巧。使用vite+react+ts+Ant Design开发后台管理项目(一)使用vite+react+ts+Ant Design开发后台管理项目(二) 阅读详情

入门树形DP。dp[i][0]表示不选i时的最优值,dp[i][1]表示选i时的最优值,则有: dp[i][0] = max(dp[j][0],dp[j][1]), dp[i][1] = dp[j][0] + v[i];其中j是i的儿子节点,v[i]是取i时获得的值。

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#define SIZE 6060

using namespace std;

struct node
{
    int to,next;
}edge[SIZE*60];
int head[SIZE],idx;

int n,val[SIZE];
int dp[SIZE][2];
int fa[SIZE];

void addnode(int from,int to)
{
    edge[idx].to = to;
    edge[idx].next = head[from];
    head[from] = idx++;
}

void dfs(int rt)
{
    bool flag = false;
    for(int i=head[rt]; i!=-1; i=edge[i].next)
    {
        flag = true;
        int to = edge[i].to;
        dfs(to);
        dp[rt][0] += max(dp[to][0],dp[to][1]);
        dp[rt][1] += dp[to][0];
    }
    if(!flag)
    {
        dp[rt][0] = 0;
        dp[rt][1] = val[rt];
    }
    else
        dp[rt][1] += val[rt];
}

int main()
{
    while(~scanf("%d",&n))
    {
        for(int i=1; i<=n; i++)
            scanf("%d",&val[i]);
        int l,k;
        idx = 0;
        memset(head,-1,sizeof(head));
        memset(dp,0,sizeof(dp));
        memset(fa,0,sizeof(fa));
        while(scanf("%d%d",&l,&k))
        {
            if(!l && !k)
                break;
            addnode(k,l);
            fa[l] = k;
        }
        for(int i=1; i<=n; i++)
        {
            if(!fa[i])
            {
                dfs(i);
                printf("%d\n",max(dp[i][0],dp[i][1]));
                break;
            }
        }
    }
    return 0;
}


 

孩子兄弟表示法:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#define SIZE 6060

using namespace std;

int n,v[SIZE];
int bro[SIZE],son[SIZE];
bool fa[SIZE];
int dp[SIZE][2];

void dfs(int fat)
{
    int s = son[fat];
    while(s)
    {
        dfs(s);
        dp[fat][0] += max(dp[s][0],dp[s][1]);
        dp[fat][1] += dp[s][0];
        s = bro[s];
    }
}

int main()
{
    while(~scanf("%d",&n))
    {
        for(int i=1; i<=n; i++)
            scanf("%d",&v[i]);
        int l,k;
        memset(bro,0,sizeof(bro));
        memset(son,0,sizeof(son));
        memset(fa,0,sizeof(fa));
        memset(dp,0,sizeof(dp));
        for(int i=1; i<=n; i++)
            dp[i][1] = v[i];
        while(scanf("%d%d",&l,&k))
        {
            if(!l && !k)
                break;
            bro[l] = son[k];
            son[k] = l;
            fa[l] = true;
        }
        for(int i=1; i<=n; i++)
        {
            if(fa[i])
                continue;
            dfs(i);
            printf("%d\n",max(dp[i][0],dp[i][1]));
            break;
        }
    }
    return 0;
}


 

做了一个3DTiles编辑器,支持3DTiles的预览和裁剪导出 3DTiles编辑器的功能极其简洁,核心就是3DTiles格式模型的预览和裁剪。为了演示方便,本文所使用的源数据为mipmap3d[1]网站所提供的无人机拍摄影像,并进行3DTiles构建。打开软件,输入的绝对路径之后,点击添加模型,就可以将模型加载进预览区。之后,点击裁剪模式按钮,默认会出现立方体裁剪框,可通过拖动句柄的方式去调整裁剪框的范围。同时,除了默认的盒体裁切模式外,还支持多边形裁切,点击多边形裁切后,可切换到顶视图,选择重绘多边形,可进行打点绘制。 阅读详情

相关推荐

pytorchDataLoader中调整数据长度不一致问题(lstm等)

数据长度不一致 用pytorch做rnn的时候,如果输入数据不一样长,可以用两种方式解决。 一种是自定义collate方法, #自定义collate_fn dataloader.DataLoader(dataset,4,True,collate_fn=my_collate) 然后里面写数据和标签载入方式即可 def my_collate(batch): data = [item[0] for item in batch] target = [item[1] for item in batc

weixin_48174100的博客 7770

HDU 1520 & POJ 2342 Anniversary party(树形DP入门题)

HDU 1520 & POJ 2342 Anniversary party(树形DP入门题)

1072

数据基础设施建设任务中的技术名词解析

近日,国家数据局确定了18个数据基础设施建设任务(先行先试)承担地区,建设任务内容为:数场、数据空间、数据原件、隐私计算、数联网、区块链。这些概念都有什么样的内涵,他们的相互关系是怎样的?

五角大寨 5307

[树形dp][入门]hdu1520 & poj2342 Anniversary party

Description There is going to be a party to celebrate the 80-th Anniversary of the Ural State University. The University has a hierarchical structure of employees. It means that the supervisor relati

gdymind的博客 437

【开源训练数据集2】10个最适合机器学习的股票市场数据集

​随着加密货币在世界各地的兴起,人们现在有比以往更多的投资方式。然而,这并不像低买高卖那么简单。如果你能准确预测股市,你就会成为地球上最富有的人之一。因此,之前已经有关于如何利用情绪分析来预测股市的研究。对于那些希望构建类似预测模型的人,本文将介绍 10 个用于机器学习的股票市场和加密货币数据集。

u010542847的博客 2139

TI Sitara系列AM64x开发板(双核ARM Cortex-A53)软硬件规格书

创龙科技TL64x-EVM是一款基于TI Sitara系列AM64x双核ARM Cortex-A53 + 单/四核Cortex-R5F + 单核Cortex-M4F多核处理器设计的高性能评估板,由核心板和评估底板组成。评估板接口资源丰富,引出5x Ethernet(两路支持TSN)、2x CAN-FD、多路UART、多路DI/DO、GPMC、PCIe、USB等接口,板载WIFI模块,支持4G/5G模块、NVME硬盘,可选配外壳直接应用于工业现场,方便用户快速进行产品方案评估与技术预研。

创龙,嵌入式一体化解决方案商 727

HDU 1520 & POJ 2342 Anniversary party(树形dp)

Anniversary party Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Description There is going to be a party to celebrate the 80-th Anniversary of t

小夏 的博客 629

Open3D 基于法线的双边滤波

基于法线的双边滤波是一种用于点云平滑的技术,它结合了点与其邻域点之间的几何距离和法线方向的相似性,从而在去除噪声的同时保留几何特征。这种滤波方法广泛应用于点云处理领域,尤其是在需要保留表面细节和边缘的场景中。

纵马踏花向自由 2500

HDU1520 Anniversary party 树形DP

HDU1520 Anniversary party 题面: 给一颗树,每个结点都有各自的价值,选择一些不相邻的结点使得收益最大。 解题过程: 树上相邻的结点不能同时选上,用 f [ x ][ 2 ] 第二维的 0 和 1 来表示不选和选这个节点所能达到的最大收益。 状态转移方程为: f[x][0] += max( (ll)0, max(f[y][0], f[y][...

Hagtaril 264

AutoSAR系列讲解(入门篇)2.1-AppL概述

该章主要是讲解SWC是如何在ECU中分布的

雪云飞星的博客 4万+

让 ABAP 开发更聪明的搭档:SAP Joule for Developers 与 ABAP AI Capabilities 全面实战

摘要:SAP已将生成式AI集成到ABAP开发工具中,推出Joule for Developers功能。该功能直接嵌入Eclipse开发环境,提供代码解释、生成、测试构造和遗留代码迁移等辅助功能。Joule支持ABAP Cloud项目开发,能围绕当前开发对象提供上下文相关的建议,帮助开发者高效完成应用开发与迁移任务。启用该功能需升级ADT并获取相应许可,典型应用场景包括RAP应用构建和S/4HANA迁移中的代码重构。官方资源提供了多个实践案例,帮助开发者快速上手这一AI辅助开发功能。(149字)

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

HDU 1520 && POJ 2342 Anniversary party

题目: http://acm.hdu.edu.cn/showproblem.php?pid=1520 题意: 给出一个公司的上下级关系,有一个聚会,有直接上下级关系的人不能同时去,每个人去都有一个value求让其中一些人去时取得的最大value值。 思路: 简单树形dp,从叶子节点开始向上dp就行了。dp[i][0]表示不取i点能够取得的最大值,dp[i][1]表示取i点时能够取得的最大

MyWorld 478

提示词工程中的上下文隔离

已经进入context的prompt是没有办法让大模型真正的忘记的,但是可以通过prompt技巧强约束模型的后续推理中“不再使用、不再提及、不再引用”某部分提示词,这其实是一种行为抑制(behavior suppression),并不是删除。

Criss@陈磊 234

hdu1520(poj2342) Anniversary party

入门树形dp,f[i][0]表示不选择i的最大,f[i][1]表示选择i的最大 vis记录是否选择 错了错了vis是记录是否遍历过的,in记录有没有上司 #include&lt;iostream&gt; #include&lt;cstdio&gt; #include&lt;algorithm&gt; //#include&lt;bits/stdc++.h&gt; #include&lt;cstri...

weixin_45885433的博客 215

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

HDU 1520 Anniversary party(树形DP 数组和结构体链表两种实现方式)

原题地址 Anniversary party Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 9790 Accepted Submission(s): 4186 Problem Description There

Lulu11235813的博客 490

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Anniversary party(hdu1520)(poj2342)题解

原题地址:http://poj.org/problem?id=2342 题目大意:   上司和下属不能同时参加派对,求参加派对的最大活跃值。   关系满足一棵树,每个人都有自己的活跃值(-128~127)   求最大的活跃度。 树形DP入门题。 首先讲解一下树形DP,顾名思义,树形DP一定是在树上的DP,与普通的DP相似,具有两个方向。 1.根----&gt;叶 ...

aikuaili4001的博客 161

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

HDU 1520 Anniversary party (树形DP)

题目链接这题和 POJ 2342 还有 URAL 1039 一样,只不过测试了HDU的数据应该是最严格的一个,因此选了HDU的链接。思路:我们考虑从最大boss开始搜索整颗树,其次这个boss只有两种状态就是去或者不去,然后他的状态会影响他的直属员工的选择,也就是 1.当这个boss去的时候,下属必然不能去;2.当这个boss不去的时候,下属可去可不去;然后我们单纯考虑这个boss下属的时候,也是...

JasonWu的博客 221

HDU 1520 Anniversary party (树形dp,dfs+dp)

今天开始做老师给的专辑,打开DP专辑 A题 Rebuilding Roads 直接不会了,发现是树形DP,百度了下了该题,看了老半天看不懂,想死的冲动都有了~~~~ 最后百度了下,树形DP入门,找到了 poj 2342 Anniversary party   先入门一下~ 题意: 某公司要举办一次晚会,但是为了使得晚会的气氛更加活跃,每个参加晚会的人都不希望在晚会中见到他的直接上司,

AK_HuangYC的博客 427

POJ2342 HDU1520 Anniversary party

又学到东西了,树形DP。 参考了网上的代码,使用的是孩子,兄弟,父节点的模式建树。 node[idx].present表示的是第idx个节点参加的时候的最优,node[idx].not_present表示的是第idx个节点不参加的时候的最优。 /************************************************************************

Neo Fung的专栏 1185

hdu 1520 && poj2342 anniversary party树形DP

每个节点要么选要么不选,和大多数选不选动归一样,来个dp[i][2],0表示不选,1表示不选,那我们只要从叶子节点往根结点不断更新dp[i][0]和dp[i][1]就可以了。     状态转移方程:dp[i[[1] = sum(dp[j][0])                      (当前选了,子节点必定不能选,最优的情况是都不选,然后累加)

fisty 603

hdu1520 Anniversary party(poj2342,树形dp)

Anniversary party Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 7303 Accepted Submission(s): 3220 Problem Description There is going to

随心丶而遇的博客 2033

poj2342|hdu 1520 Anniversary party 树形dp

Anniversary party Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 3928   Accepted: 2215 Description There is going to be a party to celebrate the 80-th Anniv

smz436487的专栏 540

poj 2342 / hdu 1520 Anniversary party(树形dp)

每一个第一次写的算法总是会给我留下深刻的印象。。。

巴达鸟巴达鸟 615

HDU1520:Anniversary party(树形DP)

Problem Description There is going to be a party to celebrate the 80-th Anniversary of the Ural State University. The University has a hierarchical structure of employees. It means that the superviso

ACM!荣耀之路! 3588

树形DP-POJ-2342-Anniversary party

POJ 链接: http://poj.org/problem?id=2342 HODJ 链接 : http://acm.hdu.edu.cn/showproblem.php?pid=1520 不得不吐槽,HDOJ不止java会超时,C++也会超时,非要scanf这种低级写法,有意思么? 1.题目大意 某大学举办年会, 请职员们参会. 每个人都有一个活跃值(逗逼属性值), 职工之间具有层级关

yichudu 862

POJ 2342 | HDU 1520 Anniversary party 树形DP(入门题)

传送门:POJ 2342题目大意:有若干人参加一个聚会,如果两个人之间有直接的上下属关系,则只能去一个。每个人都有个高兴值,问高兴值之和最大是多少?思路:之前一直觉得树形DP比较难,现在发现树本身就是递归定义的,并且有子结构,所以在树上使用动态规划是很好的。这道题可以转化为“父节点和子节点不能同时选择,求节点和的最大值”的问题,我们设: dp[i][0] 表示不选择第 i 个节点时的最大值,dp[...

zuzhiang的博客 306
上一篇: RQNOJ 49 加分二叉树 (树形DP)
下一篇: UVALive 2031 Dance Dance Revolution
GentleH
博客等级 码龄14年 6粉丝 154原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值