(vijos 1892 noip 模拟 tree)<树形DP求树的最大匹配及方案数>

从Simulink仿真到DSP28335真机部署:PID闭环控制快速移植指南 本文详细介绍了如何将Simulink中的PID闭环控制算法快速移植到DSP28335嵌入式平台。通过模型与代码映射、浮点与定点数选择、定时器中断配置、物理输出实现以及调试技巧五个关键步骤,帮助工程师高效完成从仿真到真机部署的全过程,特别适合需要实现精确控制的嵌入式开发者。 阅读详情

传送门


Solution

以后不补


Code

输入和vijos1892不太一样

// by spli
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<iostream>
#define LL long long
using namespace std;

const int N=1010;
int n;
struct node{
    int to,nxt;
}e[N<<1];int head[N],cnt;
bool vis[N];
LL ff[N],gg[N];
LL f[2][N];
LL g[2][N];

void add(int f,int t){
    cnt++;
    e[cnt]=(node){t,head[f]};
    head[f]=cnt;
}

void dfs(int u,int fa){
    g[0][u]=1;
    for(int i=head[u];i!=-1;i=e[i].nxt){
        int v=e[i].to;
        if(v==fa) continue;
        dfs(v,u);
        f[0][u]+=ff[v];
        g[0][u]*=gg[v];
    }
    for(int i=head[u];i!=-1;i=e[i].nxt){
        int v=e[i].to;
        if(v==fa) continue;
        LL t=f[0][u]-ff[v]+f[0][v]+1;
        LL p=g[0][u]/gg[v]*g[0][v];
        if(f[1][u]==t) g[1][u]+=p;
        else if(t>f[1][u]){
            f[1][u]=t;g[1][u]=p;
        }
    }
    if(f[1][u]>f[0][u]) ff[u]=f[1][u],gg[u]=g[1][u];
    else if(f[0][u]>f[1][u]) ff[u]=f[0][u],gg[u]=g[0][u];
    else ff[u]=f[1][u],gg[u]=g[0][u]+g[1][u];
}

int main(){
    memset(head,-1,sizeof(head));
    scanf("%d",&n);
    int u,num,x;
    for(int i=1;i<=n;++i){
        scanf("%d%d",&u,&num);
        if(!num) vis[i]=1;
        for(int j=1;j<=num;++j){
            scanf("%d",&x);
            add(u,x);
        }
    }
    dfs(1,1);
    if(f[1][1]>f[0][1])
        cout<<f[1][1]<<endl<<g[1][1];
    else if(f[1][1]==f[0][1]) cout<<f[1][1]<<endl<<g[1][1]+g[0][1];
    else cout<<f[0][1]<<endl<<g[0][1];
    return 0;
}
【Bluetooth蓝牙开发】九、BLE协议之GATT 1、开篇词 2、蓝牙开发入门 3、蓝牙协议栈总览 4、蓝牙协议栈——物理层 5、蓝牙协议栈——链路层 6、蓝牙协议栈——传输层 7、蓝牙协议栈——L2CAP协议 8、蓝牙协议栈——ATT协议 9、蓝牙协议栈——GATT协议 10、蓝牙通信流程分析 11、蓝牙协议栈——Bluez交叉编译 12、蓝牙调试工具汇总 阅读详情

相关推荐

STM32Cubemx+CanFestival:从零到一的CANopen移植实战

本文详细介绍了如何使用STM32CubeMX和CanFestival实现CANopen协议栈的移植,从开发环境搭建到核心配置步骤,再到调试与问题排查。通过实战经验分享,帮助开发者快速掌握STM32与CANopen的结合应用,提升嵌入式系统开发效率。

weixin_42558093的博客 421

2019.04.20【NOIP提高组】模拟 B 组 观察题目+堆(?)+最大匹配+贪心、DP

文章目录0 压缩后缀数组1 新年礼物2 聚会3 辽哥游戏立阳二中、清华医学系谢俞 0 压缩后缀数组 据传是水题 当f[i]=i时,原数组s的i位置一定是偶数,那么s[i]=a[对应的位置]*2 否则s[i]=s[f[i]]-1 #include <cstdio> using namespace std; int n; int c[20004],a[20004],to...

