[LOJ#6159][美团 CodeM 初赛 Round A][暴力即正解]最长树链

FDTD Solutions-入射波长模式 经常在文献中看到仿真光源使用TM/TE模式,这个确定是十分必要的,决定了仿真结果。 但是也不能局限于选择TM/TE,因为不同领域、不同软件之间的使用习惯和命名可能不同。并且在现代光波导器件中,几乎全部 都是混合模式,或者称之为quasi-TE(准TE模式)和quasi-TM(准TM模式),多数情况下都简称为TE模式和TM模式。要知道 到底是TE模式还是TM模式,需要查看其电场的主分量(即振幅... 阅读详情

枚举每一个质数,权值是这个质数的倍数的节点设为1,否则为0,那么最长长链的长度就是点权为1的点构成的最长的链。

当然不用枚举所以质数,因为每个数最多有log个不同的质因数,所以只要把所有点权质因数分解,枚举出现的质数就可以了。

枚举质数后dfs,复杂度是nlogn的,因为每个点有log个不同的质因数,也就是说最多枚举到log个质数要dfs这个节点,所以复杂度是对的

#include <cstdio>
#include <iostream>
#include <algorithm>
#include <vector>
#include <map>
#define pb push_back

using namespace std;

const int N=100010;

int n,u,v,cnt,L,ans;
int p[N],vis[N],a[N],pnt;

map<int,vector<int> > M;
vector<int> e[N];

inline char nc(){
  static char buf[100000],*p1=buf,*p2=buf;
  return p1==p2&&(p2=(p1=buf)+fread(buf,1,100000,stdin),p1==p2)?EOF:*p1++;
}

inline void rea(int &x){
  char c=nc(); x=0;
  for(;c>'9'||c<'0';c=nc());for(;c>='0'&&c<='9';x=x*10+c-'0',c=nc());
}

inline void Pre(int n){
  for(int i=2;i<=n;i++){
    if(!p[i]) p[++pnt]=i;
    for(int j=1;j<=pnt&&1LL*i*p[j]<=n;j++){
      p[p[j]*i]=1;
      if(i%p[j]==0) break;
    }
  }
}

void dfs(int u,int f,int p){
  L++; vis[u]=p;
  for(int v : e[u])
    if(v!=f&&a[v]%p==0) dfs(v,u,p);
}

int main(){
  rea(n); Pre(100000);
  for(int i=1;i<n;i++)
    rea(u),rea(v),e[u].pb(v),e[v].pb(u);
  for(int i=1;i<=n;i++){
    int x; rea(x); a[i]=x;
    for(int j=1;j<=pnt&&1LL*p[j]*p[j]<=x;j++)
      if(x%p[j]==0){
    while(x%p[j]==0) x/=p[j];
    M[p[j]].pb(i);
    if(x==1) break;
      }
    if(x!=1) M[x].pb(i);
  }
  for(auto s : M){
    int p=s.first;
    vector<int> v=s.second;
    for(int u : v)
      if(vis[u]!=p){
    L=0; dfs(u,0,p);
    ans=max(ans,L);
      }
  }
  printf("%d\n",ans); return 0;
}
【CASS精品教程】032:CASS11台阶画法案例大全 一、普通无边台阶 二、普通有边台阶 三、普通圆弧无边台阶 四、U型台阶 五、曲线U型台阶 六、L型台阶 阅读详情

相关推荐

Anomalib实战:从零开始构建自定义数据集的异常检测模型

本文详细介绍了如何使用Anomalib 2.1.0从零开始构建自定义数据集的异常检测模型。通过实战演示,指导读者准备符合规范的数据集结构,快速上手训练Patchcore等先进算法,并完成模型推理与调优,为工业质检、医疗影像等场景提供高效的视觉异常检测解决方案。

weixin_29165465的博客 109

【loj6159】「美团 CodeM 初赛 Round A」最长树链

题目描述 Mr. Walker\text{Mr. Walker}Mr. Walker最近在研究树,尤其是最长树链问题。现在树中的每个点都有一个值,他想在树中找出最长的链,使得这条链上对应点的值的最大公约数不等于111。请求出这条最长的树链的长度。 输入格式 第一行一个整数 nnn,表示点的个数。接下来n−1n-1n−1行,每行两个整数x,yx,yx,y表示x,yx,yx,y之间有边。数据保证给

wang_sj的博客 746

手把手教你用Matlab/Simulink搭建PMSM的SMO无感FOC仿真(附相位补偿与离散化代码)

本文详细介绍了基于滑模观测器(SMO)的永磁同步电机(PMSM)无传感器FOC控制方法,通过Matlab/Simulink平台实现从理论到实践的完整流程。内容涵盖SMO核心原理、离散化处理、转子位置估算与相位补偿技术,以及双闭环控制系统搭建,为工程师提供了一套完整的无传感器控制解决方案。

weixin_27038245的博客 253

[美团 CodeM 初赛 Round A]最长树链

题目大意:   给你一棵带点权的树,找出一个最长的树链满足链上点权的最大公因数不为1。 思路:   暴力DP。   对于每个点,记录一下以这个点为一个端点的所有链的最大公因数及长度。   然后暴力转移一下,时间复杂度O(n^2logn),不过中间有一些情况是可以舍掉的,做不满。   本来是想试试这样暴力能拿多少分的,没想到直接A掉了。 1 #include<cstd...

weixin_34204057的博客 261

投稿前利用GPT-5.5给论文做一次深度校对,投稿命中率翻倍!

3)一致性:请对比摘要的结论与正文(如果我也提供了正文),确保完全一致。请严格检查结果部分,确保客观性:1)纯粹性检查:标出所有包含“为什么”(解释)或“这意味着什么”(暗示)的主观语句,这些应移至讨论部分。请你帮我评估讨论部分的深度:1)解释与对比:检查每一项主要结果是否都解释了原因,并引用了前人研究进行对比(一致或相悖)。我见过太多人把校对理解为检查错别字了,实际上,校对要看的远不止这个,像逻辑是否连贯、术语是否前后一致、图表有没有被正确引用等等的这些细节,往往决定了文章是秒被拒,还是能顺利进入外审。

