題意
zeus 和 prometheus 做了乙個遊戲,prometheus 給 zeus 乙個集合,集合中包含了n個正整數,隨後 prometheus 將向 zeus 發起m次詢問,每次詢問中包含乙個正整數 s ,之後 zeus 需要在集合當中找出乙個正整數 k ,使得 k 與 s 的異或結果最大,輸出k(共有t組樣例,(t < 10),n,m(<1=n,m<=100000))
分析
將每個數插入到線段樹後,對於每個s貪心的在字典樹上走走即可
#include#define ll long longview codeusing
namespace
std;
const
int maxn = 1e5+10
;int
tot;
ll o;
int nt[32*maxn][2
];int cnt[32*maxn];
inta[maxn];
intn;
intnewnode()
void insert(int
rt, ll k)
else
}}ll query(
intrt, ll k)
else
}else
else}}
returno;}
intmain()
printf(
"case #%d:\n
", pp++);
while(m--)
}return0;
}
**不明
題意
給n個數,從中取兩個數,問xor的最大值(1<=1e5)
分析
將n個數插入到字典樹中,貪心的在上面走走即可
經典演算法之字典樹
簡介 字典樹 字首樹 是字串匹配問題的常用演算法之一,是kmp演算法的公升級版本,kmp解決單一字串匹配問題效果極佳,但是對於多個字串匹配的問題,需要使用字典樹效果才顯著。include using namespace std const int num 26 typedef struct trie...
hdu 2846 經典字典樹
思路 因為字典樹只能讀取字首有多少個相同的,對於求子串可以將字串分成 多個字串看成單獨的字串 進行建 字典樹,但要注意這兩個字串 abab,ab 他們的字串都有 ab a 所以在建樹時 判斷是否同乙個字串 不同就加 1 include include include include using na...
主席樹 字典序 牛客 經典字串問題
經典字串問題 給定nn n個數,有q qq次詢問,詢問 l,r l,r l,r 的第k kk大,如果沒有答案輸出 1 1 1需要把每乙個數當作字串。注意字典序的判定 主題題目要求的是第k小 把輸入按字典序排序,記錄ran krank rank 然後直接套主席樹靜態求區間第k kk小。include ...