poj 2418 Hardwood Species

本文通过实例分析了使用二叉排序树与map解决特定问题的效果对比,从效率和实现角度进行了深入探讨,并提供了代码实现细节。

http://162.105.81.212/JudgeOnline/problem?id=2418

刚开始用map水过, 1407ms

然后就去Discuss里瞧了瞧,

很多人说用二叉排序树做,

于是我就又去种了颗二叉排序树, 结果2829ms, 囧囧

当是熟练下如何种树吧.

//二叉排序树 #include<iostream> using namespace std; struct Tree { char name[31]; int time, left, right; }tmp, tree[1000001]; int len, tot; void insert(Tree* Root, Tree t) { if(len == 0) { strcpy(Root->name, t.name); Root->left = -1; Root->right = -1; Root->time = 1; len++; return; } if(!strcmp(t.name, Root->name)) { Root->time++; return; } else if(strcmp(t.name, Root->name) > 0) { if(Root->right != -1) { Root = &tree[Root->right]; insert(Root, t); } else { Root->right = len; strcpy(tree[len].name, t.name); tree[len].time = 1; tree[len].left = -1; tree[len].right = -1; len++; return; } } else if(strcmp(t.name, Root->name) < 0) { if(Root->left != -1) { Root = &tree[Root->left]; insert(Root, t); } else { Root->left = len; strcpy(tree[len].name, t.name); tree[len].time = 1; tree[len].left = -1; tree[len].right = -1; len++; return; } } } void printTree(Tree* Root) { //if(Root->time != -1) if(Root->time != 0) { if(Root->left > 0) printTree(&tree[Root->left]); printf("%s %.4lf/n", Root->name, 100.0*Root->time/tot); if(Root->right > 0) printTree(&tree[Root->right]); } } int main() { //for(int i=0; i<1000001; i++) // tree[i].time = -1; char c[31]; tot = len = 0; while(gets(c)) { strcpy(tmp.name, c); tot++; insert(&tree[0], tmp); } printTree(&tree[0]); return 0; } //map /* #include<iostream> #include<map> #include<string> using namespace std; int main() { int n = 0; string str; map<string,int> m; map<string,int>::iterator it, end; char c[31]; while(gets(c)) { str = c; m[str]++; n++; } it = m.begin(); end = m.end(); while(it != end) { const char* s = it->first.c_str(); printf("%s", s); printf(" %.4lf/n",100.000000*(it->second)/(double)n); it++; } return 0; } */

【SCI级别】多策略改进鲸鱼优化算法(HHWOA)和鲸鱼优化算法(WOA)在CEC2017测试集函数F1-F30寻优对比内容概要:本文档主要介绍了一项关于多策略改进鲸鱼优化算法(HHWOA)与标准鲸鱼优化算法(WOA)在CEC2017测试集函数F1-F30上进行寻优性能对比的研究,属于智能优化算法领域的高水平科研工作。文中通过Matlab代码实现算法仿真,重点展示了HHWOA在收敛速度、寻优精度和稳定性方面的优势,体现了多策略改进的有效性。该研究适用于复杂优化问题求解,尤其在工程优化、参数辨识、机器学习超参数调优等领域具有应用潜力。; 适合人群:具备一定算法基础和Matlab编程能力的研究生、科研人员及从事智能优化算法开发与应用的工程技术人员,尤其适合致力于SCI论文写作与算法创新的研究者。; 使用场景及目标:①用于理解鲸鱼优化算法的基本原理及多策略改进思路(如种群初始化、非线性收敛因子、精英反向学习等);②为智能优化算法的性能测试与对比实验提供CEC2017标准测试平台的实现参考;③支撑学术研究中的算法创新与论文复现工作。; 阅读建议:建议结合提供的Matlab代码进行实践操作,重点关注HHWOA的改进策略模块与WOA的差异,通过重复实验验证算法性能,并可将其思想迁移至其他优化算法的改进中,提升科研创新能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值