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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Xorequ(BZOJ3329+数位DP+斐波那契数列)

發布時間:2025/4/14 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Xorequ(BZOJ3329+数位DP+斐波那契数列) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目鏈接

傳送門

思路

\(a\bigoplus b=c\rightarrow a=c\bigoplus b\)得原式可化為\(x\bigoplus 2x=3x\)

又異或是不進位加法,且\(2x=1<<x,3x=(1<<x)+x\),因此可知\((x\&2x)=0\),也就是說\(x\)的二進制中沒有相鄰的\(1\)

第一問就可以用數位\(DP\)來寫。

對于第二問我們可以考慮遞推式,我們定義\(f(x)\)表示\(2^x\)時滿足等式的數的個數,則

  • 如果第\(n\)位是\(1\),那么第\(n-1\)位就必須是\(0\),此時就相當于忽略第\(n,n-1\)位,轉變成最高位是\(n-2\)的個數,因此\(f(n)\)可以從第\(n-2\)位轉移過來;
  • 如果第\(n\)位是\(0\),那么就相當于忽略第\(n\)位,轉變成最高位是\(n-1\)的個數,因此\(f(n)\)可以從第\(n-1\)位轉移過來。

最后得到遞推式\(f(n)=f(n-1)+f(n-2)\),也就是斐波那契數列,注意該遞推式中的\(n\)是指\(2\)進制中最高位是多少,也就是題目中的\(n-1\),因次本題答案是\(f(n+1)\)

其實這兩個規律可以通過打表找出來的~

代碼

#include <set> #include <map> #include <deque> #include <queue> #include <stack> #include <cmath> #include <ctime> #include <bitset> #include <cstdio> #include <string> #include <vector> #include <cassert> #include <cstdlib> #include <cstring> #include <iostream> #include <algorithm> using namespace std;typedef long long LL; typedef pair<LL, LL> pLL; typedef pair<LL, int> pLi; typedef pair<int, LL> pil;; typedef pair<int, int> pii; typedef unsigned long long uLL;#define lson rt<<1 #define rson rt<<1|1 #define lowbit(x) x&(-x) #define name2str(name) (#name) #define bug printf("*********\n") #define debug(x) cout<<#x"=["<<x<<"]" <<endl #define FIN freopen("/home/dillonh/CLionProjects/Dillonh/in.txt","r",stdin) #define IO ios::sync_with_stdio(false),cin.tie(0)const double eps = 1e-8; const int mod = 1000000007; const int maxn = 50000 + 7; const double pi = acos(-1); const int inf = 0x3f3f3f3f; const LL INF = 0x3f3f3f3f3f3f3f3fLL;int t; LL n; int a[62]; int f[3], base[3][3]; LL dp[62][2][2][2];LL dfs(int pos, int pre, int flag, bool limits, bool lead) {if(pos == -1) return flag && (!lead);if(!limits && dp[pos][pre][flag][lead] != -1) return dp[pos][pre][flag][lead];int up = limits ? a[pos] : 1;LL ans = 0;for(int i = 0; i <= up; ++i) {if(i == 0) ans += dfs(pos - 1, 0, flag, limits && i == a[pos], lead);else ans += dfs(pos - 1, 1, flag && (pre != 1), limits && a[pos] == i, 0);}if(!limits) dp[pos][pre][flag][lead] = ans;return ans; }LL solve(LL x) {int len = 0;while(x) {a[len++] = x % 2;x >>= 1;}return dfs(len - 1, 0, 1, 1, 1); }void mul() {int c[3];memset(c, 0, sizeof(c));for(int i = 0; i < 2; ++i) {for(int j = 0; j < 2; ++j) {c[i] = (c[i] + 1LL * f[j] * base[j][i] % mod) % mod;}}memcpy(f, c, sizeof(c)); }void mulself() {int c[3][3];memset(c, 0, sizeof(c));for(int i = 0; i < 2; ++i) {for(int j = 0; j < 2; ++j) {for(int k = 0; k < 2; ++k) {c[i][j] = (c[i][j] + 1LL * base[i][k] * base[k][j] % mod) % mod;}}}memcpy(base, c, sizeof(c)); }int main() { #ifndef ONLINE_JUDGEFIN; #endifmemset(dp, -1, sizeof(dp));scanf("%d", &t);while(t--) {scanf("%lld", &n);printf("%lld\n", solve(n));base[0][0] = 1, base[0][1] = 1;base[1][0] = 1, base[1][1] = 0;f[0] = f[1] = 1;while(n) {if(n & 1) mul();mulself();n >>= 1;}printf("%d\n", f[0]);}return 0; }

