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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

CF1034E Little C Loves 3 III(神仙构造+FWT_OR卷积)

發布時間:2023/12/3 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CF1034E Little C Loves 3 III(神仙构造+FWT_OR卷积) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

title

題目

solution

先說很神仙的結論構造:對于aia_iai?ai=vi?4pop_count(i)a_i=v_i*4^{pop\_count(i)}ai?=vi??4pop_count(i)bbb同理
ci=∑j∣k=iai?bjc_i=\sum_{j|k=i}a_i*b_jci?=jk=i?ai??bj?,則ansi≡ci4pop_count(i)mod4ans_i\equiv \frac{c_i}{4^{pop\_count(i)}}\mod 4ansi?4pop_count(i)ci??mod4

證明:pop_count(i)+pop_count(j)≥pop_count(i∣j)pop\_count(i)+pop\_count(j)\ge pop\_count(i|j)pop_count(i)+pop_count(j)pop_count(ij)
i&j=0i\&j=0i&j=0,對答案將有貢獻
4pop_count(i)×4pop_count(j)4pop_count(i∣j)=1\frac{4^{pop\_count(i)}\times 4^{pop\_count(j)}}{4^{pop\_count(i|j)}}=14pop_count(ij)4pop_count(i)×4pop_count(j)?=1
i&j≠0i\&j≠0i&j?=0,模444000,無貢獻
4pop_count(i)×4pop_count(j)4pop_count(i∣j)=4x,x∈N?\frac{4^{pop\_count(i)}\times 4^{pop\_count(j)}}{4^{pop\_count(i|j)}}=4^x,x∈N^*4pop_count(ij)4pop_count(i)×4pop_count(j)?=4x,xN?
構造非常巧妙,一般來說是不可能自己想得出來的;這種結論都是難知道卻好證
o(╥﹏╥)o I’m so vegetable!

code

#include <cstdio> #define int long long #define maxn 2100000 int n, N; int a[maxn], b[maxn], c[maxn];void FWT_or( int *v, int opt ) {for( int i = 1;i < n;i <<= 1 )for( int j = 0;j < n;j += ( i << 1 ) )for( int k = 0;k < i;k ++ )v[j + k + i] += opt * v[j + k]; }signed main() {scanf( "%d", &N );n = 1 << N;for( int i = 0;i < n;i ++ ) scanf( "%1lld", &a[i] );for( int i = 0;i < n;i ++ ) scanf( "%1lld", &b[i] );for( int i = 0;i < n;i ++ ) a[i] <<= ( __builtin_popcount( i ) << 1 );for( int i = 0;i < n;i ++ ) b[i] <<= ( __builtin_popcount( i ) << 1 );FWT_or( a, 1 ), FWT_or( b, 1 );for( int i = 0;i < n;i ++ ) c[i] = a[i] * b[i];FWT_or( c, -1 );for( int i = 0;i < n;i ++ ) c[i] = c[i] >> ( __builtin_popcount( i ) << 1 ) & 3;for( int i = 0;i < n;i ++ ) printf( "%lld", c[i] );return 0; }

總結

以上是生活随笔為你收集整理的CF1034E Little C Loves 3 III(神仙构造+FWT_OR卷积)的全部內容,希望文章能夠幫你解決所遇到的問題。

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