Codeforces 842C - Ilya And The Tree 【树上DFS】

避坑指南:Windows下OpenCV摄像头索引混乱问题的3种解决之道 本文详细解析了Windows下OpenCV摄像头索引混乱问题的3种解决方案,包括GUID查询法、DirectShow接口集成和注册表固化技术。针对工业视觉和智能监控场景,提供实战代码和性能优化建议,帮助开发者稳定识别多路摄像头设备,有效解决VideoCapture接口的索引漂移问题。 阅读详情

**【题意】

给出一棵生成树,每个节点都有一个值,现在要求出每个节点的美丽值的最大值,美丽值的定义为从根节点到该节点(包含)路径上所有点的值的gcd,求解每个点时可以把路径上某一个点的值变为0。你可以认为每个点美丽值的求解是独立的。**

别人的代码ac。。

#include <bits/stdc++.h>
using namespace std;

const int maxn=2e5;

int n;
int A[maxn+10],dp[maxn+10][2],fa[maxn+10];
vector<int>g[maxn+10];
set<int>s[maxn+10];

void dfs(int v,int p,int b){
    for(int w:s[p])s[v].insert(__gcd(w,A[v]));
    s[v].insert(b);
    b=__gcd(b,A[v]);
    s[v].insert(b);
    for(int w:g[v])if(w!=p)dfs(w,v,b);
}

int main(){
    scanf("%d",&n);
    for(int i=1;i<=n;i++)scanf("%d",A+i);
    int u,v;
    for(int i=1;i<n;i++){
        scanf("%d%d",&u,&v);
        g[u].push_back(v);
        g[v].push_back(u);
    }
    dfs(1,0,0);
    for(int i=1;i<=n;i++)
        printf("%d ",*s[i].rbegin());
    return 0;
}

我的代码wa4

int val[N];
const int maxn=2e5;
int fst[N],nxt[N<<1],to[N<<1],e;
vector<int>g[maxn+10];
set<int>s[maxn+10];
set<int>::iterator it;
void dfs(int u,int fa,int c){
    for(it=s[u].begin();it!=s[u].end();++it)s[u].insert(__gcd(*it,val[u]));
    s[u].insert(c);
    c=__gcd(c,val[u]);
    s[u].insert(c);
    for(int i=0;i<g[u].size();++i)if(g[u][i]!=fa)dfs(g[u][i],u,c);
}
int main(){
    int n;sf("%d",&n);
    mem(fst,-1);e=0;
    rep(i,1,n)sf("%d",&val[i]);
    rep(i,1,n-1){ int u,v;sf("%d%d",&u,&v);g[u].push_back(v);g[v].push_back(u);}
    dfs(1,0,0);
    rep(i,1,n)pf("%d%c",*s[i].rbegin(),i==n?'\n':' ');

}

原本以为可以dp ,但其实是不可以的。。。谢谢提醒

int gcd(int a,int b){ if(b>a)swap(a,b);return b==0?a:gcd(b,a%b); }
int dp[N][2],ans[N];
void add(int u,int v){
    to[e]=v;nxt[e]=fst[u];fst[u]=e++;
}
void dfs(int u,int fa){
    dp[u][0]=gcd(dp[fa][0],val[u]);
    dp[u][1]=max(dp[fa][0],gcd(dp[fa][1],val[u]));
    ans[u]=max(dp[u][0],dp[u][1]);
    for(int i=fst[u];~i;i=nxt[i]){
        int v=to[i];
        if(v==fa)continue;
        dfs(v,u);
    }
}
int main(){
    int n;sf("%d",&n);
    mem(fst,-1);e=0;
    rep(i,1,n)sf("%d",&val[i]);
    mem(dp,0);
    rep(i,1,n-1){ int u,v;sf("%d%d",&u,&v);add(u,v);add(v,u); }
    dp[1][0]=val[1];
    dfs(1,1);
    //rep(i,1,n)pf("%d %d\n",dp[i][0],dp[i][1]);
    rep(i,1,n)pf("%d%c",ans[i],i==n?'\n':' ');
}
K-GAS解读(08) 大众kgas标准,大众及其供应商kgas 阅读详情

