首页 > 其他分享 >7.4日

7.4日

时间:2023-07-04 11:57:36浏览次数:41  
标签:结点 idx int dfs ++ 7.4 root

一、pta小学期练习,完成了L1所有习题。

二、学习了树形dp

//没有上司的舞会
/*状态表示
f[u][0]:所有以u为根的子树中选择,并且不选u这个点的方案

f[u][1]:所有以u为根的子树中选择,并且选u这个点的方案

属性:Max

状态计算
当前u结点不选,子结点可选可不选
f[u][0]=∑max(f[si,0],f[si,1])

当前u结点选,子结点一定不能选
f[u][1]=∑(f[si,0])*/

#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
const int N = 6010;
int n;
int happy[N];
int idx, h[N], e[N], ne[N];
int f[N][2];
bool hf[N];
void add(int a, int b)
{
    e[idx] = b, ne[idx] = h[a], h[a] = idx++;
}
void dfs(int u)
{
    f[u][1] = happy[u];//选根节点要先加上根节点,此时f[u][0]=0;
    for (int i = h[u]; i != -1; i = ne[i])
    {
        int j = e[i];
        dfs(j);
        f[u][0] += max(f[j][0], f[j][1]);
        f[u][1] += f[j][0];
    }
}
int main()
{
    cin >> n;
    for (int i = 1; i <= n; i++)cin >> happy[i];
    memset(h, -1, sizeof h);
    for (int i = 0; i < n - 1; i++)
    {
        int a, b; cin >> a >> b;
        hf[a] = true; add(b, a);//b是a的上级
    }
    int root = 1;
    while (hf[root])root++;//求父节点
    dfs(root);
    cout << max(f[root][0], f[root][1]) << endl;//两种情况取max
}

三、练习驾照科一。

四、问题就是,数位dp太难了,需要时间去沉淀。

五、明天打算和朋友去玩,晚上回来,学一会java和算法。

六、今天凉快,特别适合跑步,三公里负重跑,练引体向上还有俯卧撑,练核心力量。

 

标签:结点,idx,int,dfs,++,7.4,root
From: https://www.cnblogs.com/litianyu1969/p/17525367.html

相关文章

  • [渗透测试]—7.4 逆向工程和二进制破解技术
    在本章节中,我们将深入学习逆向工程和二进制破解技术。我们将尽量详细、通俗易懂地讲解,并提供尽可能多的实例。1.1逆向工程概述逆向工程是指从软件的二进制文件中提取信息,以了解其工作原理和设计思路的过程。逆向工程的主要目的是对软件进行分析、调试、修改等操作,以实现特定目......
  • MacOS M1 环境下的 Nginx + docker php-fpm7.4 部署fastadmin
    DokerfileFROMphp:7.4-fpm#php版本低于8的话安装swoole建议指定版本RUNapt-getupdate&&apt-getinstall-y\libfreetype6-dev\libjpeg62-turbo-dev\libpng-dev\libzip-dev\libssl-dev\git\unzip\&&do......
  • yum安装mysql时出现Public key for mysql-community-common-5.7.42-1.el7.x86_64.rpm
    问题描述:yum安装mysql时出现Publickeyformysql-community-common-5.7.42-1.el7.x86_64.rpmisnotinstalled告警,如下所示:数据库:mysql5.7.42系统:rhel7.31、问题重现[root@leo-mysql-master~]#yuminstall-ymysql-community-serverLoadedplugins:langpacks,product......
  • proxmox pve 7.4 显卡直通
    IOMMU(Input-OutputMemoryManagementUnit)是一种硬件功能,用于管理设备对系统内存的访问。启用IOMMU后,可以在虚拟机中直接访问物理设备,并允许虚拟机独立于主机操作系统运行#IntelCPUGRUB_CMDLINE_LINUX_DEFAULT="quietintel_iommu=oniommu=pt"#AMDCPUGRUB_CMDLINE_LINUX......
  • proxmox Virtual Environment 7.4-3 安装记录
    diskutillist卸载所有分区diskutilunmountDisk/dev/diskX删除U盘中的所有分区sudodiskutileraseDiskfreeSPACE/dev/diskX删除U盘分区,dd写入proxmox到U盘sudoddif=./proxmox-ve_7.4.1.isoof=/dev/disk3bs=1M主机开机按F11选择U盘启动,正常输入ip,netmask,gatewa......
  • PVE (Proxmox Virtual Environment) 7.4-3网络配置
    简要记录下自己折腾两天的成果,以便后来人使用。顺便吐槽下,网上的教程五花八门,感觉就是说不到点上,我来试着解释清楚每一步需要做什么方便大家理解。基础环境介绍公司给配置了一台个人用的台式机,接入公司网络,由于公司网络限制,只分配了一个公司内网地址(假设这个地址是101.101.101.1......
  • CentOS yum升级MySQL 5.6到5.7.42
    注意:升级前一定要做好备份升级前请将mysql5.6小版本升级到最高升级时可将my.cnf配置文件备份,保留最基本的配置,避免因配置问题造成异常,升级完成后在逐步还原安装mysql5.7yum源如果之前已经安装了5.6的yum源,需要先卸载后在安装rpm-Uvhhttps://dev.mysql.com/get/mysql......
  • Centos 7.4+ 通过anaconda 安装Python3.10
    做记录,在centos里安装3.10版本时,老是报错ssl。或者一些其他问题,做个记录吧。大概用了2天才弄好,主业不是运维所以不太了解在https://www.anaconda.com/官网下载安装,此处自己根据系统、根据版本,自己安装下载地址:https://www.anaconda.com/download#downloads安装好后condai......
  • 7.4 两种实例化方式比较
    本节课,视频讲的有点抽象。具体内容结合看书来理解看看???????demopublicclassHelloWorld{publicstaticvoidmain(String[]args){StringstrA="mldn";StringstrB=newString("mldn").intern();System.out.println(strA==strB);/......
  • 7.4精读笔记
    逻辑结构设计概念结构是独立于任何一种数据模型的信息结构,逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为与选用数据库管理系统产品所支持的数据模型相符合的逻辑结构。7.4.1E-R图向关系模型的转换E-R图向关系模型的转换要解决的问题是,如何将实体型和实体......