摘要: 堆排序中,最主要的是这个down()函数 #include<iostream> using namespace std; const int N = 100010; int h[N], cnt; void down( int k ){ int t = k; if(k * 2 <= cnt && h[ 阅读全文
posted @ 2022-05-04 19:52 bz-2021 阅读(18) 评论(0) 推荐(0)
摘要: #include<iostream> using namespace std; const int N = 100010; int p[N], siz[N]; int find(int k){ if(p[k] != k) p[k] = find(p[k]); return p[k]; } int m 阅读全文
posted @ 2022-05-02 17:32 bz-2021 阅读(17) 评论(0) 推荐(0)
摘要: 并查集,使用数组实现,find函数中使用了巧妙的递归 #include<iostream> using namespace std; const int N = 100010; int p[N]; int find(int k){ if(p[k] != k) p[k] = find(p[k]); r 阅读全文
posted @ 2022-05-02 16:49 bz-2021 阅读(32) 评论(0) 推荐(0)
摘要: 此题目使用Trie树,代码中的N代表着节点可能的最大个数。 #include<iostream> using namespace std; const int N = 3100010; int son[N][2], num[100010], idx; void insert(int k){ scan 阅读全文
posted @ 2022-05-01 17:00 bz-2021 阅读(35) 评论(0) 推荐(0)
摘要: #include<iostream> using namespace std; const int N = 100010; int son[N][26], cnt[N], idx; char str[N]; void insert(char *str){ int p = 0; for(int i = 阅读全文
posted @ 2022-05-01 11:33 bz-2021 阅读(14) 评论(0) 推荐(0)
摘要: #include<bits/stdc++.h> using namespace std; bool cmp(vector<int> &A,vector<int> &B){ if(A.size()!=B.size())return A.size()>B.size(); for(int i=A.size 阅读全文
posted @ 2022-04-20 22:38 bz-2021 阅读(22) 评论(0) 推荐(0)
摘要: 给定一个长度为 nn 的整数序列,请找出最长的不包含重复的数的连续区间,输出它的长度。 输入格式 第一行包含整数 nn。 第二行包含 nn 个整数(均在 0∼1050∼105 范围内),表示整数序列。 输出格式 共一行,包含一个整数,表示最长的不包含重复的数的连续区间的长度。 数据范围 1≤n≤10 阅读全文
posted @ 2022-04-20 22:11 bz-2021 阅读(35) 评论(0) 推荐(0)
摘要: #include<iostream> #include<vector> using namespace std; vector<int> add(vector<int> &a, vector<int> &b){ if(a.size()<b.size()) return add(b, a); vect 阅读全文
posted @ 2022-04-18 19:45 bz-2021 阅读(18) 评论(0) 推荐(0)
摘要: 求 1+2+...+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 英雄哥递归专题直播。 如果 && 前的语句为假,则其之后的也不会执行。 class Solution { public: int sumNums(int n 阅读全文
posted @ 2022-04-16 19:44 bz-2021 阅读(26) 评论(0) 推荐(0)
摘要: 这道题着重注意边界问题。 二分题目思路与两种模板的使用。 区分左和右分界点。 二分查找的实质是分治。 1,递归实现子问题,通过while循环来实现。 2,合并子问题,对二分查找来说不需要这一步。 适用于寻找右边部分的分界点,即右分界点。 举例来说,对于排好序数组 {1 2 3 4 5 6}。 对于二 阅读全文
posted @ 2022-04-16 17:33 bz-2021 阅读(78) 评论(0) 推荐(0)