相关推荐

毕业设计——基于卷积神经网络的高速公路团雾智能识别系统设计与实现(数据集+源码+可视化+综述)

同时,也可以结合其他技术,如雷达、红外传感器等,实现多源信息的融合与协同处理,提高系统的可靠性和稳定性。实验结果表明,该系统能够实现对高速公路团雾的准确、快速识别,为高速公路的安全运行提供了有力保障。团雾作为一种常见的气象现象,具有突发性、局地性和消散迅速的特点,对高速公路的行车安全构成严重威胁。通过设计合适的网络结构,如增加卷积层、池化层等,实现对图像中团雾特征的自动学习和提取。预处理:对采集到的图像进行去噪、增强等预处理操作,以提高图像质量,降低后续处理的难度。读取数据,随机分为训练集和验证集。

abackcab的博客 665

codeforces842C

codeforces842C 爆力 树上DFS

清澈不在远方 1254

PADS VX2.4 缝合孔(阵列过孔)的添加方法

缝合孔的主要目的是:①:增加底层和顶层的地铜皮的连接性,②:起到屏蔽外界信号干扰的作用。铺完铜后,右击空区域选择“选择形状”命令,选取整板中的一块大铜皮,右击选择“覆铜区域内过孔阵列模式”→“沿周边”指令后,再右击选择“覆铜区域内过孔阵列”,便能看到已选区域内添加的缝合孔(过孔阵列),也可以通过铜皮显示或隐藏的无模命令:PO进行查看。完成上面的“防止错误”和“过孔样式”的设置后,开始对整板进行铺铜处理,点击“工具栏”→覆铜平面指示器,在弹出的对话框点击“开始”,便能观察铺铜后的板子。

tianpu2320959696的博客 3045

Codeforces 842C - Ilya And The Tree 【树上DFS】

Codeforces 842C - Ilya And The Tree 【树上DFS】 Ilya is very fond of graphs, especially trees. During his lasttrip to the forest Ilya found a very interesting tree rooted at vertex 1. There is an integer number written oneach vertex of the tree; the number w

Dust_heart的博客 1789

Android 跨进程通信-(一)Binder概念引入

前言 主要对Android中的跨进程通信进行总结下,这篇先梳理下里面的涉及的一些概念 一 多进程 1.进程与线程 进程:系统中正在运行的一个应用程序,某个程序一旦运行就是一个进程,是资源分配的最小单位; 线程:程序执行的最小单位,包含在进程中,一个进程可以包含多个线程。 2.Android应用中的多进程 (1)dalivk虚拟机 Android系统的底层任务管理以及驱动都是基于Linux系统。一个Android系统其实就是一个Linux系统,通过adb shell进入连接的手机,就可以看到Li

nihaomabmt的专栏 1103

FPGA远程升级避坑实录:用STARTUPE2原语搞定Flash时钟,K7325T实测有效

本文深入解析了FPGA远程升级中的STARTUPE2原语应用,特别针对K7325T芯片的Flash时钟问题提供了实测有效的解决方案。通过详细的原语工作机制、Vivado工程实现步骤及调试技巧,帮助工程师规避常见陷阱,提升远程升级的可靠性和效率。

weixin_42558093的博客 141

Codeforces 842C Ilya And The Tree(树上DP+因子个数估计)

C. Ilya And The Tree time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard output Ilya is very fond of graphs, especially trees. During his last trip t

yasolx的博客 1577

基于STM32F1XX 、HAL库的OPT4001-Q1环境光传感器驱动应用C语言程序设计

OPT4001-Q1 的输出是半对数 的,具有 9 个二进制对数满量程照度范围,每个范围内具有高度线性响应,使得 PicoStar™ 型号的测量能力为 312.5μlux 至 84klux,USON 型号的测量能力为 400µlux 至 107klux。// 禁用中断(示例)

PP_Cottage的博客 461

Codeforces 842C Ilya And The Tree

