From d017584480415ab9de56b292bed79264911fd939 Mon Sep 17 00:00:00 2001 From: hitonanode <32937551+hitonanode@users.noreply.github.com> Date: Mon, 25 Aug 2025 00:03:03 +0900 Subject: [PATCH] Remove subset_log test --- set_power_series/test/subset_log.test.cpp | 37 ----------------------- 1 file changed, 37 deletions(-) delete mode 100644 set_power_series/test/subset_log.test.cpp diff --git a/set_power_series/test/subset_log.test.cpp b/set_power_series/test/subset_log.test.cpp deleted file mode 100644 index accfdc95..00000000 --- a/set_power_series/test/subset_log.test.cpp +++ /dev/null @@ -1,37 +0,0 @@ -#define PROBLEM "https://atcoder.jp/contests/arc105/tasks/arc105_f" -// AtCoder Testcases is suspended https://atcoder.jp/posts/1377 -#define IGNORE -#include "../../modint.hpp" -#include "../subset_convolution.hpp" -#include -using namespace std; -using mint = ModInt<998244353>; - -// https://codeforces.com/blog/entry/83535?#comment-709269 -int main() { - int N, M; - cin >> N >> M; - vector to(N); - while (M--) { - int a, b; - cin >> a >> b; - a--, b--; - to[a] += 1 << b, to[b] += 1 << a; - } - - const mint inv2 = mint(2).inv(); - vector pow2(N * N + 1, 1), pow2inv(N * N + 1, 1); - for (int i = 1; i <= N * N; i++) pow2[i] = pow2[i - 1] * 2, pow2inv[i] = pow2inv[i - 1] * inv2; - - vector nbe(1 << N); - vector f(1 << N); - for (int s = 0; s < 1 << N; s++) { - for (int i = 0; i < N; i++) nbe[s] += __builtin_popcount(to[i] & s) * ((s >> i) & 1); - nbe[s] /= 2; - f[s] = pow2inv[nbe[s]]; - } - f = subset_convolution(f, f); - for (int s = 0; s < 1 << N; s++) f[s] *= pow2[nbe[s]]; - subset_log(f); - cout << f.back() / 2 << '\n'; -}