poj 3659 Cell Phone Network USACO 树形DP

高通camx ThreadManager m_pCore->AcceptNewJob是将一个Job或者任务插入一个Queue,有一个工作线程循环从Queue中取Job任务执行,执行任务就是回调任务中的callback函数,AcceptNewJob实现。调用AddToPriorityQueue将任务添加到queue任务队列,那么什么时候从这个queue中取任务执行呢?有个线程循环执行DoWork,最终调用checkAndDequeue取任务执行。 阅读详情

传送门


题目大意:
给出一颗n个节点的树(也就是有n-1条边),请选出最小点数使得所有点被覆盖掉(每个节点可以被自己覆盖,也可以被父亲覆盖,还可以被儿子覆盖)


分析:
好难啊( ⊙ o ⊙ )啊!
f[i][0]代表选择i节点,那么i和i的儿子都被覆盖
f[i][1]代表不选i节点,但是i被儿子覆盖
f[i][2]代表不选i节点,并且i不被儿子覆盖,但是儿子已经被覆盖
f[i][0]+=min(f[to[i]][0],f[to[i]][1],f[to[i]][2])
f[i][2]+=min(f[to[i]][0],f[to[i]][1])
这两个很容易理解
那么f[i][1]怎么转移呢(⊙o⊙)?
我们要保证至少有一个儿子是选择的
所以我们选择k点
f[i][1]=f[k][0]+sum((f[to[i]!=k][1],f[to[i]!=k][0]))
然后O(n)的枚举k点即可O(∩_∩)O哈!


代码如下:

#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
#define inf 0x3f3f3f3f
#define MIN(a,b,c) min(a,min(b,c))
using namespace std;
const int maxn=10000+5;
int n,hd[maxn],to[maxn*2],nxt[maxn*2],cnt,f[maxn][3];
void add(int x,int y){
    to[cnt]=y;
    nxt[cnt]=hd[x];
    hd[x]=cnt++;
}
void dfs(int root,int fa){
    int sum=0;
    f[root][0]=1;//root is chosen and root&root's son are covered
    f[root][1]=inf;//root is not chosen and root&root's son are covered
    f[root][2]=0;//root is not chosen and root si not covered ,root's son is covered
    for(int i=hd[root];i!=-1;i=nxt[i]){
        if(to[i]==fa)
            continue;
        dfs(to[i],root),sum+=min(f[to[i]][1],f[to[i]][0]);
        f[root][0]+=MIN(f[to[i]][0],f[to[i]][1],f[to[i]][2]);
        f[root][2]+=min(f[to[i]][0],f[to[i]][1]);
    }
    for(int i=hd[root];i!=-1;i=nxt[i]){
        if(to[i]==fa)
            continue;
        f[root][1]=min(f[root][1],f[to[i]][0]+sum-min(f[to[i]][0],f[to[i]][1]));
    }
}
signed main(void){
    memset(hd,-1,sizeof(hd));
    scanf("%d",&n),cnt=0;
    for(int i=1,x,y;i<n;i++)
        scanf("%d%d",&x,&y),add(x,y),add(y,x);
    memset(f,inf,sizeof(f));
    dfs(1,-1);
    cout<<min(f[1][0],f[1][1])<<endl;
    return 0;
}

by >o< neighthorn

Verilog——反相器 反相器代码: module inv( A, Y );//A,Y是端口 //定义端口属性 input A; output Y; //定义输入输出关系 assign Y=~A;//Y等于A的反 endmodule //inv是module的名字 阅读详情

相关推荐

高缺失率时空数据插补实战:从随机森林到扩散模型的性能对比

数据缺失是数据分析与机器学习建模中普遍面临的挑战,尤其在时空数据领域,传感器故障、传输中断等问题常导致数据不完整。数据插补技术旨在基于已知数据的模式和关联性,合理估算缺失值,为后续分析提供可靠基础。其核心原理在于利用数据的时空相关性(如时间周期性、空间邻近性)及与外部驱动因素(如交通、气象)的关联构建预测模型。这项技术的价值在于能将不完整的数据集转化为可用于高质量分析和预测的可用资产,广泛应用于环境监测、交通流量预测、金融风控等领域。本文聚焦于一个极具挑战性的场景——PM2.5监测数据缺失率高达82%,通过

