題意:
給定一棵樹,要求統計所有的f(u,v),使得路徑上的權值異或之和為乙個查詢值, 魅族資料查詢數至多為10
解析:從 f[u->v] = f(u->1 )^(1->v);這樣先預處理f(1->i)然後統計即可,注意統計的時候 cnt陣列要開到 (1<<17)
因為路徑權值不超過1e5,至多為17位二進位制數。異或最大值不超過(1<<17);
#include#include#include#include #include using namespace std;
#define rep(i,n) for(int i=0;i<(int)n;i++)
#define rep1(i,x,y) for(int i=x;i<=(int)y;i++)
const int n = (1e5)+1100;
int cnt[1<<17],d[n],n;
struct node };
vectorg[n];
void dfs(int u,int val,int fa)
}int main()
dfs(1,0,-1);
int q,nee; scanf("%d",&q);
for(int i=1;i<=q;i++)
for(int i=1;i<=n;i++) cnt[d[i]]=0;
}return 0;
}
HDU 5242 思路題目
本題目給定一顆以1為根的樹,每個節點都有乙個權,記,從根走到葉子節點的一條線為一條路,問從根走到葉子k次,最多可以得到得到的權和。被走過的點的權不再被疊加。1 n,k 100000 思路 首先這題目,不適合樹形揹包,資料範圍太大,樹形揹包大概是被背數量上限的平方的複雜度即k 2。可以用貪心的思想來做...
leetcode題目思路
一 bruteforce o n 2 o 1 二 兩邊雜湊表 一遍雜湊表 o n o n 一 bruteforce o n 3 o 1 二 排序 雙指標 o n 2 去重 剪枝 four sum 排序 雙層迴圈 雙指標 棧 o n o n 擴充套件 只有一種括號?最長有效括號?leetcode 32...
ctf部分題目思路
一 ctf工具 web 1.firefox hackbar,firebug,tamper data,user agent switcher 2.burpsuite 3.sqlmap 隱寫 1.stegsolve 2.winhex 3.notepad 4.qr resuarch 5.binwalk 6...