daylight-library

This documentation is automatically generated by competitive-verifier/competitive-verifier

View the Project on GitHub daylight-pro/daylight-library

:heavy_check_mark: test/yosupo/structure/persistent_unionfind.test.cpp

Depends on

Code

#define PROBLEM \
	"https://judge.yosupo.jp/problem/persistent_unionfind"
#include "daylight/base.hpp"
#include "daylight/structure/rollback_dsu.hpp"

int main() {
	int N, Q;
	cin >> N >> Q;
	using T = tuple<int, int, int, int>;
	vector<T> queries(Q);
	map<int, vi> M;
	map<int, vi> G;
	REP(q, Q) {
		int t, k, u, v;
		cin >> t >> k >> u >> v;
		queries[q] = { t, k, u, v };
		if(t == 1)
			M[k].push_back(q);
		else
			G[k].push_back(q);
	}
	rollback_dsu dsu(N);
	vi ans(Q, -1);
	auto dfs = [&](auto f, int cur = -1) -> void {
		if(cur >= 0) {
			auto [t, k, u, v] = queries[cur];
			dsu.merge(u, v);
		}
		for(auto q: M[cur]) {
			ans[q] = dsu.same(get<2>(queries[q]),
							  get<3>(queries[q]));
		}
		for(auto to: G[cur]) {
			f(f, to);
		}
		if(cur >= 0) dsu.undo();
	};
	dfs(dfs);
	REP(i, Q) {
		if(ans[i] != -1) cout << ans[i] << endl;
	}
}
Traceback (most recent call last):
  File "/home/runner/.local/lib/python3.10/site-packages/competitive_verifier/oj_resolve/resolver.py", line 181, in resolve
    bundled_code = language.bundle(path, basedir=basedir)
  File "/home/runner/.local/lib/python3.10/site-packages/competitive_verifier/oj/verify/languages/cplusplus.py", line 252, in bundle
    bundler.update(path)
  File "/home/runner/.local/lib/python3.10/site-packages/competitive_verifier/oj/verify/languages/cplusplus_bundle.py", line 482, in update
    self.update(
  File "/home/runner/.local/lib/python3.10/site-packages/competitive_verifier/oj/verify/languages/cplusplus_bundle.py", line 477, in update
    raise BundleErrorAt(
competitive_verifier.oj.verify.languages.cplusplus_bundle.BundleErrorAt: daylight/base.hpp: line 103: unable to process #include in #if / #ifdef / #ifndef other than include guards

Test cases

Env Name Status Elapsed Memory
g++ conchon_filliatre_tle_00 :heavy_check_mark: AC 263 ms 44 MB
g++ conchon_filliatre_tle_01 :heavy_check_mark: AC 270 ms 44 MB
g++ example_00 :heavy_check_mark: AC 6 ms 3 MB
g++ hand_00 :heavy_check_mark: AC 6 ms 3 MB
g++ max_random_00 :heavy_check_mark: AC 292 ms 45 MB
g++ max_random_01 :heavy_check_mark: AC 297 ms 46 MB
g++ max_random_02 :heavy_check_mark: AC 303 ms 45 MB
g++ max_random_03 :heavy_check_mark: AC 296 ms 46 MB
g++ max_random_04 :heavy_check_mark: AC 311 ms 45 MB
g++ random_00 :heavy_check_mark: AC 220 ms 35 MB
g++ random_01 :heavy_check_mark: AC 219 ms 35 MB
g++ random_02 :heavy_check_mark: AC 192 ms 28 MB
g++ random_03 :heavy_check_mark: AC 44 ms 9 MB
g++ random_04 :heavy_check_mark: AC 142 ms 24 MB
Back to top page