2014百度之星資格賽解題報告:Xor Sum
#include <iostream> #include <cstdio> #include <cstdlib> #define LENGTH 32 #define MAXN 100000 using namespace std; typedef struct node{ node *next[2]; bool flag; }; node Head; node arr[LENGTH * MAXN]; int nodeCount; node *GetNewNode(){ if (nodeCount >= LENGTH * MAXN) { printf("ERROR : node count full!"); exit(1); } arr[nodeCount].next[0] = NULL; arr[nodeCount].next[1] = NULL; arr[nodeCount].flag = false; return &(arr[nodeCount++]); } void Init(){ nodeCount = 0; Head.next[0] = NULL; Head.next[1] = NULL; Head.flag = false; } void insertNode(unsigned int num){ node *p = &Head; int temp; for (int i = LENGTH - 1; i>=0; i--){ if (((1<<i)&num) != 0){ temp = 1; } else { temp = 0; } if (p->next[temp] == NULL){ p->next[temp] = GetNewNode(); } p = p->next[temp]; } p->flag = true; } unsigned int searchNode(unsigned int s){ unsigned int k; node *p = &Head; int temp; k = 0; for (int i = LENGTH - 1; i>=0 ;i--){ if (((1<<i)&s) != 0){ temp = 0; } else { temp = 1; } if (p->next[temp] == NULL){ k = (k << 1) + (temp ^ 1); p = p->next[temp ^ 1]; } else { k = (k << 1) + temp; p = p->next[temp]; } } return k; } int main(){ int n , m ; unsigned int k , s; Init(); int case_count = 0; scanf("%d", &case_count); int case_index = 0; while ((case_count--) && scanf("%d%d" , &n , &m) != EOF){ case_index++; printf("Case #%d:\n", case_index); Init(); for (int i = 0; i < n; i++){ scanf("%u",&k); insertNode(k); } for (int i = 0; i < m; i++){ scanf("%u" , &s); k = searchNode(s); printf("%u\n" , k); } } return 0; }
相關推薦
2014百度之星資格賽解題報告:Xor Sum
#include <iostream> #include <cstdio> #include <cstdlib> #define LENGTH 32 #define MAXN 100000 using namespace std; typedef struct node{
百度之星資格賽,hdu 4825 XOR SUM
顯然是要建一棵0、1樹 其實很簡單就是二叉樹,只不過為了操作簡便,即程式的速度,所以就採用靜態樹,即不動態分配記憶體,使用較大的全域性陣列。0是根節點 #include<cstdio>
2014百度之星資格賽題解
.cn -i lan while pro acm 起點 pos con 比賽鏈接:點擊打開鏈接 ,,杭電把比賽關了代碼都找不到了。。 無責任民科還是mark一下好了。。 HDU 4823 Energy Conversion 把式子變換一下發現是一個等比數列,高速冪就可以
2014百度之星資格賽第三題
字符串 struct uri hit other printf 能夠 ava 單獨 Xor Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 132768/132768 K (Java/Others
2014百度之星資格賽4題
歐幾裏得 font define ria min read span post eight 因為都是中文題。題意就不寫了。 A、Energy Conversion 這題先推斷一下能量能否添加,然後再依據添加這個公式去求出一個等比公式。就能夠直接求出須
2014百度之星資格賽——XOR SUM
#include<cstdio> #include<cstdlib> #include<iostream> #define LL long long using namespace std; LL power[32]; typedef struct TrieNode
ACM-百度之星資格賽之Energy Conversion——hdu4823
ios break get enter span bmi ria hint -c Energy Conversion Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Jav
2014 百度之星 1003 題解 Xor Sum
dsm xor 難題 ane rac pro 數據包 20px weight Xor Sum Problem Description Zeus 和 Prometheus 做了一個遊戲,Prometheus 給 Zeus 一個集合,集合中包括了N個正整數,隨後 P
2017百度之星資格賽 1003:度度熊與邪惡大魔王(DP)
solution nav normal ner 就會 預處理 display badge rate 度度熊與邪惡大魔王 Accepts: 3021 Submissions: 18787 Time Limit: 2000/1000 MS (Java/Ot
2017百度之星資格賽 1003 度度熊與邪惡大魔王 背包DP
log accep 防禦 ssi str 完全背包 time 怪物 amp 度度熊與邪惡大魔王 Accepts: 3027 Submissions: 18837 Time Limit: 2000/1000 MS (Java/Others) Memor
度度熊的午飯時光 2017百度之星資格賽 -.-
set others spa 字典序 info iostream 最小 long long 預算 度度熊的午飯時光 Accepts: 755 Submissions: 8737 Time Limit: 2000/1000 MS (Java/Others)
2017 百度之星 資格賽 題解
真心 數據 targe 比較 blog png 防禦 href 普通 百度之星 2017 資格賽 題解(原創)(2~5題 第一題方法是錯的 第二題數據太水 並不會正解) 轉載請註明出處http://www.cnblogs.com/nflslzt/p/7302377.html
2014百度之星初賽第一場部分題解
ref 連接 又是 百度之星 虛擬 子節點 get content trac 代碼太醜就不貼了。,又是一篇無責任民科的題解。。 HDU 4828 Grids 看了一下跟卡特蘭數差點兒相同就猜了一下,詳細為啥我也不知道。。然後有除法套個逆元。。 HDU 4830
【2018百度之星資格賽】 A 問卷調查 - 位運算&動規
blog 題目 相同 clas 方程 數組 cstring div col 題目地址:http://bestcoder.hdu.edu.cn/contests/contest_showproblem.php?cid=820&pid=1001 參考博客:在此感謝ht
2018百度之星資格賽 1001調查問卷(狀壓dp)
百度之星 一行 problem nts 數據 output 兩張 href bestcode 調查問卷 Accepts: 1289 Submissions: 5642 Time Limit: 6500/6000 MS (Java/Others
2018 百度之星資格賽 1001 調查問卷
題目連結:http://acm.hdu.edu.cn/showproblem.php?pid=6344 題意:給n份問卷,每個問卷m道題,每題只有A,B兩種選項,問存在多少個問題集合,使得只保留這些問題後至少k對卷子不同。 題解:剛開始做的時候,沒有什麼思路,因為要求至少K對
2018百度之星資格賽___1001調查問卷——狀態壓縮
補題連結:傳送門 題目大意: 有TTT組樣例,nnn份問卷,每份問卷有mmm個問題,答案由A或B組成(相當於nnn條長度為mmm的01序列),在這mmm個問題中任意選取一部分,要使這新的零散問卷互不相同,且至少有k對,問這樣選取一共有多少種方案??? 解題思
2017百度之星資格賽題解
度度熊為了拯救可愛的公主,於是與邪惡大魔王戰鬥起來。 邪惡大魔王的麾下有n個怪獸,每個怪獸有a[i]的生命值,以及b[i]的防禦力。 度度熊一共擁有m種攻擊方式,第i種攻擊方式,需要消耗k[i]的晶石,造成p[i]點傷害。 當然,如果度度熊使用第i個技能打在第j個怪獸上面的話,會使得第j個怪獸的生命值減少p
2016百度之星 資格賽ABCDE
A.題意:定義小寫字母組成的字串的雜湊值,為(單個字母的ASCII碼減去28)的乘積。給出長度最多為100000的字串和最多1000次詢問,每次詢問[L,R]之間的字串的雜湊值。 題解: 有多種做法。 1.逆元 2.線段樹 3.分塊陣列 1.逆元做法:因為每次求區間[L,R]乘積,可以
【百度之星資格賽】F:百科蝌蚪團
時間限制: 1000ms 記憶體限制: 65536kB 描述 百度百科有一支神奇的隊伍,他們叫自己“百科蝌蚪團”。為了更好的讓蝌蚪團的成員們安排工作,百度百科的運營團隊定出了一個24小時制的時間表。例如: 1. 每個蝌蚪團成員工作時長相同; 2. 必須安排蝌蚪團成員在