戒毒戒赌戒网瘾,学习学问学做人——好好学习 478

思科—OSPF多区域配置实验

实验目的:配置OSPF多区域,使得不同网段的PC互相ping通。 网络拓扑如下: R0的配置 Router>en Router#conf t Router(config)#int g0/1 Router(config-if)#ip add 192.168.1.1 255.255.255.0 Router(config-if)#no shut Router(config-if)#exit Router(config)#int g0/0 Router(config-if)#ip add 192.168.

m0_46237205的博客 1万+

【Ybtoj】【NOIP2021 模拟赛 B 组 Day8】最大匹配【树形DP】

解题思路 考虑树形DP,设: f[i]f[i]f[i]表示以i为子树且不选他与儿子的连边时,最多能匹配多少条边 ff[i]ff[i]ff[i]表示以i为子树最多能匹配多少条边。 g[i]g[i]g[i]表示以i为子树且不选他与儿子的连边时,有几种方案能匹配最多的边 gg[i]gg[i]gg[i]表示以i为子树有几种方案能匹配最多的边 因为是连通图,可以从任意一个点往下搜,然后一直到底,回溯处理。 ff[x]ff[x]ff[x]初值是f[x]f[x]f[x],gg[x]gg[x]gg[x]初值是g...

在人间贩卖声音 217

在win10系统上安装opnet14.5注意事项和步聚

opnet 14.5安装避坑!

miracle_eicont的专栏 1038

MTK Linux DRM分析(八)- KMS drm_crtc.c

CRTC 在 Linux DRM 子系统中是显示控制的核心,负责时序生成、模式设置和管线的调度。理解其工作原理和 API 对于进行底层图形开发、调试显示问题或 simply understanding how your graphics stack works 都至关重要。

iTom1900 1350

最大匹配【树形DP】

>Link ybtoj最大匹配 >Description n≤105n\le 10^5n≤105 >解题思路 麻掉了,考试的时候修改代码没修改完全,直接100变70 qwq 因为在树上匹配,我们可以树形DP 设 fif_ifi​ 为第iii个节点的子树中的最大匹配,ffi=∑j∈son(i)fjff_i=\sum_{j\in son(i)}f_jffi​=∑j∈son(i)​fj​ 如果选择一条边 (u,v)(u,v)(u,v) 且 uuu 是 vvv 的父亲,uuu 和 vvv 周

//(^ o ^)// 758

400G光模块测试全攻略:从PCS层到CMIS合规的避坑指南

本文为网络设备测试工程师和光通信研发人员提供了一份详尽的400G光模块测试实战指南。文章深入剖析了从PCS层信号完整性、FEC容限到CMIS管理接口合规性测试的全流程,并分享了ANLT协议分析、SerDes眼图调试以及系统级流量压力测试中的核心技巧与常见避坑点,旨在帮助读者构建一套高效、精准的测试体系,确保高速光模块的可靠性与性能。

weixin_29300931的博客 213

详解二分图的最大匹配

一天一算法二分图的匹配算法——最大匹配基本概念:二分图本身的概念就不解释了。这里主要介绍一下增广路。也有人称它为交错路。之所以称它为交错路是因为在这条路径上,未匹配边和匹配边是交替出现的。之所以称它为增广路,是因为如果能找到这条路,就能够使得匹配数加一。事实上,他的名字就是增广路的性质的体现。我们把二分图中的点分为左边和右边。增广路的理解,就是,一个未匹配点a(左边)到另一个未匹配点b(右边)的一条

coder_yuanxl的博客 1428

别再手动配网了!用安信可PB-02模组+PHY Mesh App,5分钟搞定蓝牙Mesh智能灯群控

本文详细介绍了如何使用安信可PB-02模组和PHY Mesh App快速搭建蓝牙Mesh智能灯群控系统。通过5分钟的硬件连接和固件烧录,用户可实现多灯分组控制、场景切换及地理围栏等高级功能,显著提升智能家居部署效率。方案特别适合需要快速实现灯光群控的场景。

weixin_28675839的博客 419

实战ByteTrack:用C++手把手教你实现多目标跟踪(附完整代码解析)

