摘要:
给定你个数组,以及一些单点修改,以及询问,每次询问需要求得,最长的字串长度,它在其他位置存在同构。 当存在两个不相交的区间同构时,如: 1、2、……、n -1、n、n + 1、……、m、m + 1、m + 2、 ……、m + n - 1、m + n;(假设m > n&&[1, n]和[m + 1, 阅读全文
摘要:
做题中常用的位运算有以下几种: 判断奇偶性 if (n & 1) { printf("偶数"); } else { printf("奇数"); } 常用于快速幂和其他判断奇偶性的地方 乘除2的整次幂 scanf("%d%d", &n, &m); // 输出n乘2的m次方 printf("%d", n 阅读全文
摘要:
希尔排序 Accepted 1040 0MS 1224K 564 B G++ #include "cstdio" using namespace std; int arr[5000]; int main() { int t, n; scanf("%d", &t); while (t--) { sca 阅读全文
摘要:
太久没写最小生成树了,快忘光了。这几天回顾了一下 最小生成树一·Prim算法 AC G++ 369ms 17MB #include "cstdio" using namespace std; const int INF = 0x3f3f3f3f; int road[1005][1005]; int 阅读全文
摘要:
欧拉回路的条件是所有节点的度数为偶数并且是联通图,但是照这题的描述所说并不需要所有点都联通,如果某个点的度为0,被孤立,依旧可能存在欧拉回路; 所以用set来存度不为0的节点,用并查集判联通就好了 #include "bits/stdc++.h" using namespace std; int d 阅读全文
摘要:
拓扑排序 #include "bits/stdc++.h" using namespace std; // 用来存某个点的入度数量 int num[505]; // 用来存某个节点的出度 set<int> outde[505]; int ans[505]; priority_queue<int, v 阅读全文
摘要:
比较可惜昨天比赛的时候时间不够了,在比赛结束之后五分钟找出了bug提交通过了。然并软; 首先这题说b数组的后一项要么等于前一项,要么等于前一项加一,而且如果a[i] == a[j] ,那么b[i] == b[j],所以如果a[i] == a[j],b[i]到b[j]这个区间的值都是一样的,可以看做一 阅读全文
摘要:
首先定义一个二叉树的结构体 struct BinaryTree { int value; BinaryTree* lson; BinaryTree* rson; }; 第一种方法 int maxOf(BinaryTree* root) { if (root->rson) { return maxOf 阅读全文
摘要:
这个Trie原先用C++就敲得很熟了,看了蓝桥杯的视频后学会把一个功能这样封装起来,以后用的时候就很爽可以直接调用了,所以就用Java写了; public class Trie { private final int SIZE = 26; private final int HEAD = 'a'; 阅读全文
摘要:
构建一个值的类型为int的平衡二叉搜索树,输入N,然后进行N次插入操作,每次插入之后进行一次遍历验证代码正确性。(删除目前还写不出来,以后有机会再补吧) #include "bits/stdc++.h" using namespace std; typedef long long LL; const 阅读全文