智能AI让学术科研更容易 412

dify制作的工作流如何通过API调用

本文介绍了如何通过Python程序调用Dify工作流API实现数据处理功能。文章详细展示了workflow和chatflow的调用方法,包括参数设置和结果输出,并提供了一个完整的API调用工具代码示例。该工具可实现文本处理、成果查重、关键词生成等功能,支持通过Python脚本或Postman进行调用。核心代码包含API请求函数和批量处理函数,通过HTTP请求与Dify服务端交互,实现自动化数据处理流程。

hhue2007的专栏 933

【填坑】loj6159. 「美团 CodeM 初赛 Round A」最长树链

水一水 枚举各个质数,把是这个数倍数的点留下,跑直径,没了 1 #include <bits/stdc++.h> 2 using namespace std; 3 int h,t,n,p,q,M,N; 4 int dis[200001],lis[200001],fir[200001],nex[400001],to[400001]; 5 vector<in...

weixin_30251587的博客 190

【vsomeip3 教程】基于 vSomeIP 3.5 的路由域实践:从配置到运行状态的完整指南

___ > 前言(读者定位与准备) 目标读者:在 Linux 上做分布式/车载中间件通信的 C++ 工程师。 > 先决条件:CMake、Boost 基础;理解 TCP/UDP 与多进程通信。 > 文中术语:Routing Host(路由进程)、Application、Service/Instance、Method、Event/EventGroup、SOME/IP-SD。 > 演示环境:单机多进程 & 跨主机两套对照。

探索C++编程的奥秘,分享深入的技术见解和实践,旨在激发读者创造力与解决问题的思维。 1159

美团CodeM 初赛 A伦 最长树链 xjb枚举+dfs

[编程题] 最长树链 时间限制:1秒 空间限制:32768K 树链是指树里的一条路径。美团外卖的形象代言人袋鼠先生最近在研究一个特殊的最长树链问题。现在树中的每个点都有一个正整数值,他想在树中找出最长的树链,使得这条树链上所有对应点的值的最大公约数大于1。请求出这条树链的长度。  输入描述: 第1行:整数n(1 ≤ n ≤ 100000),表示点的个数。 第2~n

我们做的队 1017

YOLOv11-seg 改进系列 | 引入原创 RSCD 重参数共享卷积分割头,增强 Head 表达力并压低计算量

本文提出一种改进的YOLOv11-seg分割头Segment_RSCD,通过重参数共享卷积增强表达能力。该模块在LSCD共享检测头基础上引入DiverseBranchBlock重参数卷积,保留三尺度预测与Proto掩码原型接口不变。相比原始Segment头,Segment_RSCD参数增加4%但计算量降低1.3%,在共享卷积结构中通过多分支补偿表达能力损失,同时利用Scale层保持尺度差异校准。该方法不改动Backbone/Neck结构,仅重构检测/分割头,实现训练期多路径聚合与部署期等效单分支的平衡。

qq_44224801的博客 181

5步VS传统WinForm!AntdUI让界面设计从“土味”到“超模”只需30秒?

