
poj题解
ltwy123
淡定淡定~
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
poj 3904 容斥原理
题目: 求一个数组里面,gcd(a, b, c, d) = 1的四元组的组数。 容斥。 如果直接正向容斥,状态太多。 所以我们考虑对每一个数进行分解。 记录一下这个数可以被哪些数整除。这里利用的是唯一分解定理:任意一个数都只能被拆成一种质因子相乘的形式。 code: #include #include #include #include #include using na原创 2015-10-21 16:06:11 · 614 阅读 · 0 评论 -
poj 2114 点分治
又做了一道点分治入门题.... 比较卡人的地方是。。 给你一个排好序的序列, 让你求出里面任意两个数字加起来等于k的二元组的个数。。 O(n)扫一遍。。 #include #include #include #include #include using namespace std; int n,k; const int maxn = 10010; const int INF = 0x原创 2015-09-16 16:42:17 · 629 阅读 · 0 评论 -
poj 1741 点分治论文题
题意: 给你一棵树, 让你求这棵树上满足dis(u, v) <= k的点对有多少个。 分析: 首先, 对于直接想到的办法。lca预处理然后暴力,复杂度n^2,显然复杂度太大。 那么我们就有了树上分治的思想; 首先, 对于这个问题, 我们可以看出只有如下三种情况: 然后分治处理。 这里要注意,分治的时候要求重心, 因为重心可以保证原创 2015-09-15 20:25:43 · 490 阅读 · 0 评论 -
poj 3468 splay入门
存个模板。从其它地方改过来的。。 区间修改,区间查询#include <iostream> #include <fstream> #include <string> #include <time.h> #include <vector> #include <map> #include <queue> #include <algorithm> #include <cstring> #include原创 2015-09-11 21:27:50 · 446 阅读 · 0 评论 -
poj 1256 Pick定理
题目意思: 求在这个多边形内部的格点,边上的格点, 还有多边形面积。 这里有这样几条定理: 解题思路: 这个题用了很多知识点: 1、以格子点为顶点的线段,覆盖的点的个数为GCD(dx,dy),其中,dxdy分别为线段横向占的点数和纵向占的点数。如果dx或dy为0,则覆盖的点数为dy或dx。 2、Pick公式:平面上以格子点为顶点的简单多边形的面积=边上的点数/2+内部的点数+原创 2015-09-02 20:27:57 · 546 阅读 · 0 评论 -
POJ 2019 二维RMQ
题意很明显。。 二维RMQ或者二维线段树 1.二维RMQ #include #include #include #include #include using namespace std; int val[255][255]; int dpmin[255][255][8][8];//最小值 int dpmax[255][255][8][8];//最大值 void init原创 2015-08-17 21:10:38 · 363 阅读 · 0 评论 -
poj 1159 二维线段树 插点求线
题意:…思路:上二维线段树#include <stdio.h> #include <string.h> #include <iostream> #include <algorithm> #include <vector> #include <queue> #include <set> #include <map> #include <string> #include <math.h> #includ原创 2015-08-18 10:28:17 · 387 阅读 · 0 评论 -
poj 2155 二维线段树 插线问点
题意:给定一个矩阵,初始全部为0,给定若干次操作,每次操作或者区间取反或者查询一个点的值。思路: 二维线段树#include <stdio.h> #include <string.h> #include <iostream> #include <algorithm> #include <vector> #include <queue> #include <set> #include <map> #i原创 2015-08-18 10:19:01 · 403 阅读 · 0 评论 -
poj2983 差分约束 超级源点
题意: 判定 思路:差分约束。。 建立超级源点。。 此处附上我对超级源点的理解。。一句话: 只能用来判定,不可用来求值。至于为什么,仔细想想。#include <iostream> #include <cstring> #include <cstdio> #include <algorithm> #include <vector> #include <queue> #include <stack原创 2015-08-28 18:35:48 · 818 阅读 · 0 评论 -
poj 3695 矩阵切割
题意:给N个矩形,他们可能会重叠,然后给M个询问,每个询问给出指定的矩形位置,然后分别计算每个询问中选中的矩形的并。 矩阵切割就可以了。 #include typedef long long ll; int n,m; int X1[40],Y1[40],X2[40],Y2[40]; int sum[40]; int a[40]; int r; void cover(int x1, i原创 2015-10-26 18:16:03 · 632 阅读 · 0 评论