1304: [CQOI2009]叶子的染色

手把手教你用YOLO-NAS训练自己的无人机巡检数据集(附完整代码) 本文详细介绍了如何使用YOLO-NAS目标检测器训练无人机巡检数据集,涵盖数据采集、标注策略、模型调优及边缘设备部署等全流程。针对航拍小目标检测的特殊挑战,提供了YOLO-NAS架构选择、数据增强和损失函数调参的实用技巧,帮助开发者高效构建工业级无人机巡检系统。 阅读详情

题目链接

题目大意:m个结点的无根树,可以选择一个度数大于1的结点作为根,然后给一些结点着黑/白色,着色需要保证根结点到每个叶子的简单路径上都至少包含一个有色结点,给出根到每个叶子路径上最后一个有色节点的颜色,最小化着色点数

题解:如果确定了根,只需要dp一下就可以求出答案了
f[i][0/1]表示以i为根的子树,i为0/1的代价

可以随便选一个非叶子节点为根……
Orz

我的收获:……

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;

const int M=10005;
#define INF 0x3f3f3f3f

int t,head[M];
int n,lev;
int col[M];
int f[M][2];

struct edge{int to,nex;}e[M<<1];

void add(int u,int v){e[t].to=v,e[t].nex=head[u],head[u]=t++;}

void dfs(int x,int fa)
{
    f[x][0]=f[x][1]=1;
    if(x<=lev) f[x][!col[x]]=INF;
    for(int i=head[x];i!=-1;i=e[i].nex){
        int v=e[i].to;
        if(v==fa) continue;
        dfs(v,x);
        f[x][0]+=min(f[v][0]-1,f[v][1]);
        f[x][1]+=min(f[v][1]-1,f[v][0]);
    }
}

void work()
{
    dfs(n,0);
    printf("%d\n",min(f[n][0],f[n][1]));
}

void init()
{
    cin>>n>>lev;
    memset(head,-1,sizeof(head));
    for(int i=1;i<=lev;i++) scanf("%d",&col[i]);
    for(int x,y,i=1;i<n;i++) scanf("%d%d",&x,&y),add(x,y),add(y,x);
}

int main()
{
    init();
    work();
    return 0;
}
Linux中断子系统分析之(四):驱动程序申请中断 中断子系统中有一个重要的设计机制,那就是Top-half和Bottom-half,将紧急的工作放置在Top-half中来处理,而将耗时的工作放置在Bottom-half中来处理。 如果中断不分上下半部处理,那么意味着只有等上一个中断完成处理后才会打开中断,下一个中断才能得到响应。当某个中断处理处理时间较长时,很有可能就会造成其他中断丢失而无法响应,影响系统性能。 中断分成上下半部处理可以提高中断的响应能力,在上半部处理完成后便将中断打开,这样就可以响应其他中断了,等到中断退出的时候再进行下半部的处理。为了进 阅读详情

相关推荐

Modbus4J vs EasyModbus4J:哪个Java库更适合你的工业项目?

本文深入对比了Java领域两大Modbus通信库Modbus4J与EasyModbus4J。Modbus4J设计稳健、类型安全,适合复杂业务集成;EasyModbus4J基于Netty,在高并发场景下性能更优。文章从架构、性能、API及生产环境多维度分析,为工业物联网项目选型提供决策依据。

weixin_28475533的博客 310

树上着色问题 | 这个世界不能非黑即白,但树可以!

对一棵树进行着色,每个结点可着黑色或白色,相邻结点不能着相同黑色,但可着相同白色。请设计一种算法对树中尽量多的节点着黑色。

qq_45931691的博客 657

Oracle Primavera P6实战手册:从入门到精通的企业项目管理秘籍

本文详细介绍了Oracle Primavera P6在企业项目管理中的实战应用,从环境配置到高级进度控制技巧,帮助用户从入门到精通。通过WBS设计、资源优化和情景模拟等核心功能,提升项目管理效率。特别适合需要处理复杂项目和多团队协作的企业用户。

weixin_29235923的博客 254

【动态规划】树上着色问题

