摘要: 半平面交。 半平面指的就是一条直线的左面(也不知道对不对) 半平面交就是指很多半平面的公共部分。 这道题的解一定在各条直线的半平面交中。 而且瞭望塔只可能在各个点或者半平面交折线的拐点处。 求出半平面交,枚举即可。 #include #include #include #include #define eps 1e-7 using namespace std; const int... 阅读全文
posted @ 2016-07-09 19:27 invoid 阅读(364) 评论(0) 推荐(0) 编辑
摘要: 玄学,位运算。 首先1到n的路径可以看作一条简单路径和套很多环。由于异或的特性直接走和绕环一次再走是有区别的。 预处理出所有的环。 然后用一种类似于gauss消元的方式使每一位尽量为1(就是每个数都只有一位为1,剩下为0)。 然后和res异或就可以了。 #include #include #include #define LL long long using namespace ... 阅读全文
posted @ 2016-07-09 10:02 invoid 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 树形dp。 本来是想做一系列树分治的,结果这道题树形dp就可以了(膜popoqqq大神) f数组保存每个节点距离为0,1,2的点对数量。 不断统计就可以辣。 #include #include #include using namespace std; const int maxn = 20000 + 10; const int maxm = 40000 + 10; stru... 阅读全文
posted @ 2016-07-09 00:19 invoid 阅读(109) 评论(0) 推荐(0) 编辑