04 2021 档案

摘要:#hash表的作用 将一个大的集合的数存进一个小的区域里 离散化是一种极其特殊的hash表 有开放寻址法和拉链法两种方法,开放寻址法只需要开一个数组,拉链法更接近stl但要多开一个链表 #hash表模板(开放寻址法 模拟 #include<iostream> #include<cstring> us 阅读全文
posted @ 2021-04-26 17:38 Xuuxxi 阅读(50) 评论(0) 推荐(0) 编辑
摘要:D. Min Cost String 需求数组放在char res[]里。 理解过后不难看出要求构造一个字符串,字符串要求Si+S(i+1) != Sj+S(j+1)。 最初理解是将a放在res[0]里,后面依次放入一对与前面不同的字符,如k==4的时候字符串为aabacadbcbdcd。--wa了 阅读全文
posted @ 2021-04-25 19:29 Xuuxxi 阅读(73) 评论(0) 推荐(0) 编辑
摘要:#什么是堆? 一颗完全二叉树,根是整棵树的最小值 每一层的子节点都大于对应根节点 #堆的模板(不考虑数是第几个插入的) int h[N]; //value int idx; //树的大小 //将当前的数向下排序 void down(int num){ int t = num; if(num * 2 阅读全文
posted @ 2021-04-24 19:35 Xuuxxi 阅读(62) 评论(0) 推荐(0) 编辑
摘要:#如何表示无穷大 可以使用0x3f3f3f3f或0x7fffffff 0x3f3f3f3f的十进制是1061109567,也就是109级别的(和0x7fffffff一个数量级),而一般场合下的数据都是小于109的,所以它可以作为无穷大使用而不致出现数据大于无穷大的情形。 另一方面,由于一般的数据都不 阅读全文
posted @ 2021-04-22 18:56 Xuuxxi 阅读(1044) 评论(0) 推荐(0) 编辑
摘要:#并查集模板 //查找并返回根节点 int find(int x){ if(p[x] != x) p[x] = find(p[x]); //若不是根节点的话就调用find函数查找上一个节点,并在结束时压缩路径优化 return p[x]; //返回根节点编号 } int main(){ for(in 阅读全文
posted @ 2021-04-20 21:41 Xuuxxi 阅读(44) 评论(0) 推荐(0) 编辑
摘要:#Trie算法模板题 Trie字符串统计 ##代码及注释 #include<iostream> using namespace std; const int N = 100010; int n; //son -> 所有的子节点,26对应题目出现的26个英文字母 //cnt -> 字符串出现的次数 / 阅读全文
posted @ 2021-04-19 18:05 Xuuxxi 阅读(57) 评论(0) 推荐(0) 编辑
摘要:#kmp模板 匹配字符串 //next存下的值是当前区间最大前缀与后缀重合的值。 #include<iostream> using namespace std; const int N = 100010,M = 1000010; int n,m; char p[N],s[M]; int ne[N]; 阅读全文
posted @ 2021-04-18 15:25 Xuuxxi 阅读(44) 评论(0) 推荐(0) 编辑
摘要:#单调队列模板 对于在队列的数来说他们都是单调的,该模板队头为队列最小值下标,队尾为队列最大值下标。 //共n个数据,k为维护的区间的长度 //遍历要处理的数据 for(int i = 0;i < n;i ++){ //队头滑出区间 while(hh <= tt && q[hh] <i - k + 阅读全文
posted @ 2021-04-17 10:20 Xuuxxi 阅读(50) 评论(0) 推荐(0) 编辑
摘要:#单链表 ##初始化!!! head = -1; //头节点 idx = 0; //当前能用的下标 ##向头节点插入 void add_head(int num){ v[idx] = num; ne[idx] = head; head = idx ++; } ##向第k个数后插入 void add( 阅读全文
posted @ 2021-04-09 15:12 Xuuxxi 阅读(94) 评论(0) 推荐(1) 编辑
摘要:本次学到知识点:链表动态create、 Insert、delete. c++链表的动态创建,插入,删除和输出 #include<iostream> using namespace std; struct test{ int n; test * next; }; //print void print( 阅读全文
posted @ 2021-04-08 15:33 Xuuxxi 阅读(102) 评论(0) 推荐(1) 编辑
摘要:#dfs的模板 注意bool判断是否走过这个点并注意回溯的处理。 注意条件判断和边界问题。 //边界判断即剪枝 if(chk()) return; if(over(BianJie)) return; if(bool = false)//未搜索过 bool = true; //赋值或纪录 dfs(n 阅读全文
posted @ 2021-04-06 11:10 Xuuxxi 阅读(162) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示