刷ccf学到的知识

201903:
1.需要存储较多的数时,可以使用静态数组,即作为全局变量声明,因为堆提供的空间更大,全局变量存储在堆中,局部变量存储在栈中。
看题目时看仔细,比如那个1<=n,m<=1000,是n和m的范围在1000之内,,由于给定的n,m最大可以是1000,如果直接在main函数中开1000*1000的数组程序会崩溃,所以要把这个数组设置成全局变量。看错了以为n大于1,m小于1000,以后要注意。
2.判断数n是奇数还是偶数的方法:(1)n%2!=0为奇数,0为偶数。(2)从二进制(补码)的角度:n&10为偶数,1为奇数。a&b是a的补码与b的补码按位进行与运算,也就是乘。与1进行与运算也就是将前几位清0,只留补码最后一位,奇数补码最后一位为1,偶数补码最后一位为0,也就是将补码最低位抠出来。
3.判断一个数是否为整数的方法: 被除数%除数
0,中位数就是(a+b)%2==0。
4.c++中可直接使用swap(a,b)函数,在std空间中,可为任意数据类型(这个函数可以用在很多,用的时候需要再学习)。
5.这种有运算顺序规定的,学到可以使用数据结构的栈,想当初考试的时候还写的乱七八糟。泪奔,终于知道为什么学数据结构和怎么用他了,感谢学了java,通过Java的包,让我也知道了c++的stl是咋回事和怎么用。
6.栈在c++中可以直接用,c++stack容器介绍 - 我的ACM - 优快云博客
https://blog.youkuaiyun.com/chao_xun/article/details/8037420,因为是有运算顺序,而且以前讲栈的时候说过这种类似的,不能用队列,因为遇到乘除需要先算出来,再把算出来的压入栈,如果是队列就会改变数的位置。又因为减法的结合性是从左往右,所以一定要将减法变为加法,因为减法在下一个数前,只需将减法符号看作负号,将下一个负数压入数字栈。还有,当栈为空,还要访问栈顶元素时,会不正常退出,原来用了两个if,会两个都访问,但因为可能在上一个栈已经为空,所以不正常退出了。这个巧妙地用了一个数字栈,一个符号栈,输入的是一个字符串,声明为数组,C语言 gets()和scanf()函数的区别 - wanghetao - 博客园
https://www.cnblogs.com/wanghetao/archive/2011/11/01/2232234.html。使用scanf,getchar需要加stdio.h头文件。使用string的strlen函数需要string.h或者cstring 头文件。数字字符转为数字,只需‘9’-‘0’,数字转为字符,只需要加上‘0’。加减乘除的符号,只需选择。
7.int可表示的范围在10的9次方,超过,一般用long long型。不知道为什么那个有错,明明逻辑没有错。
8.#include<bits/stdc++.h>是万能头文件,包括c++所有的头文件
9.c语言输出字符数组出现汉字乱码解决方法 - 代码海中一粒米 - 优快云博客c++也适用
https://blog.youkuaiyun.com/lsl30522/article/details/90344116。
输入字符串时,可以声明为字符数组,然后gets(),输出时直接可以cout。
10.memset()函数及其作用 - 落叶随枫 - 优快云博客,数组初始化,好像有注意事项,遇见再说
https://blog.youkuaiyun.com/qq_27522735/article/details/53374765
11.声明迭代器时太麻烦,c11出来一种新的自动推断变量类型,可惜我的编译器不是c11
C++ auto 关键字的使用 - 自由真实个性 - 博客园
https://www.cnblogs.com/KunLunSu/p/7861330.html
然后声明迭代器,可以看ccf201403-2,或者日沉云起博主大大的这道题解法里也有.
12.string和stringstream用法总结 - xw20084898的专栏 - 优快云博客
https://blog.youkuaiyun.com/xw20084898/article/details/21939811,学到一个新东西,而且有string和字符数组的区别,写的挺好。补充的字符串流stringstream_dream2009gd_新浪博客
http://blog.sina.com.cn/s/blog_63a9d9f301011bkc.html
13.又用到了map,map真的好用,还可以自动按键排序,用到了stringstream,按空格分割字符串蛮好用,string的输入输出也比较好用,输入完数字后再输入字符串,要getchar,将回车键去掉。ccf201403-3
14.C语言中关于float、double、long double精度及数值范围理解_Roberl_新浪博客
http://blog.sina.com.cn/s/blog_6ebd49350101gdgo.html
15.https://github.com/ruanyf/free-books,微博上马住的一些免费书籍
16,字符串匹配知道了string里的find函数,可匹配子串,如果一个字符串,在str中出现,返回第一个字符在str中的索引,如果不出现返回string::npos,所以如果找到,条件为if(size_t found!=string::npos).还有rfind函数是找到最后一个出现的子串的位置,匹配区分大小写。
C++ string中find() ,rfind() 等函数 用法总结及示例 - Just To Be - 优快云博客
https://blog.youkuaiyun.com/youxin2012/article/details/9162415
另外transform(str.begin(),str.end(),str.begin(),::toupper),可将字符串str里的字符全都转化为大写,::tolower转化为小写,不会改变除了字母以外的其余字符。
C++ STL string 大小写转换 - linz的博客 - 优快云博客
https://blog.youkuaiyun.com/Aerry_ale/article/details/81321963
17.正则表达式可以用到字符串匹配
正则表达式 – 语法 | 菜鸟教程
https://www.runoob.com/regexp/regexp-syntax.html
18.sort挺重要的

内容概要:本文系统介绍了算术优化算法(AOA)的基本原理、核心思想及Python实现方法,并通过图像分割的实际案例展示了其应用价值。AOA是一种基于种群的元启发式算法,其核心思想来源于四则运算,利用乘除运算进行全局勘探,加减运算进行局部开发,通过数学优化器加速函数(MOA)和数学优化概率(MOP)动态控制搜索过程,在全局探索与局部开发之间实现平衡。文章详细解析了算法的初始化、勘探与开发阶段的更新策略,并提供了完整的Python代码实现,结合Rastrigin函数进行测试验证。进一步地,以Flask框架搭建前后端分离系统,将AOA应用于图像分割任务,展示了其在实际工程中的可行性与高效性。最后,通过收敛速度、寻优精度等指标评估算法性能,并提出自适应参数调整、模型优化和并行计算等改进策略。; 适合人群:具备一定Python编程基础和优化算法基础知识的高校学生、科研人员及工程技术人员,尤其适合从事人工智能、图像处理、智能优化等领域的从业者;; 使用场景及目标:①理解元启发式算法的设计思想与实现制;②掌握AOA在函数优化、图像分割等实际问题中的建模与求解方法;③学习如何将优化算法集成到Web系统中实现工程化应用;④为算法性能评估与改进提供实践参考; 阅读建议:建议读者结合代码逐行调试,深入理解算法流程中MOA与MOP的作用制,尝试在不同测试函数上运行算法以观察性能差异,并可进一步扩展图像分割模块,引入更复杂的预处理或后处理技术以提升分割效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值