nit · lca!
任意根求lca:lca(root,u,v)
lca(u,v)、lca(root,u)、lca(root,v)三者中深度最大的那個點
坑點:cin輸入會t
#include
using
namespace std;
const
int n =
1e5+10;
vector<
int> e[n]
;int n, m, k;
int log[n]
;//log2(x)
int fa[n][20
];int dep[n]
;//樹的深度
//常數初始化
void
initlog()
}void
dfs(
int u,
int f)
for(
int i =
0; i < e[u]
.size()
;++i)
}int
lca(
int u,
int v)
}return fa[u][0
];}int
main()
dfs(1,
0);scanf
("%d"
,&m)
;int rt, u, v, a, b, c;
while
(m--
)return0;
}
nit · 最大限定倍數(normal version)
打表發現規律
正解:整數分塊
#include
using
namespace std;
typedef
long
long ll;
ll n;
intmain()
cout << res << endl;
return0;
}
nit · 棋盤(easy version)
#include
using
namespace std;
typedef pair<
int,
int> pii;
const
int dir[4]
[2]=
;#define between(x, a, b) (a<=x && x<=b)
int n;
string s;
int pre_mp[10]
[10];
int mp2[10]
[10];
int c[10]
;int v[10]
[10];
queue q;
intbfs()
);while
(!q.
empty()
));}
}}}}
}return res;
}int ans[10]
;int min =
0x3f3f3f3f
;int ed =(1
<<5)
;void
dfs(
int u,
int sum)
return;}
for(
int i = c[u]
; i < ed; i++)if
(cnt + sum > min)
continue
;dfs
(u +
1, sum + cnt);}
}}intmain()
else}}
dfs(1,
0); cout << min << endl;
return0;
}
nit · 樹行棋
普通nim博弈:
演算法:將所有堆的石子都異或起來,如果答案等於0,先手必敗(p-position),反之,先手必勝
#include
using
namespace std;
const
int n =
1e6+10;
vector<
int> e[n]
;int n;
int cnt[n]
;int res =0;
void
dfs(
int u,
int f,
int dep)}}
intmain()
res =0;
for(
int i =
1, x; i <= n; i++
)for
(int i =
1; i <= n; i++
)dfs(0
,0,0
);if(res) cout <<
"dogewang"
<< endl;
else cout <<
"dogenya"
<< endl;
}return0;
}
多校訓練 The Oculus
題目 題意 乙個正整數可以用斐波那契數列數列表示。bi取1表示存在當前第i個斐波那契數,取0則為不存在。現給定a,b,c斐波那契數列表示,問a b與c修改哪一位b後相等。思路 直接判斷兩個數相等?如下 一直沒過。include using namespace std typedef long lon...
寧波市第三屆網路安全大賽(NSCTF)WP
開啟環境,印象裡是有一句話 只有本地管理員才能訪問,你想越權訪問嗎?這就很明顯了,當然想越權訪問,不然怎麼拿flag?而拿flag的條件很明顯有兩個 1.本地 2.管理員 burpsuite抓包 印象裡訪問頭里有乙個user guest,簽到題嘛,很明顯就是改一下user admin,就滿足了第二個...
Contest 多校訓練 985專場)
contest 多校訓練 985專場 problem e 985的買飲料難題 time limit 1 sec memory limit 128 mb submit 221 solved 118 submitstatusweb boarddescription 天氣太熱了,985制定了對未來的規劃即...