摘要: #堆 ~~准备好手写优先队列~~ ###是一棵二叉树 ###O(log n)插入删除 ###O(1)查询最值 ###最值在根部 根据根部的最值分为小根堆和大根堆,接下来按照大根堆bb(优先队列也是默认大根堆) 原理:每一个子节点都比其父节点小,来一个数,如果足够大,就靠近根部,删除数,把根部踢掉,把 阅读全文
posted @ 2021-11-15 11:38 Konnya_ku 阅读(39) 评论(0) 推荐(0) 编辑
摘要: #优先队列 ###内部是一个堆,有序 ###O(1)查询最值,也只能查询最值。 ###O(log n)插入,删除 priority_queue<type>q; ###直接上表: ||| |-|-| q.empty()|如果队列为空,返回1,否则0 q.size()|返回队列元素个数 q.pop()| 阅读全文
posted @ 2021-11-15 10:43 Konnya_ku 阅读(45) 评论(0) 推荐(0) 编辑
摘要: #二分查找(查找的序列必须有序!) ##一、在上升序列里找大的: ###lower_bound( begin,end,num): 从数组的begin位置到end-1位置二分查找第一个大于或等于num的数字, 找到返回该数字的地址,不存在则返回end。 通过返回的地址减去起始地址begin,得到找到数 阅读全文
posted @ 2021-11-14 21:55 Konnya_ku 阅读(109) 评论(0) 推荐(0) 编辑
摘要: #MULTISET 跟set一模一样,只不过multiset里的数可以重复 multiset<type>s; ###直接上表: ||| |-|-| q.insert(x)|插入一个数 x q.clear()|清空 q.erase(x)|删除容器中的所有值为 x 的数 q.erase(it)|删除容器 阅读全文
posted @ 2021-11-14 19:27 Konnya_ku 阅读(78) 评论(0) 推荐(0) 编辑
摘要: #SET. ###从小到大有序 ###集合(互异性) ###算法红黑树O(log n) #include<set> set<type>s; ####其实跟map差不多 ####直接上表 ||| |-|-| s.empty()|判断是否为空,空返回1 s.insert(a)|插入a s.clear() 阅读全文
posted @ 2021-11-14 19:21 Konnya_ku 阅读(93) 评论(0) 推荐(1) 编辑
摘要: #关于map的各种神仙用法…… ###某用map水的弱题单 ###映射 map<int,int>mp; map<string,int>mp; map<string,string>mp; map<int,long>mp; map<long,int>mp; map<long,long>mp; …………… 阅读全文
posted @ 2021-11-14 16:06 Konnya_ku 阅读(169) 评论(0) 推荐(1) 编辑
摘要: #杂谈 初始化 ###一、for 没错,简简单单的for循环,相信都能懂; for(int i=0;i<=MAXN;i++) sz[i]=0; 没错就是这么简单;(没错慢) ###二、大括号{}; int sz[MAXN]={0}; //"="可以省略; int sz[MAXN]{0}; 没错就是这 阅读全文
posted @ 2021-10-27 21:04 Konnya_ku 阅读(78) 评论(1) 推荐(0) 编辑
摘要: map 关联式容器(STL) map < 类型1 , 类型2 > sz;//定义 什么意思呢?就是创建一个从"类型 1 "到"类型 2 "的映射…… ~~能不能说人话!~~ 简单来说,就是以"类型 1 "为数组下标,里面存的信息是"类型 2 "; 这个下标可以是任何东西,整数,长整数,浮点数,字符, 阅读全文
posted @ 2021-10-27 16:00 Konnya_ku 阅读(101) 评论(1) 推荐(0) 编辑
摘要: CSP-S 2021.10.23,昨天刚刚结束的CSP-S是我接触编程一年以来第一次大型比赛,和全省的人一起PK了一次,虽然成绩还没出来,但是,貌似是以失败告终了,今年大概是与NOIP无缘了。 不太想整理什么以后考试的注意事项,讲点别的东西吧。 考试与心情与考试心情 那种别人做出来暗自称好,可自己还 阅读全文
posted @ 2021-10-24 16:11 Konnya_ku 阅读(156) 评论(6) 推荐(3) 编辑