思维
日川钢板、
这个作者很懒,什么都没留下…
展开
-
HDU - 6186(异或运算)
题意:给定n 个数和 q 个查询, qi 为查询数,求去掉 下标为qi 的元素后其他元素 and , or , xor的结果 分析:对于xor 直接 ^ a[qi] 即可,其它则考虑a[qi] 二进制每一位为1或0的情况,当只有这个数当前位为1 的时候,or 结果去掉当前位,当只有这个数当前位为0的时候,and 加上当前位 #include #include #include #include #include using namespace std; typedef long long int转载 2021-05-12 16:22:49 · 129 阅读 · 0 评论 -
E - Another Postman Problem FZU - 2038
题目大意:求每个点到其他所有点的总距离。 思路:可以转化为一共经过每个边多少次。对于每一个边,经过这个边的次数为sum_lsum_r2(这个边的左子树端点个数sum_l和右子树端点个数sum_r)。 关键点:求每条边的子树端点个数。 用dfs遍历图求解 #include<cstdio> #include<iostream> #include<cstring> #include<algorithm> #include<queue> #include&原创 2021-05-12 16:16:40 · 84 阅读 · 0 评论 -
二维离散化模板
int n; int x[M], y[M]; vector<int>vx, vy; void init() { sort(vx.begin(), vx.end()); sort(vy.begin(), vy.end()); vx.erase(unique(vx.begin(), vx.end()), vx.end()); vy.erase(unique(vy.begin(), vy.end()), vy.end()); for (int i = 1; i转载 2021-04-12 15:37:57 · 99 阅读 · 0 评论