问题描述: 对一棵树进行着色,每个结点可着黑色或白色,相邻结点不能着相同黑色,但可着相同白色。请设计一种算法对树中尽量多的节点着黑色。 思路: 对于一棵根节点为 rootrootroot 的子树(也有可能就是输入的树),只会发生两个情况:(1)rootrootroot 涂成白色,那么 rootrootroot 的子节点可以涂成白色也可以涂成黑色;(2)rootrootroot 涂成黑色,那么root的子节点只能涂成白色。 基于这两种情况,我们可以维护一个动态规划表 dp[MAXN+1][2]dp[MAX_N

Mister_Yu的博客 2402

Argoverse2数据集保姆级导入教程:从下载到预处理全流程解析

本文详细解析了Argoverse2数据集的完整导入流程,从环境配置、数据下载到预处理和高效加载策略。作为自动驾驶领域的标杆数据集,Argoverse2提供多模态传感器数据和高精地图信息,帮助研究者快速搭建数据处理流水线。文章包含实用代码示例和性能优化技巧,特别适合自动驾驶算法开发者参考。

weixin_29035405的博客 336

《干货满满!AI 应用架构师打造 AI 驱动生产计划的实战技巧》

生产计划是制造企业的“大脑”——它决定了买什么物料、产多少产品、用什么设备、什么时候交货,直接影响企业的成本、效率和客户满意度。需求预测靠经验,误差常超20%;排产依赖Excel,调整一次要3天;供应链协同靠邮件,物料延迟导致停产屡见不鲜。作为AI应用架构师,我们的任务是用AI重新“激活”这个“大脑”——用数据驱动的预测替代经验判断,用智能优化替代人工排产,用实时协同替代被动响应。本文结合3个制造业实战案例5段可运行代码2个数字孪生模型,从架构设计→核心模块实现→落地踩坑。

移动开发前沿的博客 1083

[CQOI2009]叶子的染色(树形dp)

链接:https://ac.nowcoder.com/acm/problem/19914 来源:牛客网 题目描述 给一棵m个结点的无根树,你可以选择一个度数大于1的结点作为根,然后给一些结点(根、内部结点和叶子均可)着以黑色或白色。你的着色方案应该保证根结点到每个叶子的简单路径上都至少包含一个有色结点(哪怕是这个叶子本身)。 对于每个叶结点u,定义c[u]为从根结点从U的简单路径上最后一个有色结点...

starlet_kiss的博客 340

YOLOv8模型改进、剪枝、蒸馏和Web端界面的直观展示

模型蒸馏与性能提升 为了进一步优化YOLOv8模型,可以使用蒸馏技术将大型模型的知识转移到小型模型中。在模型蒸馏过程中,通过定义适当的损失函数和训练策略,学生网络可以学习教师网络的知识,并达到接近教师网络性能的效果。这样做不仅可以减少模型的存储和计算开销,还可以提高模型的推理速度和实时应用的响应能力。这样,用户可以直观地观察到模型的性能和应用的效果。为了优化YOLOv8模型并实现直观地观看检测效果或训练结果的全家通应用,本文将探讨如何通过改进、剪枝和蒸馏技术,并结合Web端界面来提升模型性能。

weixin_51988935的博客 2397

[CQOI2009]中位数图

2023.2.16

liangcha_xyy的博客 146

Android11原生设置屏幕亮由Gamma变化改为线性变化

从Android9 开始屏幕亮度调解变成非线性变化,这样的话就会出现 之前亮度变化很小,到后面时变化亮度很快; 修改为线性变化,只需要修改 ./frameworks/base/packages/SettingsLib/src/com/android/settingslib/display/BrightnessUtils.java /* * Copyright (C) 2018 The Android Open Source Project * * Licensed under the Apache L

Android 4926

一个服务如何被找到、被调用、被看见:注册中心、发布注册、发现调用与服务监控的治理闭环

服务数量一多,“对方在哪儿”就成了时刻变化的变量。本文沿发布、注册、发现、调用、监控的治理闭环展开:注册中心的数据模型、健康检查与AP/CP取舍,自我保护、推空保护与本地快照三道自保机制;服务发布的启动器、动态代理、发布管理器、协议服务器与登记顺序;消费端的服务目录、请求ID配对、六种集群容错与三种发现模式;日志、指标、链路三支柱与熔断舱壁。配套五个Java演示程序实测:默认参数下宕机实例平均240秒才被摘除,优雅下线可降至45秒,统计窗口长于租约会让自我保护失效,尾部采样可捕获全部慢请求。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 169万+

BZOJ 1304: [CQOI2009]叶子的染色

二次联通门 :BZOJ 1304: [CQOI2009]叶子的染色 /* BZOJ 1304: [CQOI2009]叶子的染色 此题最难解决的就是关于根的问题 但是自己手动模拟会发现 无论哪个非叶子节点做根,对答案都是没有影响的 所以随便确定一个根,做树形dp dp[i][0]表示以i为根的子树...

weixin_30725467的博客 135

华为OD机试 - TLV格式(Python/JS/C/C++ 2025 C卷 100分)

两端通过TLV格式的报文来通信,现在收到对端的一个TLV格式的消息包,要求生成匹配后的(tag,length,valueOffset)列表。和需要匹配的n个tag对应的n行匹配结果,每一行由长度和偏移量组成。第二行:需要匹配的tag数量n(0 < n < 1000)后面N行:需要匹配n个tag值(十进制表示),递增排列。标签10(0A)存在,长度3,valueOffset=2。标签15(0F)长度4,valueOffset=2。标签14(0E)长度2,valueOffset=8。

学Java,找哪吒 2040

BZOJ1304: [CQOI2009]叶子的染色

Description 给一棵m个结点的无根树,你可以选择一个度数大于1的结点作为根,然后给一些结点(根、内部结点和叶子均可)着以黑色或白色。你的着色方案应该保证根结点到每个叶子的简单路径上都至少包含一个有色结点(哪怕是这个叶子本身)。 对于每个叶结点u,定义c[u]为从根结点从U的简单路径上最后一个有色结点的颜色。给出每个c[u]的值,设计着色方案,使得着色结点的个数尽量少。 ...

156

Camera2Demo

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

数学建模模型总结

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

bzoj1304: [CQOI2009]叶子的染色(树形DP)

bzoj1304 题目描述:给一棵m个结点的无根树,你可以选择一个度数大于1的结点作为根,然后给一些结点(根、内部结点和叶子均可)着以黑色或白色。你的着色方案应该保证根结点到每个叶子的简单路径上都至少包含一个有色结点(哪怕是这个叶子本身)。 对于每个叶结点u,定义c[u]为从根结点从U的简单路径上最后一个有色结点的颜色。给出每个c[u]的值,设计着色方案,使得着色结点的个数尽量少。 输入...

diqiao4431的博客 207

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

BZOJ 1304: [CQOI2009]叶子的染色 树形DP

Description给一棵m个结点的无根树,你可以选择一个度数大于1的结点作为根,然后给一些结点(根、内部结点和叶子均可)着以黑色或白色。你的着色方案应该保证根结点到每个叶子的简单路径上都至少包含一个有色结点(哪怕是这个叶子本身)。 对于每个叶结点u,定义c[u]为从根结点从U的简单路径上最后一个有色结点的颜色。给出每个c[u]的值,设计着色方案,使得着色结点的个数尽量少。 Input第一行包含

I good vegetable a! 1064

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

bzoj1304: [CQOI2009]叶子的染色

传送门 这道题显然是树DP 我们用F(u,color)表示以u为节点的子树所需的最少节点数,且u刷成color。 F(i,0)表示点i涂黑色,dp(i,1)表示点i涂白色 所以有F(i,0) = sum(min(dp(i.son,1),dp(i.son,0))) 当点i涂黑色时,他涂黑色的儿子可以少涂一个点,i涂白色时同理 然后就是沙比树形dp了。uses math; var

zyy大蒟蒻的博客 869

bzoj 1304: [CQOI2009]叶子的染色

1 #include<cstdio> 2 #include<iostream> 3 #define N 10009 4 #define inf 100000 5 using namespace std; 6 int b[N],cnt,n,m,c[N],f[N][2],head[N],next[2*N],u[2*N]; 7 void jia(in...

weixin_34332905的博客 75

【树形dp】bzoj1304: [CQOI2009]叶子的染色

又是一道优美的dp Description 给一棵m个结点的无根树,你可以选择一个度数大于1的结点作为根,然后给一些结点(根、内部结点和叶子均可)着以黑色或白色。你的着色方案应该保证根结点到每个叶子的简单路径上都至少包含一个有色结点(哪怕是这个叶子本身)。 对于每个叶结点u,定义c[u]为从根结点从U的简单路径上最后一个有色结点的颜色。给出每个c[u]的值,设计着色方案,使得着色结...

weixin_30274627的博客 140

BZOJ 1304: [CQOI2009]叶子的染色 树形dp

第一眼感觉像贪心,但是仔细想了想显然不行。 那么考虑dp,f[i][j]表示i这个节点染成j色后,以它为根的子树满足要求,需要染多少个点 j色的话……不包含无色,后面再讲 然后这是一棵无根树?怎么办? 反正也无所谓……你随便拎个非叶子节点当根就可以了,比如说假装是n+1 然后我们考虑转移 son[x]表示x的其中一个子节点 f[x][0]+=min(f[son[x]]

来自Fop_zz的辣鸡题解或教程 539
上一篇: 1131: [POI2008]Sta
下一篇: 1477: 青蛙的约会
Mmh2000
博客等级 码龄10年 11粉丝 541原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值