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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Codeforces Round #482 (Div. 2)

發(fā)布時間:2025/3/21 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Codeforces Round #482 (Div. 2) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

D. Kuro and GCD and XOR and SUM

字典樹真好玩。。。

牛老板提供的思路:建1e5個 字典樹,每個數(shù)插入到以它的因子為根所在的字典樹中,這樣就實現(xiàn)了整除,當然gcd(k, x) = k是必須的

然后如何保證v + x <= s 和 v ^ x 最大呢?

對于v + x <= s,我們可以維護01字典樹中,經(jīng)過每個節(jié)點的最小值,這樣我們在訪問每個節(jié)點時,直接min + x <= s 判斷是否成立即可, 不成立就不用往下走了,因為最小值都不成立。

對于v ^ x最大,就是一般字典樹思路了,~x與字典樹比較選相同的位走,并且同時判斷不等式條件就可以啦。

#include <bits/stdc++.h> using namespace std; typedef long long ll; const int maxn = 1e5 + 50; struct node {int next[2];int v; }; node tree[maxn * 200]; int root[maxn]; int sz = 1; void build(int p, int x) {if(!root[p]) root[p] = sz++;int tmp = root[p];for(int i = 20; i >= 0; i--){int id = (x >> i) & 1;if(tree[tmp].next[id] == 0){memset(tree[sz].next, 0, sizeof(tree[sz].next));tree[sz].v = 1e6;tree[tmp].next[id] = sz++;}tmp = tree[tmp].next[id];tree[tmp].v = min(tree[tmp].v, x);} } void match(int k, int s, int x) {int par = root[k];if(par == 0){printf("-1\n");return;}int fx = ~x;// printf("%d\n", ((fx >> 1) & 1));int ans = 0;int flag = 0;for(int i = 20; i >= 0; i--){int id = (fx >> i) & 1;if(tree[par].next[id] && (tree[tree[par].next[id]].v + x) <= s) ///維護最小值,表示最少存在這樣的解 {ans = tree[tree[par].next[id]].v;par = tree[par].next[id];}else if(tree[par].next[1 - id] && (tree[tree[par].next[1 - id]].v + x) <= s){ans = tree[tree[par].next[1 - id]].v;par = tree[par].next[1 - id];}else{flag = 1;break;}}if(flag || (!ans)){printf("-1\n");}else{printf("%d\n", ans);} } int gcd(int a, int b) {return b == 0 ? a : gcd(b, a % b); } int main() {memset(root, 0, sizeof(root));int q; scanf("%d", &q);while(q--){int t;scanf("%d", &t);if(t == 1){int u; scanf("%d", &u);for(int i = 1; i * i <= u; i++){if(u % i == 0) ///i是u的因子 {build(i, u);build(u / i, u);}}}else{int x, k, s;scanf("%d %d %d", &x, &k, &s);int g = gcd(k, x);if(g != k){printf("-1\n");}else{match(k, s, x);}}} } Code

?

轉載于:https://www.cnblogs.com/littlepear/p/9041937.html

總結

以上是生活随笔為你收集整理的Codeforces Round #482 (Div. 2)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 色综合欧美 | a视频在线 | 亚洲综合一 | 久久91亚洲| 性日本xxx | 精品久久毛片 | 日本精品免费在线观看 | 人人澡人人澡人人澡 | 激情av网站| 性色av网址| 日韩综合av | 亚洲一区二区三区四区视频 | 久在线播放 | 综合天天色 | 不卡在线播放 | 成人av片在线观看 | 天天插天天爽 | 精品无码一区二区三区爱欲 | 久久艹免费视频 | 欧美特级毛片 | 亚洲精品乱码久久久久久按摩观 | 性xxxx搡xxxxx搡欧美 | 久久伊 | 宿舍女女闺蜜调教羞辱 | 波多野结衣一区二区三区 | 五月香婷婷 | 久国久产久精永久网页 | 人妻互换 综合 | 亚洲欧美另类一区 | 伦av综合一区| 亚洲永久无码精品 | 黄a免费网络| 99久久久无码国产精品性色戒 | 久久久亚洲成人 | 日本69熟| 国产999在线观看 | 亚洲天堂一 | 亚洲啊啊 | 农村搞破鞋视频大全 | 亚洲一区二区精品在线观看 | 亚洲在线中文字幕 | 亚洲第一视频 | 黄色网址免费 | 中文人妻熟女乱又乱精品 | 国产精品久久久久毛片软件 | 国产老肥熟 | 成年人午夜视频 | 国产在线国偷精品免费看 | 极品销魂美女一区二区三区 | 一边吃奶一边摸做爽视频 | 国产乡下妇女做爰毛片 | 一区二区三区四区在线观看视频 | 邻居少妇张开腿让我爽了在线观看 | www.xxxx欧美 | 日韩av高清无码 | 日本男女网站 | 日产av在线播放 | 国产高清小视频 | 国产精品三级久久久久久电影 | 日韩成人一区二区三区 | 色图自拍 | 亚洲精品免费在线视频 | 亚洲午夜精品久久久久久人妖 | 艳妇乳肉豪妇荡乳av | 国产+日韩+欧美 | 国产欧美一区二区在线观看 | 国产农村妇女精品一区二区 | 毛茸茸亚洲孕妇孕交片 | 欧美专区第二页 | 午夜视频久久久 | 日本护士╳╳╳hd少妇 | 北条麻妃在线一区二区 | 香蕉视频网站入口 | 色妇av| 精品动漫一区二区三区 | 日日噜噜噜噜久久久精品毛片 | 小蝌蚪视频色 | 蜜桃免费在线视频 | 欧美一级性生活 | 日日骚av| 亚洲色图久久 | 视频一区二区三区四区五区 | 国产福利不卡视频 | 国产精品精华液网站 | 国产视频一区二区三区四区五区 | 黄色在线观看国产 | 中字av在线| 国产精品电影网 | 女人床技48动态图 | 日韩精品一区二区av | 黄色免费在线观看网站 | 可以免费看的黄色网址 | 99视频网站 | 无码国产精品一区二区免费式直播 | 91色国产| 日韩免费成人 | 奇米影视久久久 | 成人激情综合 | av高清 |