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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【清华集训2014】玛里苟斯

發(fā)布時間:2023/12/14 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【清华集训2014】玛里苟斯 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

看到這道題,然后便錯誤地聯(lián)想到了數(shù)位DP什么的……接著發(fā)現(xiàn)了答案在一個界內(nèi),然后就想著暴力了。

首先如果對每一位都設(shè)一個變量的話,根據(jù)插板法,最多只能有1e7個項對答案有貢獻(xiàn),和答案在一個界內(nèi)這個條件組合起來,這啟發(fā)我們?nèi)ハ氡┝Α?/p>

首先非基變量是沒有用的,考慮它們的選和不選,最后都要除掉。

所以只有基變量有貢獻(xiàn)。

顯然基變量越多跑的越慢,這個時候設(shè)基變量有 \(b\) 個,很明顯可以得到答案的一個粗略的下界

\[ \frac{\sum_{i=0}^{2^{b-1}} i^k}{2^{b-1}} \]

首先上面是一個自然冪數(shù)前綴和,顯然是一個 \(k+1\) 項的多項式,忽略常數(shù)帶來的影響,除掉分母,令 \(x = 2^b\),可得

\[x ^ k \le 2^{63} \]

也就是說,$ b \leq \log_2 \sqrt[k]{2^{63}} $,易得 \(k \geq 3\) 的時候是可以暴力枚舉基的。

那么只剩下 \(k = 1\)\(2\) 了。

考慮 \(k = 1\),只要按位考慮貢獻(xiàn)即可。

考慮 \(k = 2\),對于平方,只是同一種方案對每兩個位的值進(jìn)行乘積后求和。所以需要同時考慮兩位。

因為單個變量 \(0\)\(1\) 是相同的,所以考慮分別乘個 \(\frac{1}{2}\) 即可。

拆一下式子枚舉變量即可。注意 \(k = 2\) 時只有 \(\frac{1}{2}\) 的判定不是下標(biāo)相同(雖然式子拆出來是這樣的),而是在基張成的線性空間里每個向量這兩位都相同。即基向量矩陣中這兩行相等。

計算過程可以用 __int128 所以沒什么問題,long double 會掉精度。

所以還是一道簡單題,但我還是爆OJ了。

#include <bits/stdc++.h>typedef unsigned long long LL; typedef __int128 H; LL lb[64], bss[64], mat[64]; int n, K, bak; void insert(LL v) {for (int i = 63; ~i; --i)if (v >> i & 1) {if (lb[i]) v ^= lb[i];else { lb[i] = v; break; }} } LL fnd(LL x) {LL res = 0;for (int i = 63; ~i; --i)if (lb[i] & x)res |= 1llu << i;return res; } H fastpow(H a, int px) {H res = 1;while (px --> 0) res *= a;return res; } H haans; void dfs(int now, LL v) {if (now == bak) {haans += fastpow(v, K);return ;}dfs(now + 1, v);dfs(now + 1, v ^ bss[now]); } int main() {std::ios_base::sync_with_stdio(false), std::cin.tie(0);std::cin >> n >> K;LL t;for (int i = 1; i <= n; ++i) std::cin >> t, insert(t);for (int i = 0; i < 64; ++i) if (lb[i]) bss[bak++] = lb[i];H ans = 0; LL app = 0;for (int i = 0; i != 64; ++i) app |= lb[i];if (K >= 3) dfs(0, 0), ans = haans >> bak - 1;else if (K == 2) {for (int i = 0; i != 64; ++i) mat[i] = fnd(1llu << i);for (int i = 0; i != 64; ++i) if (app >> i & 1)for (int j = 0; j != 64; ++j) if (app >> j & 1)ans += (H) (1llu << i) * (1llu << j) * (1 << (mat[i] == mat[j]));ans >>= 1;} else ans = app;LL ax = ans;std::cout << (ax >> 1);if (ax & 1) std::cout << ".5";std::cout << std::endl;return 0; }

轉(zhuǎn)載于:https://www.cnblogs.com/daklqw/p/11515486.html

總結(jié)

以上是生活随笔為你收集整理的【清华集训2014】玛里苟斯的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日本精品一区二区三区四区的功能 | 国内福利视频 | 91精品国产视频 | 国产suv精品一区二区三区 | 天天干干 | 欧美88av| 欧美性受黑人性爽 | 在线观看中文字幕码 | 色综合自拍 | 久久久久久久黄色片 | 亚洲黄色录像 | 插插插操操操 | 日本护士╳╳╳hd少妇 | 亚洲最大成人av | 涩涩97| 亚洲精品久久久蜜桃 | 台湾黄色网址 | 一边摸一边做爽的视频17国产 | 日韩色图在线观看 | 国产区亚洲区 | 成人久久毛片 | www.第四色| 先锋影音av资源网 | 91久久精品一区 | 欧美日韩国产电影 | 亚洲男人天堂2017 | 中文字幕精品久久久久人妻红杏1 | 高清欧美性猛交xxxx黑人猛交 | 中文字幕人妻一区二区在线视频 | 亚洲色图清纯唯美 | 在线午夜电影 | 欧美打屁股 | 国产天堂久久 | 性开放淫合集 | 日韩欧美中文在线 | 一本一道av| 国产一区在线观看免费 | 国产日韩欧美在线观看 | 91毛片观看 | 亚洲宗人网 | 青青成人 | 色秀视频在线观看 | 国产精品后入内射日本在线观看 | 欧美一级淫 | 免费福利在线观看 | av黄色免费在线观看 | 黄色在线播放视频 | 阿v天堂在线观看 | 婷婷五月综合久久中文字幕 | 哪个网站可以看毛片 | 强伦人妻一区二区三区 | 天天做天天干 | 俺也去在线视频 | 黄色a区 | 四虎一区二区三区 | 午夜激情综合 | 亚洲天堂av一区二区三区 | 久久久一区二区 | 最新av女优| 被扒开腿一边憋尿一边惩罚 | 99色婷婷| 健身教练巨大粗爽gay视频 | 淫五月| 黄色一级带 | 黄色片在线观看免费 | 成人短视频在线观看 | 日日操狠狠操 | 国产一级高清视频 | 91欧美在线视频 | 性爱视频在线免费 | 国产精品网址 | 欧美xxxx免费虐 | 九九碰 | 免费涩涩视频 | 欧美一区二区三区视频在线观看 | 国产精品资源网 | 亚洲情趣| 色悠悠国产精品 | 日韩亚洲精品在线 | 亚洲欧美一区二区三区四区 | 三级做爰在线观看视频 | 国产成人无码精品久久 | 日韩亚洲精品视频 | 久久综合中文字幕 | 妞妞av | 国产女主播一区二区 | 丰满熟妇人妻中文字幕 | 黄色小说在线观看视频 | 欧美视频91 | 久久激情小说 | 国产精品美女久久久久久久久 | 干爹你真棒插曲mv在线观看 | 亚洲精品视频在线 | 无码人妻精品一区二区三应用大全 | 国产成人在线观看 | 国产乱码av | 91在线色| 久久99一区 | 奇米一区二区三区 |