数据结构与算法
文章平均质量分 67
zhy0319
这个作者很懒,什么都没留下…
展开
-
数据结构-集合
把这个“数组”中下标为A的位置的值变成B,这里下标可以是任意类型,不一定先限定于大于0的整数,比如map<string,string>ds,就可以进行ds["kkksc03"]="mascot"的操作。注意:在使用ds[A]访问“数组”下标为A的元素时,如果这个下标对应的元素不存在,则会自动创建下标为A、值为默认值(例如,所有数值类型的默认值是0,string字符串是空字符串)的元素。查询x的前驱后继,x的前驱定义为小于x的最大的数,x的后继定义为大于x的最小的数。原创 2024-03-09 19:58:09 · 1000 阅读 · 0 评论 -
数据结构-线性表
迭代器有点类似于指针(虽然不能完全画等号),这里的it就可以认为是一个指向vector中的元素的指针(下文如果再提到STL元素的指针,一般都指迭代器),it可以++或者--变成前一个或者后一个元素的指针,也能和指针一样用*it取该指针中的元素。此题建立普通二维数组,需要定义一个大小为10的5次方*10的5次方的Int数组,大小占用了4*10^5*10^5字节约为40GB,显然会超出内存限制。返回数组v首元素末尾的下一个元素的指针(迭代器),这个指针有点类似于空指针,不指向任何元素。原创 2024-03-05 15:30:56 · 662 阅读 · 0 评论 -
二分查找与二分答案-习题篇
【代码】二分查找与二分答案-习题篇。原创 2024-01-26 18:07:45 · 370 阅读 · 1 评论 -
算法-贪心
证明贪心的第一中方法--假设要选择的方案不是贪心算法所要求的方案,只需要证明将需要贪心的方案替换掉要选择方案,结果会更好(至少不会更差)。使用贪心策略要特别注意其正确性。原创 2023-12-23 20:01:17 · 317 阅读 · 1 评论 -
暴力枚举-习题篇
从1到全集枚举(从1不从0是因为至少有一个配料被选取),判断单配料是否被选取,如果被选取就更新总酸度和总苦度,通过打擂台的方式确定最小差。2.枚举元素的选择很重要,枚举木棒的长度就是一个优解,而如果用数组保存输入木棒的长度,一方面要开一个很大的数组,另一方面枚举木棒长度不方便简洁。先选两根长度为m的木棒,方案数为组合数c(am,2),am代表长度为m木棒的个数。通过枚举关键的要素找到突破口,枚举边界线,t为白色最后一行,r为红色第一行。再选两根和为m的木棒,(1)i=m-i,方案数为c(am/2,2)原创 2023-12-08 19:38:36 · 389 阅读 · 0 评论 -
暴力枚举-例题篇
枚举子集的算法时间复杂度是o(2的n次方),一般情况下1s可以枚举20-30个元素集合的子集,如果枚举对顺序有要求,就要确定枚举的方向和每一位代表什么元素。原创 2023-11-30 19:31:21 · 957 阅读 · 0 评论 -
高精度算法-例题篇
高精+高精高精+低精高精*低精高精*高精高精-高精(高精-低精)原创 2024-01-25 12:19:35 · 389 阅读 · 1 评论