摘要: Problem How Many Triangles (HDU 5784) 题目大意 给定平面上的n个点(n《2000),询问可以组成多少个锐角三角形。 解题分析 直接统计锐角三角形较困难,考虑问题的反面,统计直角三角形、钝角三角形、平角三角形(暂时这么叫吧QAQ)。 首先枚举三角形的一个端点A,对 阅读全文
posted @ 2016-08-02 19:37 rpSebastian 阅读(1179) 评论(0) 推荐(0) 编辑
摘要: Problem T2 (bzoj4034 HAOI2015) 题目大意 给定一颗树,1为根节点,要求支持三种操作。 操作 1 :把某个节点 x 的点权增加 a 。 操作 2 :把某个节点 x 为根的子树中所有点的点权都增加 a 。 操作 3 :询问某个节点 x 到根的路径中所有点的点权和。 解题分析 阅读全文
posted @ 2016-08-01 23:04 rpSebastian 阅读(196) 评论(0) 推荐(0) 编辑
摘要: Problem Little Devil I (HDU4897) 题目大意 给定一棵树,每条边的颜色为黑或白,起始时均为白。 支持3种操作: 操作1:将a->b的路径中的所有边的颜色翻转。 操作2:将所有 有且仅有一个点在a->b的路径中 的边的颜色翻转。 操作3:询问a->b的路径中的黑色边数量。 阅读全文
posted @ 2016-07-31 17:05 rpSebastian 阅读(552) 评论(0) 推荐(0) 编辑
摘要: Problem Aragorn's Story (HDU 3966) 题目大意 给定一颗树,有点权。 要求支持两种操作,将一条路径上的所有点权值增加或减少ai,询问某点的权值。 解题分析 树链剖分模板题。 实质上树链剖分进行了点对点的一次映射,保证了重链上的点在线段树上的位置是连续的。 树链剖分的两 阅读全文
posted @ 2016-07-31 02:22 rpSebastian 阅读(1229) 评论(0) 推荐(0) 编辑
摘要: Poroblem Redraw Beautiful Drawings (HDU4888) 题目大意 一个n行m列的矩形,只能填0~k的数字。 给定各行各列的数字和,判定有无合法的方案数。一解给出方案,多解输出给定字符串。 解题分析 一个经典的网络流建图。 由S向行连流量为该行数字和的边,由列向T连流 阅读全文
posted @ 2016-07-30 23:27 rpSebastian 阅读(266) 评论(0) 推荐(0) 编辑
摘要: Problem Turn the pokers (HDU 4869) 题目大意 有m张牌,全为正面朝上。进行n次操作,每次可以将任意ai张反面,询问n次操作可能的状态数。 解题分析 记正面朝上为1,朝下为0。 若最后有x个1,则对答案的贡献为C(n,x)。所以只需要知道最后可能的1的个数。 假设已经 阅读全文
posted @ 2016-07-30 18:31 rpSebastian 阅读(439) 评论(0) 推荐(0) 编辑
摘要: Problem Nice boat(HDU 4902) 题目大意 维护一个序列,两种操作。 第一种操作,将一段区间[l,r]赋值为x。 第二种操作,将一段区间[l,r]中大于等于x的数与x求gcd。 询问所有操作结束后的序列。 解题分析 用线段树开一个标记same,表示这段区间中的数是否相同,若相同 阅读全文
posted @ 2016-07-29 22:01 rpSebastian 阅读(394) 评论(0) 推荐(0) 编辑
摘要: Problem Intersecting Lines (POJ 1269) 题目大意 给定两条直线,问两条直线是否重合,是否平行,或求出交点。 解题分析 主要用叉积做,可以避免斜率被0除的情况。 求交点P0: 已知P1 P2 P3 P4 运用 P0P1 X P0P2 = 0 和 P0P3 X P0P 阅读全文
posted @ 2016-07-29 00:23 rpSebastian 阅读(239) 评论(0) 推荐(0) 编辑
摘要: Problem Jump (HDU4862) 题目大意 给定一个n*m的矩形(n,m≤10),每个矩形中有一个0~9的数字。 一共可以进行k次游戏,每次游戏可以任意选取一个没有经过的格子为起点,并且跳任意多步,每步可以向右方和下方跳。每次跳需要消耗两点间的曼哈顿距离减一的能量,若每次跳的起点和终点的 阅读全文
posted @ 2016-07-28 21:28 rpSebastian 阅读(450) 评论(0) 推荐(0) 编辑
摘要: Problem String problem (HDU5772) 题目大意 给定一个由数字组成的字符串(n<=100),挑选出一些字符组成一个新的字符串。 字符串的价值: sigma w[id(i)][id(j))] (i !=j) id(i)为某字符在原串中的位置,w[][]为给定矩阵。 字符串的 阅读全文
posted @ 2016-07-28 20:24 rpSebastian 阅读(690) 评论(0) 推荐(0) 编辑
摘要: Problem A simple brute force problem (HDU 4971) 题目大意 有n个项目和m个问题,完成每个项目有对应收入,解决每个问题需要对应花费,给出每个项目需解决的问题以及各问题间的依赖关系,求最大利润。 解题分析 最大权闭合子图 用来解决一下有依赖关系的问题。 X 阅读全文
posted @ 2016-07-27 21:47 rpSebastian 阅读(358) 评论(0) 推荐(0) 编辑
摘要: 完成度 (11 / 12) Problem A 题目大意 给定一个序列,在n次交换次数内,使得n个数字升序排列。给出一种方案。 解题分析 求出每个数字对应升序排列的位置,依次交换即可。 参考程序 1 #include <cstdio> 2 #include <algorithm> 3 using n 阅读全文
posted @ 2016-07-25 19:23 rpSebastian 阅读(164) 评论(0) 推荐(0) 编辑
摘要: Problem King's Pilots (HDU 5644) 题目大意 举办一次持续n天的飞行表演,第i天需要Pi个飞行员。共有m种休假计划,每个飞行员表演1次后,需要休假Si天,并提供Ti报酬来进行下一次表演。刚开始拥有k个飞行员。也可以招募飞行员来进行表演(数量无限),需要提供报酬q,在p天 阅读全文
posted @ 2016-07-23 21:19 rpSebastian 阅读(350) 评论(0) 推荐(0) 编辑
摘要: Problem Jam's Store (HDU5619) 题目大意 有m个服务员,和n个顾客,给出每个服务员招待每个顾客的时间,每个服务员在同一时间只能服务一个顾客,询问所有顾客完成服务的最少时间。 解题分析 第一反应就是用费用流来做。 题目难度在于每个服务员在同一时间只能服务一个顾客。考虑把每个 阅读全文
posted @ 2016-07-23 10:56 rpSebastian 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 完成度 (8 / 10) Problem A 题目大意 给定 m,n,询问二元组(x,y)( 1 <= x <= m , 1 <= y <= n) 满足 ( x + y ) % 5 = 0 的组数。 解题分析 直接枚举x与y的模余 参考程序 1 #include <cstdio> 2 3 int m 阅读全文
posted @ 2016-07-22 23:47 rpSebastian 阅读(189) 评论(0) 推荐(0) 编辑