DMOJ - Fluid Dynamics

Author: Benjamin Qi

Time Complexity: O(SSlogS)\mathcal{O}(S\sqrt{S\log S}), where S=N+QS=N+Q.

Maintain a linked list of convex hulls of size BLOCKSlogSBLOCK \approx \sqrt{S\log S} each. Each update and query takes O(SlogS)\mathcal{O}(\sqrt{S\log S}) time. TL is pretty tight ...

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ld = long double;
using db = double;
using str = string; // yay python!
using pi = pair<int,int>;
using pl = pair<ll,ll>;

Join the USACO Forum!

Stuck on a problem, or don't understand a module? Join the USACO Forum and get help from other competitive programmers!