本文通过C++实战教程,手把手教你实现ByteTrack多目标跟踪算法。文章详细解析了算法核心,包括利用卡尔曼滤波进行状态预测、匈牙利算法完成数据关联,以及ByteTrack独特的三次匹配策略来有效处理低置信度检测框,并提供了完整的项目架构、代码实现与性能优化指南。

yolo5detector的博客 300

二分图大讲堂——彻底搞定最大匹配数(最小覆盖数)、最大独立数、最小路径覆盖、带权最优匹配...

二分图大讲堂——彻底搞定最大匹配数(最小覆盖数)、最大独立数、最小路径覆盖、带权最优匹配 文本内容框架: §1图论点、边集和二分图的相关概念和性质 §2二分图最大匹配求解 匈牙利算法、Hopcroft-Karp算法 §3二分图最小覆盖集和最大独立集的构造 §4二分图最小路径覆盖求解 §5二分图带权最优匹配求解 Kuhn-Munkers算法 §6小结 每章节都...

qiudesuo的专栏 1738

避坑指南:LVGL在Arduino环境编译报错?3步搞定lv_conf.h路径问题(附ST7789屏幕调试技巧)

本文详细解析了在Arduino环境中配置LVGL图形库时,如何解决常见的“lv_conf.h file not found”编译报错问题。通过三步法:定位并复制模板文件、启用核心配置并指定路径、配置基础参数,从根本上解决路径问题。文章还结合ST7789屏幕驱动,分享了使用TFT_eSPI库进行显示适配、内存优化及背光控制等实战调试技巧,帮助开发者建立清晰、可维护的嵌入式UI工程基础。

lake5的博客 860

树形DP之王 balabalabala