摘要:墨瑾轩编程教程《AntdUI的5大魔法步骤》详解如何将传统WinForm升级为现代化UI。教程通过5个核心步骤:安装AntdUI库、控件替换、主题定制、复杂布局构建及实战案例演示,对比传统开发与AntdUI在美观度(动态阴影/动画)、开发效率(拖拽组件VS手工绘制)和主题定制(一键换肤VS重写控件)的显著差异。使用C#代码示例展示按钮动画、3D翻转、聊天界面等特效实现,帮助开发者快速掌握这一基于Ant Design风格的WinForm增强框架。(150字)

java专栏 1128

最长树链(dfs 树)

最长树链 题目描述 树链是指树里的一条路径。美团外卖的形象代言人袋鼠先生最近在研究一个特殊的最长树链问题。现在树中的每个点都有一个正整数值,他想在树中找出最长的树链,使得这条树链上所有对应点的值的最大公约数大于1。请求出这条树链的长度。 输入描述: 第1行:整数n(1 ≤ n ≤ 100000),表示点的个数。 第2~n行:每行两个整数x,y表示xy之间有边,数据保证给出的是一棵树。 第n+1行:...

百般回首曾经的相遇,留下的只是一缕残忆 694

k8s infiniband 和 RoCE(RDMA over Converged Ethernet)

vendors 为设备厂商编号,注意这里不是 ibv_devinfo 命令看到的vendor_id 的值,而是 lspci -n |grep “网卡的bdf” 得到的。如上文所述,启动了两个测试 pod ,登录其中一个 pod(该 pod roce 设备 ip 为 10.56.217.79)如上文所述,启动了两个测试 pod ,登录其中一个 pod(该 pod ip 为 10.96.225.24)说明:文中用到的镜像是自定义的,文末有其Dockerfile 文件。修改该文件,增加污点容忍的内容,如下。

weixin_40548182的博客 1794

[LOJ]#6159. 「美团 CodeM 初赛 Round A」最长树链 点分治

Description: Mr. Walker 最近在研究树,尤其是最长树链问题。现在树中的每个点都有一个值,他想在树中找出最长的链,使得这条链上对应点的值的最大公约数不等于1。请求出这条最长的树链的长度。 题解: 我的做法大概是最差的……不过是我自己想的。 点分治,对于每个重心找经过它的路径答案,设fif_ifi​表示最大公约数为iii倍数的最大深度,由于每个数不同的质因数不会超过101010个...

TYB的博客 508

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Loj #6164. 「美团 CodeM 初赛 Round A」数列互质

link :https://loj.ac/problem/6164 莫队傻题,直接容斥做。 #include<bits/stdc++.h> #define maxn 100005 #define pb push_back using namespace std; vector<int> g[maxn]; struct ask{ int l...

weixin_30492047的博客 168

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

最长树链(树形dp)

题目链接: 最长树链 大致题意: 这个题应该默认树链的一段必须是根节点 解题思路: 建立单向边,找到根开始dfs,如果对于某个结点使得gcd值大于1就将其加入树链,记录深度的最大值最后输出即可 AC代码: #include <bits/stdc++.h> using namespace std; const int N = 1e5 + 10; int n, root; vector<int>e[N]; int w[N], du[N]; int gcd(int a, int b)

qq_49494204的博客 394

LOj #6164. 「美团 CodeM 初赛 Round A」数列互质 (莫队算法)

题目链接: LOj 6164题意: 给出一个长度为n n 的数列,a1,a2,a3,...,ana_1,a_2,a_3,...,a_n以及 mm 组询问 (li,ri,ki)(l_i,r_i,k_i),求区间[li,ri] [l_i,r_i]中有多少数在该区间中的出现次数与 kik_i互质。题解: 莫队算法。时间复杂度:O(n∗n√)O(n*\sqrt{n})。AC代码:#include <b

LzyRapX 1131

最长树链 ( dfs + 质因数分解 )

题目链接 解题报告: 我们不妨枚举最长树链 gcdgcdgcd , 那么该条树链上所有的点的权值可表示成 k∗gcdk*gcdk∗gcd 同样也可表示成 k∗gcd′(gcdk*gcd'(gcdk∗gcd′(gcd%gcd′==0)gcd'==0)gcd′==0) ,因此我们可以用质因子对这些点分类。对属于同一类质因子的点跑最长链,不断更新最长链即可。 每个点被访问的次数就是其质因子种类数。 代码展示: #include<bits/stdc++.h> #define LL long long

qhq889的博客 491

CodeM资格赛 Round A 最长树链

按照题解的做法,对于每一个质约数分别进行讨论最长链就行 对于每一个数的质约数可是比logn还要小的 比赛的时候没人写,我也没看 = =,可惜了,不过我当时对于复杂度的把握也不大啊 #include <cstdio> #include <cstdlib> #include <cstring> #include <ctime>...