Codeforces 842C Ilya And The Tree树上gcd题目有一棵根节点为1的树,每个结点都有权值。求每个结点从根节点到它的路径上的点的最大gcd(最多可以把一个路径上的一个点权值变成0)。思路关于区间gcd。。有个结论:就是可以‘暴力’,因为区间gcd收敛非常快,无论是在线段树搞,还是这次这题。都是暴力。线段树处理区间gcd的一题开始写树形dp,dp开两个记录当前节点的路径最大

P.H.S 520

基于ArduPilot的旋翼式无人机飞行器开发系列(二,学习路线)

一,热爱 作为一名耿直的技术男,在这里我只想说一句,热爱是可持续学习的第一要素,也只有热爱才能让你坚持到最后。 至于最后能得到什么,只有你自己知道。常说书中自有颜如玉,书中自有黄金屋。如果你是为了颜如玉,我相信大多数颜如玉做不了你的红颜知己。如果是为了黄金屋,当你持续投入时间和金钱却看不到回报的时候,相信退堂鼓早已隆隆作响。 我给自己的信条就是为当下努力工作,为将来持续学习。当前飞控行业并没有爆发,如果想赚块钱,去互联网汽车,去VR/AR吧,去元宇宙吧。 那么我热爱...

从0到1,突破自己 1667

图机器学习(7)——图神经网络 (Graph Neural Network, GNN)

图神经网络 (Graph Neural Network, GNN) 是一类专门处理图结构数据的深度学习方法。这类方法也被称为几何深度学习 (geometric deep learning),在社交网络分析、计算机图形学等众多领域正受到日益广泛的关注。在本节中,我们介绍了 GNN 的核心原理,将卷积等经典深度学习范式拓展至非欧几里得图空间,实现了局部结构与全局特征的层次化提取。

盼小辉丶的博客 1万+

Codeforces 842C(思维)

题意:一棵树,求出每一个点到1的路径上的最大gcd,可以使一个变成0; 思路:保存一个数组为都取,然后每一个点维持一个vector数组,保存的是上一个的结果。 #include using namespace std; typedef long long ll; typedef pair P; #define fi first #define se second #defin

Everything can be done! 713

双端之Nginx+Php结合PostgreSQL搭建Wordpress

制作的 PG4WP 分支版本,它与所有版本的 WordPress 兼容,解决了原版的一些问题。参数,确保 PostgreSQL 正在监听默认端口(通常是 5432),或者你自定义的端口。:PG4WP 插件存在缺陷和不完整的功能,可能与最新版本的 WordPress 不兼容。的插件,它允许 WordPress 使用 PostgreSQL 数据库。,如果看到 Nginx 的默认欢迎页面,说明 Nginx 已正确安装。,如果看到 Nginx 的默认欢迎页面,说明 Nginx 已正确安装。

宇宙第一小趴菜的博客 1891

CodeForces - 842C Ilya And The Tree 树上DFS

树上的 DFS , 已知根结点,从根结点往下递归,dp 数组保存不对结点清零时的 gcd ,然后用 ok 数组保存每个结点的可能的情况,最后进行比较,得到 res 答案数组 #include #include #include #include #include #include #include #include #include #include #includ

床前明月光 358

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Codeforces 842C Ilya And The Tree 树上gcd

题目链接 题意 给定一棵根为\(1\)的树。定义每个点的美丽值为根节点到它的路径上所有点的\(gcd\)值。但是对于每个点,在计算它的美丽值时,可以将这条路径上某个点的值变为\(0\)来最大化它的美丽值。现问每个点的美丽值最大是多少。 注意,每个点的美丽值计算是独立的,即每次可以选择变为\(0\)的点可以是不同的。 思路 对于某一条路径,考虑上面变化的点。 如果变为\(0\)的是, 根节...

ahu12345678的博客 156

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

CodeForces - 842C Ilya And The Tree

转自:https://blog.youkuaiyun.com/my_sunshine26/article/details/77696662 题目链接 题意:给出一棵生成树,每个节点都有一个值,现在要求出每个节点的美丽值的最大值,美丽值的定义为从根节点到该节点(包含)路径上所有点的值的gcd,求解每个点时可以把路径上某一个点的值变为0。你可以认为每个点美丽值的求解是独立的。 思路: 显然,我们可以进行树...

