USACO Snow boots
洛谷链接
各位网友们用的都是并查集和双向链表这些高端操作,显然这对于我这种才学一年的初中蒟蒻来说是几乎想不到。这里献上一种特别无脑的解法。时间复杂度 O ( n l o g 2 n + q ) O(nlog_2n+q) O(nlog2n+q)(尽管它的常数很大) 。
我们对于每一块砖进行排序,dis数组来表示步长为i是最少要承受力为dis[i]的靴子,显然的只要知道每一个dis[i]的值,就可以 O ( 1 ) O(1) O(1)得回答每一个问题。剩下啦的就只有模拟这个思路了。由于我比较菜所以只会用stl来实现这个过程了。
#include<cstdio>
#include <map>
#include <set>
#include <cmath>
#include <cstring>
#include <algorithm>
#define N 100005
using namespace std;
inline char get(){
const int TOP=1000000;
static char T