weixin_30363285的博客 543

P2986 [USACO10MAR]Great Cow Gathering G(带点权树重心/树形dp+换根dp)详解

https://www.luogu.com.cn/problem/P2986 先说带点权的树重心做法: https://blog.youkuaiyun.com/zstuyyyyccccbbbb/article/details/108558682树的重心的定义以及一些性质。 如果这个树有点权和边权怎么办? 关于边权:其实和所有边为单位1的重心一模一样。(网上搜了搜没怎么有比较详细的说明的,姑且当性质结论1) 关于点权:把”最大的子树节点数最少“改成“最大点权块最小”。 感性证明: 把这个问题转化成刚在.

代码笔记本 634

ESP32 Arduino 学习篇(五)TFT_eSPI库

该库有User_Setup.h和 User_Setup_Select.h两个配置文件,支持 ①自定义参数或 ②使用已有配置 驱动TFT屏幕。优点是: 1. 占用空间非常小 2. 动画清晰,充分利用每个像素点 3. 可以非常灵动. 4. 方便进行微调。首先在Libraries里面搜索安装TFT_eSPI库到你的工程文件里面。初始化屏幕, 如果是ST7735,可以往里面传一个参数, 具体用到时再看。缺点是: 1. 容易闪屏 2. 一般不会太复杂 3.需要大量的计算。特别注意: 字库7是仿7段数码屏的样式。

DOF526570的博客 2万+

Cell Phone Network(动态规划-树形dp)

Cell Phone Network(动态规划-树形dp) judge:POJ 3659 Time Limit: 1000MS Memory Limit: 65536K source:USACO 2008 January Gold Description Farmer John has decided to give each of his cows a cell phone in hopes...

画船听雨眠 592

基于STM32F103的二维码识别项目——OV7670篇

此系列用于记录做过的项目,这篇文章介绍基于STM32F103的二维码识别项目之OV7670FIFO模块。

beyourself_he的博客 4287

CKAD-CN 考试知识点分享(2) CronJob

成功创建 CronJobppi,每 5 分钟执行一次计算任务;配置了和;设置,超时自动终止;确保 Pod 不重启;手动创建ppi-testJob 验证功能正常;所有任务要求均已满足。

轻的博客 329

poj3659[USACO2008,Jan]Cell Phone Network手机网络

树型dp

照月之白 790

基于DWA算法的机器人动态避障技术实现及matlab代码

DWA算法是一种基于轨迹的运动规划算法,其核心思想是:在机器人当前位置及速度的基础上,结合机器人感知到的环境信息,生成一组合法的速度指令,然后从这组速度指令中选取代价最小的速度指令作为机器人的下一步操作。下面,我们将通过一个实例来演示基于DWA算法的机器人动态避障技术实现。假设机器人在一个宽敞的场地内行驶,但场地内有一些固定障碍物和移动障碍物,机器人需要避开这些障碍物,并在场地内自由移动。本文给出了一种基于DWA算法的机器人动态避障技术实现及相应的matlab代码,读者可以根据自身需求进行修改和调整。

uote_e的博客 1001

POJ 3659——Cell Phone Network

Cell Phone Network Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 4416   Accepted: 1562 Description Farmer John has decided to give each of his cows a cel

蛤蛤~ 858

Office系列完全干净卸载工具合集(最全)

使用 Microsoft Fix it 卸载 Microsoft Office 套件 一、Windows 7、Windows Vista或Windows XP下卸载Office 1.MicrosoftEasyFix50416 工具用来卸载office 2003 MicrosoftEasyFix50416_Office2003.msi 2.MicrosoftEasyFix50154 工具用来卸载office 2007 MicrosoftEasyFix50154_Office2007.msi 3.Microso

业精于勤,荒于嬉 3万+

学Simulink——四开关 Buck‑Boost(FSBB)变换器的无缝模式切换仿真

