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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

子序列 解题报告

發布時間:2025/3/14 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 子序列 解题报告 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

子序列

題目描述

墊底哥學了兩年 OI 最近剛剛學會了 xor 和子序列。
他得到了一個長度為 \(n\) 的數組 \(a_1, a_2, a_3,\dots, a_n\),他想知道 xor 值為 \(0\) 的子序列最長是多少。
然而墊底哥除了墊底其它什么都不會,他就找你解決這個問題。

輸入格式

第一行一個正整數 \(n\)。
第二行 \(n\) 個整數,分別表示 \(a_1, a_2, a_3, \dots, a_n\)。

輸出格式

一行 \(1\) 個整數,表示答案。

數據規模與約定

對于所有數據,滿足 \(1 ≤ n ≤ 5 × 10^5, 0 ≤ a_i ≤ 5 × 10^5\)
\(A = \max\{a_1, a_2, \cdots , a_n\}\)
? \(Subtask \ 1\)\(10\%\)):\(n ≤ 20\)
? \(Subtask\ 2\)\(20\%\)):\(n ≤ 100\)\(A ≤ 100\)
? \(Subtask 3\)\(30\%\)):\(n ≤ 3000,A ≤ 3000\)
? \(Subtask 4\)\(40\%\)):無特殊限制。


考慮補集轉換,設\(S=a_1\ xor \ a_2 \ xor \dots \ xor \ a_n\),求最少的可以異或出\(S\)的數的個數。

由線性姬的構造可以得到個數一定不大于\(\log A\)

然后可以DP一下,\(dp_{i,j}\)代表\(i\)個數是否可以異或出\(j\)

可以拿FWT優化這個轉移,直接裸優化是\(n\log^2A\)的,不過我們發現只需要單點詢問一個數是否有值就可以了,于是可以先正變換,然后每次單點做一次\(O(n)\)的逆變換


Code:

#include <cstdio> #define beelovely 2333 const int mod=998244353; #define add(a,b) (a+b>=mod?a+b-mod:a+b) #define mul(a,b) (1ll*(a)*(b)%mod) const int N=(1<<19)+10; int n,s,mx,a[N],popcnt[N],f[N],b[N],lim=1; void FWT(int *a) {for(int le=1;le<lim;le<<=1)for(int p=0;p<lim;p+=le<<1)for(int i=p;i<p+le;i++){int x=a[i],y=a[i+le];a[i]=add(x,y);a[i+le]=add(x,mod-y);} } int main() {scanf("%d",&n);for(int x,i=1;i<=n;i++) scanf("%d",&x),s^=x,++a[x],mx=mx>x?mx:x;while(lim<=mx) lim<<=1;for(int i=1;i<lim;i++){popcnt[i]=popcnt[i>>1]+(i&1);b[i]=popcnt[i]&1?mod-1:1;}f[0]=b[0]=1;FWT(a),FWT(f);while(beelovely){int dew=0;for(int i=0;i<lim;i++) dew=add(dew,mul(f[i],b[s&i]));if(dew) break;--n;for(int i=0;i<lim;i++) f[i]=mul(f[i],a[i]);}printf("%d\n",n);return 0; }

2019.1.17

轉載于:https://www.cnblogs.com/butterflydew/p/10284431.html

總結

以上是生活随笔為你收集整理的子序列 解题报告的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 国产福利在线免费观看 | 美女裸片 | 国产午夜久久 | 日韩中文字幕有码 | 美女让男人捅 | 国产精品aaaa | 日韩a级在线观看 | 亚洲女人天堂成人av在线 | 99精品福利视频 | 日本精品一二三区 | 人人爱人人澡 | 欧美日韩精品在线观看 | 欧美精品二区三区四区免费看视频 | 欧美片在线观看 | 久久精品2| 91最新国产 | 岛国精品 | 91亚洲高清 | 国产色爽 | 国产做受高潮漫动 | 精品国产综合区久久久久久 | av资源在线| 成人免费看片' | 老熟妇毛茸茸 | 天天综合在线视频 | 伊人看片| 白嫩初高中害羞小美女 | 久久久久亚洲AV成人无码国产 | 五月天激情丁香 | jizzzxxxx | 黄色动漫在线观看 | 女人扒开腿免费视频app | jjzzjjzz欧美69巨大 | 456亚洲视频| 欧美激情亚洲综合 | 欧美日韩一区二区在线观看视频 | 成人免费大片黄在线播放 | 国产白丝精品91爽爽久久 | 久久精品视频网 | 天天干,天天操 | 爱爱综合 | 欧美暧暧视频 | 综合色综合 | 色哟哟精品观看 | 最新中文字幕2019 | 99爱精品| 欧美偷拍一区二区 | 伊人96| 男女裸体影院高潮 | 欧美精品在线视频 | 国内外成人激情视频 | 青青草原亚洲视频 | 麻豆网 | 免费中文字幕av | 亚洲国产日韩欧美在线观看 | 中文字幕被公侵犯的漂亮人妻 | 欧美精品一区二区三区三州 | 天天插日日插 | 夜夜爱av| 国产三级在线免费观看 | av色吧| 亚洲精品久久久久久久久久久 | 欧美一区二区三区免 | 中文字幕Av日韩精品 | 99在线免费观看视频 | 成人精品视频一区二区 | 亚洲图片三区 | 性欢交69精品久久久 | 中文字幕av久久爽一区 | 国产精品丝袜在线观看 | 一级黄色片免费在线观看 | 这里只有精品22 | 一级做a爱片久久毛片 | 超碰成人在线免费观看 | 久久久久久久极品内射 | 久久久亚洲成人 | 毛片a| 国产肥老妇视频 | 色婷婷综合久久久中文字幕 | 亚洲无码精品一区二区三区 | 毛片久久久久久 | 色午夜婷婷 | 影音先锋中文字幕一区 | 成人动漫av在线 | 黄免费在线观看 | 国产人伦精品一区二区三区 | 成人在线视屏 | 区一区二在线观看 | 光棍影院手机版在线观看免费 | 短裙公车被强好爽h吃奶视频 | 午夜av免费观看 | 日本免费电影一区二区三区 | 性的免费视频 | 国产经典av | 久久国产免费观看 | 完全免费在线视频 | 伊人春色在线 | 欧美肥老妇视频九色 | 久久福利视频网 |