- 博客(5)
- 收藏
- 关注
原创 NEUOJ 1210(The number of triangulation-计算几何+剪枝)
一个正n(<=400)边形分成n-3个三角形,面积最大的那个三角形只出现一次,求方案数。如果没有面积最大的那个三角形只出现一次就是Catalan数 现在考虑枚举面积最大三角形,计算面积不超过S的正n边形的l条边组成的(l+1)边形的三角形划分方案数dpidp_i,暴力统计O(n^4) 加几个剪枝: 我们显然可以把全等的三角形一起计算。 但三角形较少的时候dpi=Ci−1dp_i=C_{i-1
2017-07-26 12:36:59 473
原创 NEUOJ 1207(Birthday present-前缀和)
给你一个数组a,给你一个k,你可以讲每个数减去不超过k,要求最后的GCD最大,求这个gcd 1 ≤ n ≤ 3·1e5; 1 ≤ k ≤ 1e6 1 ≤ ai ≤ 1e6显然min(ai)<=kmin(a_i)<=k时,答案为min(ai)min(a_i), 否则,每个数都对应一段长度为k的可行区间,答案至少为k。 考虑gcd=g>kgcd=g>k,则此时可能的aia_i,可能为[g,g
2017-07-26 12:16:35 332
原创 POJ 2054(Color a Tree-贪心)
有一棵树,树上有n个节点,每个节点点权cic_i,rr是根节点。现在你希望依次取点,一个节点能取当且仅当它的父节点已取或它是根,第i个取的点j代价为i∗cji*c_j ,求代价和最小值。贪心,交换法可以证明最大值的点必然在其父节点后马上取,因此每次拿出最大值节点和父节点合并,重复该操作直至只剩一个节点。#include<cstdio>#include<cstring>#include<cstdl
2017-07-18 07:44:28 418
原创 CF 830C(Bamboo Partition-满足\sum_{i=1}^n{ d\lceil ai/d\rceil-a_i } \leq k的d的最大值)
题意:求最大的正整数d,,使∑ni=1d⌈ai/d⌉−ai≤k\sum_{i=1}^n{ d\lceil ai/d\rceil-a_i } \leq k 观察发现只要⌈ai/d⌉(i=1⋯n)\lceil ai/d\rceil (i=1\cdots n)不变, 函数是线性的, 因此对每段分别求解。 分段点共nmax(ai)−−−−−−−√个n\sqrt {max(a_i)} 个#includ
2017-07-17 11:45:28 1771
原创 HDU 3263(Ancient vending machine-井盖问题)
题意:给出一个多边形孔和一个多边形硬币,问你这个硬币能能否从孔中穿过去? 硬币肯定竖着扔,求硬币多边形的最小宽度和多边形孔包含的最长线段长、 多边形的最小宽度就是旋转卡壳时的最小宽度。 然后,有一个结论: 多边形内的最长线段长必然过多边形的两个顶点。#include<cstdio>#include<cstring>#include<cstdlib>#include<algorithm
2017-07-13 18:53:22 404
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人