日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UOJ#310.【UNR #2】黎明前的巧克力(FWT)

發布時間:2025/3/14 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UOJ#310.【UNR #2】黎明前的巧克力(FWT) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題意

給出 \(n\) 個數 \(\{a_1, \cdots, a_n\}\),從中選出兩個互不相交的集合(不能都為空),使得第一個集合與第二個集合內的數的異或和相等,求總方案數 \(\bmod 998244353\)

\(n, a_i \le 10^6\)

題解

簡單轉化一下,其實就是對于每個選取集合中元素異或積為 \(0\) 的集合,都會有 \(2^{|S|}\) 的貢獻。

用集合冪級數形式寫出來其實就等價于:

\[ \prod_{i = 1}^{n} (1 + 2x^{a_i}) \]

把每個 \(\text{FWT}\) 再乘顯然不現實。觀察一下 \(1 + 2x^{a_i}\) \(\text{FWT}\) 后的點值只可能是 \(\{-1, 3\}\)

這樣我們把所有原來的冪級數相加,然后一起 \(\text{FWT}\) 。(因為 \(\text{FWT}\) 是可以滿足點值上的加減乘除,與集合對稱差卷積上的加減乘除是一樣的)

然后每一位算一下,假設有 \(x\)\(-1\)\(n - x\)\(3\) 。考慮解一下這個方程,也就是 \(-x + 3 * (n - x) = f_i\) ,也就是 \(\displaystyle x = \frac {3n - f_i}{4}\)

那么所有一開始的冪級數 \(\text{FWT}\) 乘到一起其實也就是 \((-1)^x3^{n - x}\)

那么最后 \(\text{IFWT}\) 就行了。

最后要減去空集的貢獻,注意要 + Mod - 1 (好多人被坑了 \(97pts\) )。

復雜度是 \(\mathcal O(n \log n)\) 的。

代碼

#include <bits/stdc++.h>#define For(i, l, r) for (register int i = (l), i##end = (int)(r); i <= i##end; ++i) #define Fordown(i, r, l) for (register int i = (r), i##end = (int)(l); i >= i##end; --i) #define Rep(i, r) for (register int i = (0), i##end = (int)(r); i < i##end; ++i) #define Set(a, v) memset(a, v, sizeof(a)) #define Cpy(a, b) memcpy(a, b, sizeof(a)) #define debug(x) cout << #x << ": " << (x) << endlusing namespace std;typedef long long ll;template<typename T> inline bool chkmin(T &a, T b) { return b < a ? a = b, 1 : 0; } template<typename T> inline bool chkmax(T &a, T b) { return b > a ? a = b, 1 : 0; }inline int read() {int x(0), sgn(1); char ch(getchar());for (; !isdigit(ch); ch = getchar()) if (ch == '-') sgn = -1;for (; isdigit(ch); ch = getchar()) x = (x * 10) + (ch ^ 48);return x * sgn; }void File() { #ifdef zjp_shadowfreopen ("310.in", "r", stdin);freopen ("310.out", "w", stdout); #endif }const int len = 1 << 20, N = len << 1, Mod = 998244353, inv2 = (Mod + 1) / 2;inline int fpm(int x, int power) {int res = 1;for (; power; power >>= 1, x = 1ll * x * x % Mod)if (power & 1) res = 1ll * res * x % Mod;return res; }void FWT(ll *P, int opt) {for (int i = 2, p = 1; i <= len; p = i, i <<= 1)for (int j = 0; j < len; j += i) Rep (k, p) {ll u = P[j + k], v = P[j + k + p];P[j + k] = u + v; P[j + k + p] = u - v;}if (!~opt) {int inv = fpm(len, Mod - 2);Rep (i, len) P[i] = 1ll * (Mod + P[i] % Mod) * inv % Mod;} }ll A[N], pow3[N];int main () {File();int n = read();pow3[0] = 1;For (i, 1, n)++ A[0], A[read()] += 2, pow3[i] = pow3[i - 1] * 3ll % Mod;FWT(A, 1);Rep (i, len) {int x = (3 * n - A[i]) / 4;A[i] = (Mod + (x & 1 ? -1 : 1) * pow3[n - x]) % Mod;}FWT(A, -1);printf ("%lld\n", (A[0] + Mod - 1) % Mod);return 0;}

轉載于:https://www.cnblogs.com/zjp-shadow/p/10542527.html

總結

以上是生活随笔為你收集整理的UOJ#310.【UNR #2】黎明前的巧克力(FWT)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品 欧美激情 | 关之琳三级全黄做爰在线观看 | 日本一区二区视频在线观看 | 熟女一区二区三区视频 | 日日拍拍 | 在线观看亚洲网站 | 嫩草网站入口 | 日本免费高清视频 | 久久久精品中文字幕麻豆发布 | 亚洲视频在线观看一区二区 | 我和我的太阳泰剧在线观看泰剧 | 久久视频免费 | 国产午夜福利在线播放 | 蜜臀少妇久久久久久久高潮 | 久久久久一区二区三区 | 日日夜夜网 | 亚洲顶级毛片 | 日韩中文字幕亚洲 | 在线观看免费黄视频 | 亚洲综合激情网 | 黑丝一区 | 欧美区亚洲区 | 欧美性猛交ⅹxx乱大交 | 夜夜骑av | 久久久久九九九九 | 青青草成人免费视频 | 在线观看 中文字幕 | 沟厕沟厕近拍高清视频 | 亚洲视频久久久 | 国产精品第1页 | 91免费视频免费版 | 男生插女生的网站 | 国产av毛片 | 91丨porny丨对白 | 久久99精品久久久久久琪琪 | 插久久| 中国黄色一级大片 | aaa黄色大片| 卡一卡二在线视频 | 欧美亚洲在线观看 | 男女黄床上色视频免费的软件 | 性史性农村dvd毛片 日韩精品在线视频观看 | 国产三级全黄裸体 | 高潮网 | 91在线看黄| 中文av一区二区 | 亚洲熟妇无码av在线播放 | 欧美影视一区二区 | 国产日韩在线观看视频 | 免费在线亚洲 | 国产69精品久久久久777 | 黄色a级在线观看 | 日本午夜在线 | 香蕉婷婷| 午夜免费激情视频 | 国产xxxx做受视频 | 国产女人爽到高潮a毛片 | 欧美三区在线观看 | 中文字字幕在线中文 | 欧美精品99久久久 | 色就是色综合 | 亚洲色图25p | 草碰在线 | 亚洲国产片 | 91干网 | 久色亚洲| 性激烈视频在线观看 | 素人一区二区三区 | 国产欧美日本在线 | 国产欧美在线看 | 风间由美一区二区 | 日韩在线你懂的 | 欧美日韩大片在线观看 | 亚洲精品~无码抽插 | 搡老熟女老女人一区二区 | 人人妻人人澡人人爽欧美一区 | 国产99对白在线播放 | 久久视频热 | 在线观看麻豆视频 | 国产乱淫av片免费看 | 伊人网狼人 | av观看网址 | 亚洲精品国产片 | 去毛片| 国产欧美日韩视频在线观看 | 日本色视 | 中文在线а√天堂 | 少妇免费毛片久久久久久久久 | 99精品欧美一区二区 | 污视频网站在线看 | 欧美精品在欧美一区二区 | 一道本在线观看 | 在线爽| 欧美丰满少妇人妻精品 | 欧美日韩tv| 污视频网址在线观看 | 操操操操操操操操操 | 一区视频 | 人人玩人人弄 |