最大異或的通解——轉換成trie問題
暴力dfs情況,我dp跑達到1e11,哪肯定不行,我們只需要考慮對角線的情況,每個位置的最大計數為1e5,左上情況構造trie,由下情況貪心查詢trie即可
起點(1,1,),終(n,n),尋找一條路徑從起點到終點的異或和再異或e最大的值。
//#pragma gcc optimize(2)
#include
//typedef long long ll;
#define ull unsigned long long
//#define int long long
#define f first
#define s second
#define endl "\n"
//<#define eps 1e-6
#define base 131
#define lowbit(x) (x&(-x))
#define pi acos(-1.0)
#define inf 0x3f3f3f3f
#define maxn 0x7fffffff
#define inf 0x3f3f3f3f3f3f3f3f
#define ferma(a,b) pow(a,b-2)
#define pb push_back
#define all(x) x.begin(),x.end()
#define memset(a,b) memset(a,b,sizeof(a));
#define ios ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
using
namespace std;
void
file()
const
int n=
1e5+5;
int sca[20]
[20],n,e,ans;
int son[20]
[n*32][
2],pos[20]
;void
insert
(int tag,
int num)
}void
query
(int tag,
int num)
ans=
max(ans,sum);}
void
dfs1
(int x,
int y,
int v)
void
dfs2
(int x,
int y,
int v)
signed
main()
牛客練習賽37 C題筱瑪的迷陣探險
牛客練習賽37 c題筱瑪的迷陣探險 ps 需要前置技能 dfs和字典樹 二分dfs 分別從 1,1 和 n,n 開始走n步,會發現無論如何走最後都會到達對角線上 找出對角線上對應的每個可能結果,開倆個陣列,分別存在倆個陣列中,在對應的點上的集合上,乙個插入到字典樹中,另乙個查詢和它異或最大的數。in...
牛客練習賽49 筱瑪愛線段樹 思維
太久沒做題了,看著有牛客就打了一場,果然自閉 題目大意也很明確,給定乙個長度為n,初始全為0的樹組。給定以下兩種操作 思維退化太快。開始老是想著建乙個可持久化的,或者怎瞎搞,發現複雜度都降不下來。後來絕處逢生,想到了將所有的操作倒著做,記錄每乙個操作被後面的操作總共引用了多少次,完美解決。複雜度也能...
牛客練習賽B題 筱瑪的排列(找遞推規律)
筱瑪的排列 時間限制 c c 1秒,其他語言2秒 空間限制 c c 524288k,其他語言1048576k 64bit io format lld 筱瑪是乙個快樂的男孩子。筱瑪在一次數學考試中看到了這樣一道題 求有多少個長度為 n 的不同的排列 a,滿足對於任意的 i 均有 a a i i n 1...