摘要:
题目链接【http://acm.hdu.edu.cn/showproblem.php?pid=6206】 题意: 给出不共线的三个点,和一个点(x,y),然后判断(x,y)在不在这三个点组成的圆外。 题解: 咋一看很简单,实际也很简单,但是坐标都很大,会爆long double,怎么办?只有用jav 阅读全文
摘要:
题目链接【http://poj.org/problem?id=1741】 题意: 给出一颗树,然后寻找点对(u,v)&&dis[u][v] < k的对数。 题解: 这是一个很经典的树分治的题。假设我们选择了一个参考点u,那么对于不同的点对(u,v),(u , v)之间的路径有两种情况,经过点u,和不 阅读全文
摘要:
题目链接:http://poj.org/problem?id=2185 题意:给出一个R*C(10000 * 75)的矩形字符串,然你求最小的不严格重复矩阵,比如,ABA,最小的重复矩阵是AB,经过复制ABAB,可以把ABA完全覆盖掉。 题解: 题意很好理解,首先我们应该清楚,最小重复字串一定实在左 阅读全文
摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6166 题意:给出一个n个点的有向图。然后给你k个点,求这k个点任意两点之间的最短路的最小值。思路: 以这k个点为起点,维护每个点的最短路和次短路,并且,次短路的祖先不能是本身。 先给几组样例: 55 6 阅读全文
摘要:
题目链接【http://acm.hdu.edu.cn/showproblem.php?pid=6152】 题意:给出一个有3000个点的图,问你是否存在三个及以上的点两两没有边或者两两都有边。 正解:拉姆齐定理 拉姆齐定理:在组合数学上,要找到一个最小的数n,使得n个人中必定有x个人相互认识或y个人 阅读全文
摘要:
题目链接【http://codevs.cn/problem/1230/】 题意:给出n个正整数,然后有m个询问,每个询问一个整数,询问该整数是否在n个正整数中出现过。 题解:很简单的一道题,可以选择用map,unordered_map,字典树等等进行映射,就可以了。也可以用pb_ds的hash_ta 阅读全文
摘要:
题目链接【http://poj.org/problem?id=2155】 阅读全文
摘要:
/* HDU 4819 Mosaic 题意:查询某个矩形内的最大最小值, 修改矩形内某点的值为该矩形(Mi+MA)/2; 二维线段树模板: 区间最值,单点更新。 */ #include using namespace std; const int INF = 0x3f3f3f3f; const int MAXN = 1010; int N, Q; struct Nodey {... 阅读全文
摘要:
题目链接【http://acm.hdu.edu.cn/showproblem.php?pid=5692】 题意:一棵树,每个节点有权值,有两种操作:1、修改某个点的权值,2、求以x根的子树中的节点到根的权值和的最大值。 题解:DFS序:对点进行重新编号,每个子树中的所有的节点的编号是连续的。映射到线 阅读全文
摘要:
题目链接:【http://poj.org/problem?id=3321】 题意:给你一棵树,有两种操作,第一种是对某个节点进行修改(该节点如果有苹果,就拿掉,如果没有苹果就放上去一个),第二种操作是询问以节点x为根的子树上有多少苹果。 题解:对一棵树进行DFS,对每一个节点重新编号,并记录下某个节 阅读全文