摘要: 题意后面在来补充 离散化+并查集 虽然我现在还是没太明白为什么用并查集,我觉得就是当find(a) == find(b)的时候就相当于是有个环了,就可以清空了。 对于离散化我现在还有点不清楚,上次看了y总的板子也没有深入理解先在复习下离散化的知识 离散化 步骤 排序 去重 二分索引 vector<i 阅读全文
posted @ 2020-11-23 01:21 Hoppz 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 1.字符,字符串,字符数组的输入 (1).char单个字符符输入 char s; scanf("%c",&s); //scanf函数输入 cin>>s; //cin流输入 cin.get(s); //cin.get()函数输入 s=getchar(); //不能写成getchar(s); (2).c 阅读全文
posted @ 2020-07-14 16:45 Hoppz 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 初级: 1.冒泡排序 原理:每趟排序,相邻两数依次比较。 注:从大到小,从小到大,只改变<,>符号,for中的不用变 1 for(int i=0 ; i<n ; i++){ 2 for(int j=1 ; j<n-i ; j++){ 3 if( a[j] < a[j-1 ]){ 4 int temp 阅读全文
posted @ 2020-06-14 23:23 Hoppz 阅读(317) 评论(0) 推荐(0) 编辑
摘要: 这是个很简单的用c++ stl实现的queue,不是用class重新写一次,这个算法可以用于一些数字的循环筛选中。 思路: 首先还是用stl来创建一个queue 1 queue<int> a 因为queue的pop机制是删除队首的元素,而我们在进行筛选的时候可能数字都是在队列中间的所以直接pop是行 阅读全文
posted @ 2020-03-29 10:22 Hoppz 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 1.map的默认排序方式 map<T1,T2> T1->键 | T2->值 map内部的默认排序是以T1也就是键的升序 2.如何实现3个,多个元素对应的map 这个是我再做一个题的时候,从学长的代码里学到的,题目出自计蒜客的acm课程映射表的练习题 一开始我没有就只想到了用水果来对应值,但是没有想到 阅读全文
posted @ 2020-03-27 17:03 Hoppz 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 对于某些一个事物的两种状态的枚举(一个东西有,没有;一个数选还是没选。。。) 这种题的枚举我们就可以用二进制枚举来解题 对于一个集合a{1,2,3,4},如果我们想枚举出所以只有2个元素的子集,那么我们就可以用二进制枚举出1010,0011,1001..... 1 0 1 0 1 未选择 3 未选择 阅读全文
posted @ 2020-03-27 11:05 Hoppz 阅读(196) 评论(0) 推荐(0) 编辑