diankeng5481的博客 224

[两道递推题] 美团 CodeM 初赛 Round A 二分图染色 & OEIS A001499

好久没做过n=107n=10^7这种正常的递推题了二分图染色转化为棋盘模型,即 N×NN\times N 棋盘上放黑白棋子,每个格子至多放一个,同行同列没有相同颜色的棋子。 令bnb_n为只有一种颜色,那么bn=∑ni=0Cin×Pinb_n=\sum_{i=0}^n C_n^i\times P_n^i 然后我们考虑容斥掉两个颜色在同一格,如果一个格子既放黑又放白,那么这一列和这一行不会有其他棋

雯舞 1620

「美团 CodeM 初赛 Round A」身体训练

题目链接:身体训练题目大意:n个人排成一列跑步,前后两人之间相隔 u 米,每个人正常速度均为 v 米/秒。 当某个配送员排在最后的时候,他需要以当时自己的最高速度往前跑,直到超过排头的人 u 米,然后降回到原始速度 v 米/秒。每个人最初的最高速度为 ci米/秒,每轮衰减 di米/秒,也就是说,如果 i 是第 j 个跑的,那么他的速度就是ci−(j−1)×di米/秒。 n个人初始以随机的顺序排列,每

Nemaleswang的博客 792

最长树链--树形结构牛客

链接:题目传送门 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 题目描述 树链是指树里的一条路径。美团外卖的形象代言人袋鼠先生最近在研究一个特殊的最长树链问题。现在树中的每个点都有一个正整数值,他想在树中找出最长的树链,使得这条树链上所有对应点的值的最大公约数大于1。请求出这条树链的长度。 输入描述: 第1行:整数n(1 ≤ n ≤ 100000),表示点的个数。 第2~n行:每行两个整数x,y表

艾 631

[LOJ 6159] 最长树链

看到要求gcd不为1所以肯定在这条答案链上都是一个质数的倍数,所以就会产生一个很暴力的想法 没错,正解就是这样的暴力 只让走是i(素数)倍数的点,作最长链 最长链可以树形dp或两遍bfs,一遍找端点,一遍过长度即可 复杂度:未证 #include<iostream> #include<cstdio> #include<cstring> #...

weixin_30501857的博客 193

#bzoj2404#最长链(树的直径/树形DP)

2404: 最长链 时间限制: 1 Sec  内存限制: 128 MB 题目描述 给定一棵有n个节点的树,求每个节点到其他节点的最大距离 输入 输入第一行是一个自然数n(n≤10000), 接下来 (n−1) 行描述:  第i行包含两个自然数 , 表示编号为i的节点连接到的节点编号和这条网线的长度..距离总长不会超过10^9. 每行中的两个数字用空格隔开

ElaineZXY的博客 2161

[LOJ]#6164. 「美团 CodeM 初赛 Round A」数列互质 莫队

题解: 这题只需要用到一个性质就行了:不同的出现次数最多只有根号种,因为1+2+...+x=(x−1)x21+2+...+x={{(x-1)x}\over2}1+2+...+x=2(x−1)x​。 然后直接莫队暴力即可。 代码: #include&lt;bits/stdc++.h&gt; using namespace std; #define LL long long #define pa pa...

TYB的博客 381

loj #6164. 「美团 CodeM 初赛 Round A」数列互质(莫队 数据结构 链表hash)

题目链接#6164. 「美团 CodeM 初赛 Round A」数列互质询问 l,r,kl,r,k 中次数的次数与互质的个数.分析维护区间中数的个数,这一眼看过去不就是 莫队吗,可以看到对于次数的次数最多只有n−−√\sqrt n 种因此我们可以暴力处理每次查询,用一个链表维护次数的次数就好复杂度O(nn−−√+Qn−−√logn)O(n\sqrt n+ Q\sqrt nlog n)开始用hash

taotao 的大学墓志 684

「美团 CodeM 初赛 Round A」最长树链

题目描述 Mr. Walker 最近在研究树,尤其是最长树链问题。现在树中的每个点都有一个值,他想在树中找出最长的链,使得这条链上对应点的值的最大公约数不等于1。请求出这条最长的树链的长度。 输入格式 第一行一个整数 n,表示点的个数。 接下来 n−1 行,每行两个整数 x,y 表示 x,y 之间有边。 数据保证给出的是一棵树。 接下来一行 n 个整数表示每个点对应的权值 ai​。 ...

weixin_34260991的博客 218
上一篇: [BZOJ4504][主席树]K个串
下一篇: [分块][哈希] [Romanian IOI 2017 Selection #6] Jolteon && [LOJ #6187] Odd
LowestJN
博客等级 码龄10年 76粉丝 422原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值