摘要:
很显然,i和j不同时,A[i]+A[j]会被异或两次,也就是没有异或。所以只要把每个数的二倍异或一遍(或者异或一遍最后乘2)就可以得到答案。 1 #include 2 #include 3 #include 4 using namespace std; 5 6 typedef long lo... 阅读全文
摘要:
由于只删除最小值和只查询最大值,所以我们只要维护一个maxn和一个size即可,需要注意的是删除到集合空时需要重新将maxn赋值为无穷小。 1 #include 2 #include 3 #include 4 using namespace std; 5 6 int main () 7 { ... 阅读全文
摘要:
最基本的求割点的题目,建议深入理解该dfs的过程,还有就是对于同一个点来说,满足它是割点的条件可能会成立多次,所以一定要在dfs结束后统计割点个数,而不是在dfs的过程中实现。 1 #include 2 #include 3 #include 4 using namespace std; 5 ... 阅读全文