摘要: http://acm.hdu.edu.cn/showproblem.php?pid=4277题意:给出n条线段,每条线段的长度为li(1 <= li <= 10000)1 <= N <= 15。才开始想到了爆搜算了一下时间复杂度O(3^15)*15勉强可以,可是在判重问题上一直很纠结,不知道该怎么处理,素以就放下了。赛后看了看解题报告,可谓经典啊。。爆搜所有的组合,然后set(或者hash判重),这里由于li<=10000 N <=15 所以最大的长度肯定小于10000000000000000ll,在__int64的表示范围之内,所以我们只需要将a,b, c 阅读全文
posted @ 2012-09-12 19:56 E_star 阅读(230) 评论(0) 推荐(0)
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=4267题意:给你N个数,有两种操作:2 x询问a[x]的值;1 a b k c a <= i <= b 满足(i - a)%k == 0的a[i] += c;(1 <= N <= 50000) (1 <= a <= b <= N, 1 <= k <= 10, -1,000 <= c <= 1,000)思路:一看就知道这肯定是线段树的题目,可是区间内满足(i - a)%k == 0的点才进行处理怎么办,如果i i + k,i + 2k的循环处理的 阅读全文
posted @ 2012-09-12 17:22 E_star 阅读(313) 评论(0) 推荐(0)
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=4283题意:给定一个长度为n的序列表示人,每个人都有一个愤怒系数与之对应。他们依次上台,当第k个人上台时,他的愤怒值为(k - 1)*Di. 给定一个小黑屋相当于栈,来调整上台顺序使总的愤怒值最小思路:区间DP dp[i][j]表示第i个人到第j个人区间上台愤怒值的最小值。对于区间[x][y]如果x在第i个位置上台,则有x + 1,x + 2,.....,x+i,x ,x + i + 1.....y则将整个区间分为[x+ 1][x+i]和[x+i+1][y]两个小区间这样局部最优的思想就出来了。dp[x][y 阅读全文
posted @ 2012-09-12 14:56 E_star 阅读(206) 评论(0) 推荐(0)