摘要: auto推断数组的结果为指针,而decltype()可以返回大小正确的数组int ia[]={1,2,3,4};decltype(ia) ia2={1,2,3};//ia2={1,2,3,0};begin()和end()函数(不是容器的成员函数,定义在iterator有头文件中)可以返回数组首元素和 阅读全文
posted @ 2021-12-07 20:08 80k 阅读(28) 评论(0) 推荐(0)
摘要: multimap按照key从小到大排序,且value不排序multiset<pair>按照pair从小到大排序,先比较key再比较value priority_queue<T> 传入less<T>时是大根堆,传入greater<T>时是小根堆,这和一般的算法是反的(例如sort())。 阅读全文
posted @ 2021-12-07 20:07 80k 阅读(22) 评论(0) 推荐(0)
摘要: 采取「一边遍历一边统计」的方式,可以避免重复计算 v是由小到大排序的容器upper_bound(v.begin(), v.end(), val);可以利用二分查找返回第一个大于val的位置的迭代器lower_bound( begin,end,val);返回第一个大于等于的位置pair<Ty1,Ty2 阅读全文
posted @ 2021-12-07 20:07 80k 阅读(32) 评论(0) 推荐(0)
摘要: isdigit() 判断char是否为数字islower()判断char是否为小写字母to_string 转为string对于括号序列相关的题目,通用的解法是使用递归或栈。 阅读全文
posted @ 2021-12-07 20:06 80k 阅读(35) 评论(0) 推荐(0)
摘要: string的erase pop_back() substr()可用于删除操作。stoi将string转化为int 阅读全文
posted @ 2021-12-07 20:05 80k 阅读(26) 评论(0) 推荐(0)
摘要: unordered_map可以hash vector建立邻接矩阵,以空间换时间建立unordered_map<属性,节点>,从而保存图的属性到节点的映射关系,从而确定节点的邻接关系。 阅读全文
posted @ 2021-12-07 20:04 80k 阅读(26) 评论(0) 推荐(0)
摘要: 状态转移使用广度优先搜索unordered_set可以hash string 但是不能用vector注意广度优先搜索时,若使用int step和 unordered_set<T>/vecotr<bool> visited,step每层加一而不是每次加一或者不使用step,而是使用unordered_ 阅读全文
posted @ 2021-12-07 20:04 80k 阅读(27) 评论(0) 推荐(0)
摘要: 双向广度优先搜索 queue<string> begin_queue,end_queue; begin_queue.push(begin); end_queue.push(end); unordered_set<string> begin_visited,end_visited; begin_vis 阅读全文
posted @ 2021-12-07 20:03 80k 阅读(32) 评论(0) 推荐(0)
摘要: 广度优先搜索获取最短路径方法。 emplace_back(),可以无参数直接调用。 可以用点和边构建图; unordered_map<string,int> word_id; vector<vector<int>> edge;//第一维表示每个节点,第二位表示每个相邻的节点 再通过广度优先搜索获取最 阅读全文
posted @ 2021-12-07 20:00 80k 阅读(31) 评论(0) 推荐(0)
摘要: 辗转相除法求最大公约数 int GCD(int x,int y){ return y?GCD(y,x%y):x;}(整数)相除会导致数据精度问题,可以保存两个整数(除以最大公约数),注意考虑负数和0。 LL GCD(LL x,LL y){ if(x%y==0) return y; return GC 阅读全文
posted @ 2021-12-07 19:59 80k 阅读(47) 评论(0) 推荐(0)