摘要: algorithm 是处理一定范围的数据,是为数组和容器指定的; 不修改序列: 1.for_each(begin,end,myfunction),堆一定范围内的所有元素进行一个操作, 相当于 for(auto it=begin;it!=end;it++) { function(*it); } 2.f 阅读全文
posted @ 2020-04-18 23:08 很绝望 阅读(475) 评论(0) 推荐(0) 编辑
摘要: const 常指针,指向固定位置,不能再次修改指向的位置,需要初始化,const 加在“*”号后面,名称前面,例如 int *const p; 指向常量的指针,不能修改指向地址的内容,相当于常引用,const 加在类型前面; 我们把一个对象变成常量,不能调用一般的成员函数,因为可能会改变它的数据,所 阅读全文
posted @ 2020-04-18 20:35 很绝望 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 优先队列是个很方便的东西,然而很多时候本人自己一直搞不清他是大顶堆还是小顶堆,后来在学习中终于明白了; 优先队列priority_queue<,,>,实际上有三个参数,第一个代表元素类型,第二个是优先队列实现的容器类型,第三个是比较器,我们通常用的只需要输入第一个参数,后面都是默认的; 实际上完整的 阅读全文
posted @ 2020-04-18 17:27 很绝望 阅读(883) 评论(0) 推荐(0) 编辑
摘要: 他们都是用dp做;复杂度都是O(N方) 有一个大佬的博客写的很详细,是关于最长公共子序列的:https://blog.csdn.net/hrn1216/article/details/51534607#comments; 我觉得一开始处理这种问题比较棘手,无从下手,而dp一般有两种状态转移的思考方式 阅读全文
posted @ 2020-04-18 17:13 很绝望 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 这一题分为两个问题,一个是一台最多能射下多少枚导弹,一个是需要多少太拦截设备,第一个问很容易知道就是求最长不递增子序列,第二问就是求最长上升子序列,我们稍微证明一下第二问,因为导弹拦截只能拦截越来越低的,所以遇到比当前高的时候就要重新加一台,最长上升子序列的长度就是至少需要的台数,子序列中每一颗导弹 阅读全文
posted @ 2020-04-18 16:37 很绝望 阅读(265) 评论(0) 推荐(0) 编辑