HDU 5416(思路題目)

2021-07-04 17:52:43 字數 712 閱讀 6055

題意:

給定一棵樹,要求統計所有的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...