#ifndef DECREMENTAL_TC_H_ #define DECREMENTAL_TC_H_ #include "algorithm/roditty_zwick.h" #include "algorithm/tarjan.h" #include "algorithm/breadth_first_search.h" #include "tree/breadth_first_tree.h" #include using namespace graph; namespace algo { template class DecrementalTC : public RodittyZwick { public: DecrementalTC(Digraph G) : G(G) {} void init(); bool query(const T& u, const T& v); void remove(const T& u, const T& v); private: // Every vertex u has a pointer C(u) to the component containing it std::map vc; // For every component C, the algorithm maintains three linked lists // Ein(C), Eout(C), and Eint(C) of the incoming, outgoing, and the internal // edges of the component C std::forward_list Ein; std::forward_list Eout; std::forward_list Eint; }; template inline void DecrementalTC::init() { } template inline bool DecrementalTC::query(const T& u, const T& v) { return false; } template inline void DecrementalTC::remove(const T& u, const T& v) { } } // namespace algo #endif