- 博客(2)
- 收藏
- 关注
原创 HDU 4628状压DP
给出一个字符串,每次可以删去它的回文子序列 例如 abcdbca,你可以删去abba这个子序列,问最少几次能把这个字符串删完。 最多16位,所以最多2^16个状态,而每个状态的转移方程是 dp[i] = min(dp[i], dp[j] + dp[i^j]); 其中j是i的子状态,子状态的定义是i|j == i,那么j就是i的子状态,但是如果这样求子状态,需要从0 到 i-1枚举,有种更巧妙的算
2013-08-03 16:51:53 682
原创 HDU4629扫描线求三角形重叠K次面积
扫描线求三角形的重合k次的面积 先把所有的三角形的点和他们之间产生的交点求出来,按X轴从小到大排序,然后每相邻的两个点会产生一个区间,在该区间中,从Y轴最上面往下扫描,如果碰到进入三角形的边,当前state++,表示重合数+1,如果碰到一个离开三角形的边,当前state--,表示重合数-1,对于每次碰到一个三角形的边,求出该边在这个区间中的上方的距离,要么是梯形,要么是三角形。
2013-08-01 08:28:25 924
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人