flyzer的博客 211

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

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

Codeforces 842 C. Ilya And The Tree 树上dp

给定一颗2e5个节点的数,每个节点有一个权值(2e5),输出每个节点的beauty. 一个节点的beauty定义为它到原点路径上的各个点中删去一个点后权值的gcd. 每个点独立考虑,原点的beauty就是它的权值.

秋叶红于二月花 644

Codeforces 842 C Ilya And The Tree

题目地址 题意:给出一棵生成树,每个节点都有一个值,现在要求出每个节点的美丽值的最大值,美丽值的定义为从根节点到该节点(包含)路径上所有点的值的gcd,求解每个点时可以把路径上某一个点的值变为0(就相当于删除这个节点的数)。你可以认为每个点美丽值的求解是独立的(每次删除的点都不会影响下一次)。 思路:在这个树上进行dfs,然后我们边记录结果,在dp数组中记录的是到这个点的这条路径中一个节点都不删

不要錯過才珍惜 584

Ilya And The Tree——codeforces——842/C

Ilya is very fond of graphs, especially trees. During his last trip to the forest Ilya found a very interesting tree rooted at vertex 1. There is an integer number written on each vertex of the tree; ...

小宫主的博客 351

CodeForces - 842C Ilya And The Tree(树上倍增)

Ilya is very fond of graphs, especially trees. During his last trip to the forest Ilya found a very interesting tree rooted at vertex 1. There is an integer number written on each vertex of the tree;

WZJRJ28 450

codeforce 842C. Ilya And The Tree(dfs用set存储到每种可能)

time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard output Ilya is very fond of graphs, especially trees. During his last trip to the forest Ilya fou

henuzxy 651

codeforces 842C. Ilya And The Tree(dfs,dp)

题目链接 C. Ilya And The Tree time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard output Ilya is very fond of graphs, especially trees. During his last trip ...

weixin_30905133的博客 103

Codeforces Round #430 (Div. 2) C. Ilya And The Tree 树dp 统计

地址http://codeforces.com/contest/842/problem/C题意给一颗树,树上每个点都有一个权值,一个节点的beauty是这个点到根节点所有权值去掉一个值(或者一个值都不去掉)的gcd,求每个节点的最大beauty思路考虑树dp的方法,一个节点的最大beauty要么是不算自己的权值计算出的gcd(这个可以通过dfs轻易维护出),要么是算了自己的权值计算出的gcd,如果算

Brassica_的菜园 498

Codeforces Round #430 (Div. 2)C. Ilya And The Tree dfs D - Vitya and Strange Lesson

http://codeforces.com/contest/842/problem/C 树上每个点都有一个权值,求每一个点到根节点路径上所有节点的最大公因子,可以删掉任意一个点,也可以不删 删掉一个点影响的只是这个点的所有孩子节点,所有枚举每个点被删掉的情况,这样复杂度是n^2,加一些剪枝, 1.当到根节点的路径上的最大公因子已经是1,则没必要继续向下搜索了 2.当删掉这个点后得到的gcd

jerans的博客 339

Codeforces Round #430 (Div. 2)-搜索&STL-Ilya And The Tree

http://codeforces.com/contest/842/problem/C 给定一个树,树上每个点有一定价值。 这个点上的魅力值是 从1到这个点的路径 上的所有点价值的gcd。 你有一个操作,可以选择是否要把其中一个点的价值变成0。也就是不影响他的gcd。可以理解为每次求 一个点的魅力值时,都是独立的(也就是你在求一个点的时候,可以把一个点变成0,再求另一个点的魅力值时,可以选择其

天与云与山与水 229

Codeforces 842C - Ilya And The Tree - 树形DP或DFS

链接:  http://codeforces.com/contest/842/problem/C题目:Ilya is very fond of graphs, especially trees. During his last trip to the forest Ilya found a very interesting tree rooted at vertex 1. There is an i

LucienShui 990
上一篇: Codeforces Round #357 (Div. 2) -- D. Gifts by the List(DFS)
下一篇: 个人赛 3 最后一题 联通图概率dp
sega_handsome
博客等级 码龄10年 7粉丝 164原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值