本文详细介绍了使用Simulink实现四开关Buck-Boost(FSBB)变换器无缝模式切换的仿真方法。FSBB变换器因其输入输出同极性、单电感和双向能量流特性,广泛应用于光伏储能、USB-PD和车载电源等场景。文章重点解决了模式切换中的直通风险和占空比跳变问题,通过统一电压PI控制、Stateflow模式仲裁和200ns死区设计,实现了Buck(26V→24V)、Pass-Through(24V±1V)和Boost(22V)三种工作模式的无缝过渡。仿真结果显示输出电压稳定在12V±0.15V,切换过程无

amy_mhd的博客 65

poj 3659 Cell Phone Network(树的最小支配集树形DP)

题目链接:http://poj.org/problem?id=3659

要去相信,没有到不了的明天 704

【数字IC验证快速入门】26、SystemVerilog项目实践之AHB-SRAMC(6)(AHB-SRAMC SVTB Overview)

导读:作者有幸在中国电子信息领域的排头兵院校“电子科技大学”攻读研究生期间,接触到前沿的数字IC验证知识,旁听到诸如华为海思、清华紫光、联发科技等业界顶尖集成电路相关企业面授课程,对数字IC验证有了一些知识积累和学习心得。为帮助想入门前端IC验证的朋友,思忱一二后,特开此专栏,以期花最短的时间,走最少的弯路,学最多的IC验证技术知识。 文章目录一、内容概述二、AHB-SRAMC 验证计划 一、内容概述 AHB-SRAMC 验证计划 AHB-SRAMC 验证平台的架构图 AHB-SRAMC 验证平台的代.

悟已往之不谏 知来者之可追 2650

POJ 3659 Cell Phone Network 最小支配集模板题(树形dp)

点击打开链接 Cell Phone Network Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5305   Accepted: 1878 Description Farmer John has decided to give each of hi

代码改变世界,keep coding。 1619

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

POJ-3659 Cell Phone Network(图的最小支配集+树形dp+处理点)

Cell Phone Network Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7241   Accepted: 2581 Description Farmer John has decided to give each of his cows a cell phone in hop...

碳酸钙的01妖精的博客 620

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

【POJ】3659 Cell Phone Network 树上的极小支配集——树型DP

Cell Phone Network Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 5524 Accepted: 1984 Description Farmer John has decided to give each

poursoul 761

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

【POJ 3659】Cell Phone Network

Cell Phone Network Time Limit:1000MS Memory Limit:65536K Total Submissions:6012 Accepted:2163 Description Farmer John has decided to give each of his cows a cell ...

weixin_30652879的博客 86

POJ 3659/洛谷 P2899 [USACO08JAN]手机网络Cell Phone Network 树的最小的支配集(贪心)

CellPhone NetworkTime Limit: 1000MS Memory Limit: 65536K Total Submissions: 7165 Accepted: 2558 DescriptionFarmer John has decided to give each of his cows a cell phone inhopes to encourage the...

pxlsdz的博客 763

1776 Task Sequences 竞赛图构造哈密顿路径

竞赛图构造哈密顿路径

NeighThorn的博客 2186

poj 3275 邻接表优化Floyd

lalala

NeighThorn的博客 1787

POJ 2279 Mr. Young's Picture Permutations......杨氏矩阵+钩长公式??

杨氏矩阵+钩长公式

NeighThorn的博客 1528

POJ 1991 Turning in Homework 区间DP

区间DP

NeighThorn的博客 1288

POJ 2187 平面上的最远点

凸包+旋转卡壳

NeighThorn的博客 1204

POJ 3667 Hotel 线段树lazy标记 (模板~~)

线段树lazy标记

NeighThorn的博客 1166

poj2367

llllllllllllllllllllllllllllllllll

NeighThorn的博客 1136

POJ 3657 Haybale Guessing 并查集+二分答案

并查集+二分答案

NeighThorn的博客 1104
上一篇: poj 1947 Rebuilding Roads 树形DP
下一篇: poj 3670 Eating Together LIS
NeighThorn
博客等级 码龄11年 20粉丝 171原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值