轉載于:https://www.cnblogs.com/Dillonh/p/11327901.html

總結

以上是生活随笔為你收集整理的Xorequ(BZOJ3329+数位DP+斐波那契数列)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 欧美日本韩国一区二区 | 日韩精品乱码 | 国产精品色网 | 亚洲国产精品激情在线观看 | 免费无毒av | 秘密基地动漫在线观看免费 | 大色综合 | 黄色性情网站 | 成人做爰69片免费看 | 色噜噜狠狠一区二区三区 | caobi视频| 成人网页在线观看 | 欧美自偷自拍 | 亚洲av永久无码精品一区二区国产 | 中文字幕在线观看视频一区二区 | 亚洲av综合av一区二区三区 | 欧美三级在线观看视频 | 成人免费网站在线 | 永久免费在线观看视频 | 日韩一级片av | 淫妹妹影院 | 一区二区视频免费在线观看 | 动漫美女露胸网站 | 日韩视频在线观看免费 | 国产白袜脚足j棉袜在线观看 | 欧美三级欧美成人高清 | 女人张开腿让男人桶爽 | 婷婷tv | av片观看| 成人必看www. | 全黄毛片 | 国产娇小hdxxxx乱 | 亚洲av成人精品日韩在线播放 | 亚洲免费黄色 | www污网站| 亚洲色图视频在线观看 | 中文字幕在线免费 | 久久99精品久久久久久琪琪 | 亚洲天堂视频在线观看 | 日本在线一区 | www.亚洲激情 | 黄色一级视频免费观看 | 国产午夜精品在线观看 | 国产又大又粗又硬 | 99在线免费观看视频 | 精品+无码+在线观看 | 熟妇的味道hd中文字幕 | 成人免费视屏 | 成年人在线观看网站 | 特色黄色片 | 免费亚洲视频 | 99re国产精品 | 99久草| 亚洲国产成人精品女人久久久 | 爽妇综合网 | 人妻久久一区二区三区 | 三上悠亚在线一区二区 | 国产在线色视频 | 97精品熟女少妇一区二区三区 | 亚洲成人激情视频 | 91精品国产综合久久国产大片 | 四季av一区二区三区免费观看 | 成人精品福利 | www国产在线观看 | 超能一家人电影免费喜剧在线观看 | 国产91久久精品一区二区 | 亚洲欧美一 | 成人在线精品 | 日韩经典午夜福利发布 | 久久免费看视频 | 黄色一级免费看 | 欧美成人精品在线观看 | 中文字幕在线观看免费高清 | 三级av毛片| 亚洲男女激情 | 美女主播在线观看 | 美痴女~美人上司北岛玲 | 91中文字幕在线观看 | 黄色天天影视 | 超级碰在线观看 | 麻豆日韩 | 777奇米色| 日韩色在线 | www.亚洲人 | www.国产黄色| www.香蕉视频.com| 中文字幕无产乱码 | 欧美一级淫片免费视频黄 | 爱爱福利社 | 中文有码视频 | 女优色图 | 久爱精品| 国产高清精品软件丝瓜软件 | 免费精品视频 | 欧美日韩国产在线一区 | 欧美伦理一区 | 亚洲三级大片 | 在线中文字幕第一页 | 国产91色|