SGU 134 Centroid

本文详细阐述了一个解决树形结构中形心点问题的算法实现过程,包括数据结构设计、DFS遍历、动态规划等关键步骤,并通过实例验证了算法的有效性和正确性。
#include <iostream> #include <cstdio> #include <cstring> #include <vector> #include <algorithm> using namespace std; /*这个题出题很容易,但是提交的时候需要注意很多 第一次所有的数都用int型提交了,树据只过了三组,卡在第四组上了,前三组还是比较弱的 因为用的vc6.0 对long long类型编译不通过,所以直接改成了__int64类型,两次编译错误, 后来改成long long了,在别的编译器上编译 但初始最大值的时候数值太大,本地编译不能通过,改小了之后提交还是wa,最后将最大值改 成了19位的,虽然本地编译不通过,但是提交后总算AC了。 题目的意思是:定义了树的形心,也就是将树中的任意某点k去掉后,分成的各部分中节点数最大的那个值作为 k的一个权值,然后整个树中权值最小的那个点或者几个点就是这里的形心。 */ const long long MAXX=16010; long long dp[MAXX];//dp[i]以i为根的子树总共包含的节点数。 bool vis[MAXX]; vector<long long> tree[MAXX];//存树的逻辑结构 long long num[MAXX];//存符合条件的所有点 long long pt,n; long long max(long long a,long long b) { return a>b?a:b; } void DFS(long long root) { long long v; vis[root]=true; dp[root]=1; for(long long i=0;i<tree[root].size();i++){ v=tree[root][i]; if(vis[v])continue; DFS(v); dp[root]+=dp[v]; } } void DP(long long root,long long pre) { long long v,temp=n-dp[root]; for(long long i=0;i<tree[root].size();i++){ v=tree[root][i]; if(v==pre)continue; temp=max(temp,dp[v]); DP(v,root); } dp[root]=temp; } int main() { long long x,y,i; scanf("%lld",&n); long long min; pt=0; memset(dp,0,sizeof(dp)); for(i=1;i<n;i++) { scanf("%lld%lld",&x,&y); tree[x].push_back(y); tree[y].push_back(x); } memset(vis,false,sizeof(vis)); DFS(1); DP(1,-1); min=90000000000000000; for(i=1;i<=n;i++){ if(dp[i]<min){ min=dp[i]; pt=0; num[pt++]=i; }else if(dp[i]==min){ num[pt++]=i; } } printf("%lld %lld\n",dp[num[0]],pt); for(i=0;i<pt;i++){ printf("%lld\n",num[i]); } return 0; }
【电能质量扰动】基于ML和DWT的电能质量扰动分类方法研究(Matlab实现)内容概要:本文研究了一种基于机器学习(ML)和离散小波变换(DWT)的电能质量扰动分类方法,并提供了Matlab实现方案。首先利用DWT对电能质量信号进行多尺度分解,提取信号的时频域特征,有效捕捉电压暂降、暂升、中断、谐波、闪变等常见扰动的关键信息;随后结合机器学习分类器(如SVM、BP神经网络等)对提取的特征进行训练与分类,实现对不同类型扰动的自动识别与准确区分。该方法充分发挥DWT在信号去噪与特征提取方面的优势,结合ML强大的模式识别能力,提升了分类精度与鲁棒性,具有较强的实用价值。; 适合人群:电气工程、自动化、电力系统及其自动化等相关专业的研究生、科研人员及从事电能质量监测与分析的工程技术人员;具备一定的信号处理基础和Matlab编程能力者更佳。; 使用场景及目标:①应用于智能电网中的电能质量在线监测系统,实现扰动类型的自动识别;②作为高校或科研机构在信号处理、模式识别、电力系统分析等课程的教学案例或科研实验平台;③目标是提高电能质量扰动分类的准确性与效率,为后续的电能治理与设备保护提供决策依据。; 阅读建议:建议读者结合Matlab代码深入理解DWT的实现过程与特征提取步骤,重点关注小波基选择、分解层数设定及特征向量构造对分类性能的影响,并尝试对比不同机器学习模型的分类效果,以全面掌握该方法的核心技术要点。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值