题目链接:10641 - Barisal Stadium题意:逆时针给定n个点,在给m个灯,每一个灯有一个花费,要求最小花费使得全部边能被灯照到思路:用向量叉积推断向量的顺逆时针关系,从而预处理出每一个灯能照到的边,然后因为n个点是环的,所以能够直接扩大两倍,dp时候去枚举起点就可以状态为dp[i]...
分类:
其他好文 时间:
2015-06-01 16:37:39
阅读次数:
130
第一次打cf,感觉挺爽的,页面看着很爽,大概是因为这次的比较简单吧,这道题有点像FZU的最小花费,
就是移动的时候不必直接移动,可以相邻的移动。我刚开始写的数组开小了,被hack了。。。
思路:
先对这串数字排序,然后按开始遍历,如果同一个数字有好多,就往后面扩展就可以了,比如
1 1 4 4 5 就可以变成1 2 4 5 6 变成相邻的最小的数,记录一下增加多少就ok了。
代码:
...
分类:
其他好文 时间:
2015-05-23 14:19:50
阅读次数:
133
题意是:给定一组整数,通过移动使这个序列变为递增的,移动i元素的话费为i
例如 2 2 5 3 4通过移动5使得序列变为2 2 3 4 5故最小花费为5,如果移动3 4那么花费会为7
这道题可以通过求“最重上升子序列”来间接地得到结果,
dp[i]表示以weight[i]
为终点递增的最重的一系列书的重量之和。状态转移方程是
dp[i] = max(dp[i], dp[k] + ...
分类:
其他好文 时间:
2015-05-22 21:14:13
阅读次数:
107
任意两个切割点之间无法再分割
所以如果设dp[i][j] 表示从i位置切到j位置其实没有多大意义,亲测这样会TLE
dp[i][j]表示切割第i个切割点开始的位置到第j个切割点的位置结束的木棍的最小花费
时间复杂度O(n3)O(n^3)/*************************************************************************
>...
分类:
其他好文 时间:
2015-05-22 09:50:43
阅读次数:
149
问题:有一扇门, 一开始是好的, 一次来了n个人, 每个人有p的概率把门弄坏, 维修门的费用为a, 被一个人发现门坏的罚款为b, 求期望最小花费。回答:用f[i][0]表示第i个人来之前门坏, 到结束时的期望最小花费, f[i][1]则表示门好. 显然f[n][0] = min(a, b), f[n...
分类:
其他好文 时间:
2015-05-22 09:27:20
阅读次数:
83
uva 10163 Storage Keepers有N个仓库,M个管理员,M个管理员每个人的工资都不一样,工资与他们的能力值(P)相同。一个管理员可以看管多个(n)仓库,但是仓库的安全值就会变为P / n。现在要是的最小的安全值最大,并且还要求出该状况下的最小花费。两次DP,第一次dp求出最大的最小安全值ans,第二次dp根据第一次dp求出的ans求出最小的花费。#include ...
分类:
其他好文 时间:
2015-05-20 22:31:09
阅读次数:
157
题意比较麻烦见题目链接Solution: 非常值得注意的一点是题目给出的范围只有20,而众所周知字母表里有26个字母。于是显然对一个字母进行变换后是不影响到其它字符串的。 20的范围恰好又是常见状压DP的范围,所有状态压缩后用DP[sta]代表对应位的字符串已经满足要求的最小花费。 ...
分类:
其他好文 时间:
2015-05-19 22:30:34
阅读次数:
258
http://poj.org/problem?id=1258FJ为了竞选市长,承诺为这个地区的所有农场联网,为了减少花费,希望所需光纤越少越好,给定每两个农场的花费,求出最小花费。最小生成树。#include #include using namespace std;const int maxn =...
分类:
Web程序 时间:
2015-05-18 10:35:56
阅读次数:
383
题目大意:有N座城市,要求在这N座城市中建一个消防系统,使得每座城市城市着火时都能被按时扑灭
现在给出每座城市建一个消防站所需的花费w和每座城市相邻消防站的最远距离lim(和该城市距离超过lim的城市的消防站无法救该城市的火),问要使所有的城市都能被救到火,建消防站的最小花费是多少解题思路:参考了别人的题解,果然还是太弱了。。。
要使该城市能被救到火,那么消防站不是建在该点,就是建在以该点为根的...
分类:
其他好文 时间:
2015-05-16 14:52:57
阅读次数:
184
题意:求K个机器人从同一点出发,遍历所有点所需的最小花费链接:点我Sample Input3 1 1 //3个点,从1出发,1个机器人1 2 11 3 13 1 21 2 11 3 1Sample Output32转移方程: dp[i][j]=min(dp[i][j],dp[i][j*k],d...
分类:
其他好文 时间:
2015-05-12 01:36:50
阅读次数:
189