摘要:
这题在比赛的时候耗了我近两个小时,还是没做出来。用到逆元和期望。赛前掌握的不够好,现在看了几位大佬的代码之后把这题补上。 代码参考来源:https://blog.csdn.net/qq_36797743/article/details/85834812 1097D - 20 GNU C++11 Ha 阅读全文
摘要:
输入N个数,找每个数的前驱和后继。如果没有前驱或后继,输出-1; 思路: 如果有右子树,则右子树的最小值为当前节点的后继;否则后继为当前节点往祖先搜索,第一次是左孩子的节点的父亲的值; 如果有左子树,则左子树的最大值为当前节点的前驱;否则前驱为当前节点往祖先搜索,第一次是右孩子的节点的父亲的值; # 阅读全文
摘要:
构建一个值的类型为int的二叉搜索树,输入N和M,然后进行N次插入操作,每次插入之后进行一次遍历验证代码正确性。然后进行M次删除操作,每次删除之后进行一次遍历验证代码正确性。 #include "bits/stdc++.h" using namespace std; typedef long lon 阅读全文
摘要:
实现一个键的类型为int,值的类型为int的HashMap 输入一个T,表示操作次数; 之后每行接一个操作,可以包括插入、删除、修改、查询、清空、判断是否有这个键; 因为是刚学完随手敲的,所以功能粗糙。插入不考虑键已经存在的情况。删除、修改、查询不考虑键不存在的情况; #include "bits/ 阅读全文
摘要:
用两个指针,一个快指针一次走两步,一个慢指针一次走一步。快慢指针可以重合表示链表有环,此时距离环起点的距离和起点距离环起点的距离相等。 #include "bits/stdc++.h" using namespace std; struct List { List* next; }; List* b 阅读全文
摘要:
肥宅快乐数 Time limit:1s Memory limit:128M Description 作为一个肥宅,栗酱每天都从不同的事物上获得快乐。今天他发现每一个形如 (i,j) 的二元组当满足 “i + j == i | j” 时都会给他带来1点快乐。现在问题来了,[1, 2^k] 以内的正整数 阅读全文
摘要:
这题比较方便的解法是使用STL里的map和set代码如下: #include"bits/stdc++.h" using namespace std; map<string,set<string> >mp; string s,t; int main(){ while(cin>>s&&(s!="XXXX 阅读全文
摘要:
map map可以理解为一个数组(但实质上并不是,只是方便理解),我们一般的数组不管定义成什么类型他的下标都是整型(int),map和这些数组的区别是他的下标可以是其他类型,由自己定义。map的创建、插值和访问示例如下: #include"cstdio"#include"string" #inclu 阅读全文
摘要:
线段树(kuangbin本题链接) #include "bits/stdc++.h" using namespace std; const int MAXN = 50010; struct Node { int l, r; int sum; } segTree[MAXN * 4]; void bui 阅读全文
摘要:
矩阵快速幂 #include"bits/stdc++.h" using namespace std; const int mod = 9973; int n, k; struct Mat { int mat[11][11]; Mat() { memset(mat, 0, sizeof(mat)); 阅读全文