
动态规划DP
南宫嘉俊
学生
展开
-
UVA 10036 Divisibility
题意:给你N个数,在N个数中加入加号或减号,判断能否组成整除K的组合。 解:刚开始想到了暴搜,但是一看数据太大,只有想其他办法。原来是dp,我们可以这样理解,dp[i][j]表示被第i个数除时,余数为j.让后它为真时,dp[i+1][(j+a[i]+k)%k]=1; dp[i+1][(j-a[i]+k)%k]=1; 这两个也是真。最后,判断一下dp[n][0]是否为真就可以了原创 2016-05-18 22:48:33 · 628 阅读 · 0 评论 -
uva 10003 Cutting Sticks(区间DP)
题意:给出一个长l的木棍, 再给出n个要求切割的点,每次切割的代价是当前木棍的长度, 现在要求输出最小代价。 /*给定一段len长的木棍,有n个切割点,每个切割点切掉的花费是当前切割点所在木棍的长度,求最少的花费。*/ #include #include #include #include #include #include #include using namespace std; const原创 2016-05-18 22:11:38 · 320 阅读 · 0 评论