题目:给你一棵树,要你求最大匹配和最大匹配的方案数。最大匹配就是选尽量多的边,使这些边的端点不重合。方案数要对1e9+7取模。n 这道题大概是我见过的树形DP中最难的,我称之为树P之王,首先,对于最大匹配,我们可以将边上放到点,即dp[i][0]表示不选i下面所连的边,dp[i][1]表示选i下面的边,那么我们可以知道dp[i][0]=西格玛max(dp[son[i]][1],dp[son[i]

TSOI_Vergil的博客 443

数学建模模型总结

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

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

神奇脑洞题解——树的最大匹配

(这是道CEOI2007的原题,洛谷上也有哦) COGS 489 至于为啥没有洛谷链接,实验人怎么能用别人的评测机 其实只是洛谷数据过强,要写高精度的 一句话题面:给定一颗父子关系指明的树,记树上某个点和他的父亲可以形成一对匹配,求这棵树最多可以形成多少匹配,形成这么多种匹配的方案有几种? 【输入格式】 第一行一个数 N ,表示有多少个结点。 接下来 N 行,每行第一个数...

dingtuhong4169的博客 919

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

NOIP 2014 联合权值 [DFS]

#16. 【NOIP2014】联合权值  统计 无向连通图 GG 有 nn 个点,n−1n−1 条边。点从 11 到 nn 依次编号,编号为 ii 的点的权值为 WiWi,每条边的长度均为 11。图上两点 (u,v)(u,v) 的距离定义为 uu 点到 vv 点的最短距离。对于图 GG上的点对 (u,v)(u,v),若它们的距离为 22,则它们之间会产生Wv×WuWv×Wu

PomeCat的博客 771

vijos 1892 树上的最大匹配问题 树形dp

https://vijos.org/p/1892 题目大意:树上的最大匹配是多少? 最大匹配解的方案共有多少组? (首先树可以被看作是一个无向图G. (对于无向图G来说, 其上的最大匹配是边集的一个子集, 满足: (对于G中每一个点来说, 都只有最多一条与之相连的边在这个子集中. (最大匹配就是这个子集大小可以到达的最大值. 以上大概就是树上最大匹配的概念。

WKLL_ 2803

二分图匹配 HDU - 2819输出最大匹配的方案

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2819 题目大意: 给定N * N矩阵,每个条目等于0或1.您可以交换任意两行或任意两列。你能找到一种让所有对角线条目等于1的方法吗? 输入中有几个测试用例。每个测试用例的第一行是整数N(1 <= N <= 100)。然后是N行,每行包含N个数字(0或1),按空格分隔,表示N * N矩阵。 ...

H_ang的博客 856

17AHU排位赛2 E题(树上最大匹配,树形DP)

problem有一个n个节点n-1条边组成的树。 每个点看成一个人,连接u和v的边看成是“中意关系”,即u和v两个人都想和对方组队。每个人希望组队的对象有可能有多个。 一支队伍由且仅由两个人组成,并且如果u和v组队了,那么u、v将不能和其他人再组成一支队。 现在问你,这n个人最多能组成多少支队伍。(允许某些人组不了队)Input第一行输入一个整数n,m(1<=n<=200000) 接下来n-

Feynman1999的博客 698

hdu Marriage Match II 完全不同的最大匹配方案的个数

Marriage Match II Time Limit : 2000/1000ms (Java/Other)Memory Limit : 32768/32768K (Java/Other) Total Submission(s) : 6Accepted Submission(s) : 5 Problem Description Presumably, you all...

dcc1117的博客 312

【vijos】1892 树上的最大匹配(树形dp+计数)

https://vijos.org/p/1892 这个必须得卡评测机+手动开栈才能卡过QAQ 手动开栈我百度的。。。 int size=256<<20; //256MB char *p=(char*)malloc(size)+size; __asm__("movl %0, %%esp\n" :: "r"(p)); 然后我交了无数发,然后才卡过。。。。 ...

321

最大匹配

题目大意求树的最大匹配及最大匹配数量。DP设f[i,0~1]表示i子树中进行匹配,i参与匹配的最大匹配及数量。 g[i,0~1]类似,不过i不参与匹配。 h[i,0~1]由f和g得到,表示无管i是否参与匹配。 h由f和g得到,我们只思考如何求f和g。 g很容易求。 对于f,找到儿子中g[j,0]-h[j,0]最大的,然后加上所有儿子h的和再加1就是最大匹配。最大匹配数量要除去作为和i匹配的

不来也不去的一只失忆蝴蝶 649

二分图求最大匹配数,最完美匹配概念

二分图:把一个图的顶点划分为两个不相交集 UU 和VV ,使得每一条边都分别连接UU、VV中的顶点。如果存在这样的划分,则此图为一个二分图。 匹配:在图论中,一个「匹配」(matching)是一个边的集合,其中任意两条边都没有公共顶点。例如,图 3、图 4 中红色的边就是图 2 的匹配。     我们定义匹配点、匹配边、未匹配点、非匹配边,它们的含义非常显然。例如图 3 中

winycg的博客 5882

hdu 4687 带花树求一般图最大匹配(模板)

题意 :  给一个一般图,求所有的最大匹配情况不包含的边 ,

LSS 677

【NOIP 模拟题】[T2]拯救紫萱学姐(kmp+树形dp)

逢吟知己若,一任两西东

reverie_mjp的博客 650

【NOIP2018复习】树(期望/树形DP/LCA)

树 时间限制:2000MS内存限制:256000KB 题目描述 梦游中的你来到了一棵 N 个节点的树上. 你一共做了 Q 个梦, 每个梦需要你从点 u 走到 点 v 之后才能苏醒, 由于你正在梦游, 所以每到一个节点后,你会在它连出去的边中等概率地 选择一条走过去, 为了确保第二天能够准时到校, 你要求出每个梦期望经过多少条边才能苏 醒. 为了避免精度误差, 你要输出答案模10^9 + 7的...

masterwater的博客 660

[jzoj1029] 【NOIP动态规划专题】电子眼 {树形dp}

题目 Description 中山市石一个环境优美、气候宜人的小城市。因为城市的交通并不繁忙,市内的道路网很稀疏。准确地说,中山市有N条马路和N个路口,每条马路连接两个路口,每两个路口之间最多只有一条马路。作为一条交通网络,显然每两个路口之间都是可达的。为了更好地管理中山市的交通,市长决定在一些路口加装电子眼,用来随时监视路面情况。这些装在路口的电子眼能够监视所有连接到这个路口的马路。现在市长...

Nowed 1031
上一篇: (洛谷 1632 点的移动 noip 模拟 tower)<脑洞题>
下一篇: (codevs 3044 矩形面积求并)<可以不用线段树>
SDFZspli
博客等级 码龄10年 17粉丝 80原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值