- ACM Note No.5: BFSACM-ICPC
广度优先搜索常常用于寻找全局最短路,遍历联通块等等,是一种暴力算法 下面是一个广度优先搜索的模板题: 其中可以通过更改dx[]和dy[]数组来更改步进的行为(如马走日字格等) 记得要打上vis[]数组标记访问过的地址不然…
- ACM Note No.4: 二分ACM-ICPC
二分具体分为二分查找与二分答案 若题目的答案具有单调性,则可以使用二分答案,思路类似于暴力搜索不过复杂度是O(logN) 当然C++ STL有自带的lowerbound()和upperbound()在有序队列内进行二分查…
- ACM Note No.3: STLACM-ICPC
STL有六大组件 容器(Containers) 算法(Algorithms) 迭代器(Iterators) 仿函数(Functros) 适配器(Adapters) 配置器(Allocators) 在算法竞赛中,主要使用的…
- ACM Note No.1: MiscACM-ICPC
#include <bits/stdc++.h> using namespace std; void slove(){ } int main(){ ios::syncwithstdio(0), cin.tie(0), cout…
- ACM Note No.2: 前缀和与差分ACM-ICPC
差分常用于对区间上的值快速进行批量增减 构造差分数组: diff[i] = arr[i] - arr[i - 1]; 对区间[l, r]增加x: diff[l] += x; diff[r + 1] -= x; 还原(对差…