摘要:
使用并查集查找时,如果查找次数很多,那么使用朴素版的查找方式肯定要超时。比如,有一百万个元素,每次都从第一百万个开始找,这样一次运算就是10^6,如果程序要求查找个一千万次,这样下来就是10^13,肯定要出问题的。 这是朴素查找的代码,适合数据量不大的 int findx(int x) { int 阅读全文
摘要:
遍历所有状态最好用dfs,求最短路用bfs,(无权值,都是一); 要注意满足状态与越界状态。(必要时设标志位) dfs bool judge(){ int k, p, q; for(int i = 0; i < n; i++){ if(b[i] == true) k++; } for(int i = 阅读全文
摘要:
2.lower_bound 在从小到大的排序数组中, lower_bound( begin,end,num):从数组的begin位置到end-1位置二分查找第一个大于或等于num的数字,找到返回该数字的地址,不存在则返回end。通过返回的地址减去起始地址begin,得到找到数字在数组中的下标。 up 阅读全文