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