From b64365f7859b923274ee68ff6350d9347205ac3a Mon Sep 17 00:00:00 2001 From: maspypy Date: Wed, 29 Jan 2025 14:32:33 +0900 Subject: [PATCH] add test --- .../gen/issue_1298.cpp | 51 +++++++++++++++++++ .../hash.json | 4 ++ .../info.toml | 3 ++ 3 files changed, 58 insertions(+) create mode 100644 data_structure/dynamic_point_set_rectangle_affine_rectangle_sum/gen/issue_1298.cpp diff --git a/data_structure/dynamic_point_set_rectangle_affine_rectangle_sum/gen/issue_1298.cpp b/data_structure/dynamic_point_set_rectangle_affine_rectangle_sum/gen/issue_1298.cpp new file mode 100644 index 000000000..da68e1379 --- /dev/null +++ b/data_structure/dynamic_point_set_rectangle_affine_rectangle_sum/gen/issue_1298.cpp @@ -0,0 +1,51 @@ +#include +#include +#include "random.h" +#include "../params.h" + +long long TEN(int e) { + assert(0 <= e && e <= 18); + long long res = 1; + while (e) res *= 10, --e; + return res; +} + +// https://judge.yosupo.jp/hack/299 +// make_worstcase +// swap(x,y) したものも含めて 2 ケース +int main(int, char **argv) { + long long seed = atoll(argv[1]); + auto gen = Random(seed); + + int n = N_MAX, q = Q_MAX; + printf("%d %d\n", n, q); + + for (int i = 0; i < n; ++i) { + int x = gen.uniform(0, TEN(9) - 1); + int y = gen.uniform(0, 99); + if (seed & 1) std::swap(x, y); + int w = gen.uniform(0, MOD - 1); + printf("%d %d %d\n", x, y, w); + } + + for (int j = 0; j < q; ++j) { + int tp = (gen.uniform(0, 9) ? 3 : 2); + int l = gen.uniform(0, 99); + int r = TEN(9) - gen.uniform(0, 99); + int d = gen.uniform(0, 99); + int u = gen.uniform(0, 99); + if (d > u) std::swap(d, u); + u++; + + if (seed & 1) std::swap(l, d), std::swap(r, u); + + int a = gen.uniform(0, MOD - 1); + int b = gen.uniform(0, MOD - 1); + + if (tp == 3) { + printf("%d %d %d %d %d %d %d\n", tp, l, d, r, u, a, b); + } else { + printf("%d %d %d %d %d\n", tp, l, d, r, u); + } + } +} diff --git a/data_structure/dynamic_point_set_rectangle_affine_rectangle_sum/hash.json b/data_structure/dynamic_point_set_rectangle_affine_rectangle_sum/hash.json index d11203830..8ca4e310d 100644 --- a/data_structure/dynamic_point_set_rectangle_affine_rectangle_sum/hash.json +++ b/data_structure/dynamic_point_set_rectangle_affine_rectangle_sum/hash.json @@ -1,6 +1,10 @@ { "example_00.in": "866680913495582a2090afab34937971a978a229997a6c372fc3c01ab7f63d1a", "example_00.out": "12ca11a48ef29b5c86b9ccb60c20de7a00acd50ced065258b7355f6fb6a96d64", + "issue_1298_00.in": "5469b7ced46ff62ccfc02cc683e9d8bac739784e18b8a05c0c35b04cf727e522", + "issue_1298_00.out": "4ec01eded2e9bc9b06eb2a7f25c6a42a835e53e462548a17a68d2a91cd9a892b", + "issue_1298_01.in": "f5f27b550d0baa8df312d90b94a5a2bcb0088f8ba3e9055bea634985b53bd4ff", + "issue_1298_01.out": "26c5c54c0d9ba669b1b92cb9db7efb069c3e17bbf96f116d9bfbd70b86f421b9", "many_affine_queries_00.in": "e2ad042b96ea2be8bd17755b018450a3217c7c4df3d9d3331059d7f76b990278", "many_affine_queries_00.out": "b87c2fcc9e3dad1c809afb048d5633c6d7167fc6eee896ef45f7674ff4698052", "many_points_00.in": "f24a64d3482eb21b35eb67a0a4f0a274ad8b3d15e49fd4d87bb6587e0858ee28", diff --git a/data_structure/dynamic_point_set_rectangle_affine_rectangle_sum/info.toml b/data_structure/dynamic_point_set_rectangle_affine_rectangle_sum/info.toml index 435298e09..d5cb937b7 100644 --- a/data_structure/dynamic_point_set_rectangle_affine_rectangle_sum/info.toml +++ b/data_structure/dynamic_point_set_rectangle_affine_rectangle_sum/info.toml @@ -38,6 +38,9 @@ forum = "https://github.com/yosupo06/library-checker-problems/issues/1279" [[tests]] name = "power_of_2_minus_1.cpp" number = 2 +[[tests]] + name = "issue_1298.cpp" + number = 2 [params] N_MAX = 100_000