要在HDU上交的话,要用滚动数组优化一下空间。 这道题想了很久,也算是想明白了,就好好写一下吧。 P1:激活游戏失败,再次尝试。 P2:连接失服务器败,从队首排到队尾。 P3:激活游戏成功,队首的人出队。 P4:服务器down掉,所有人都不能激活了。 设d...
分类:
其他好文 时间:
2015-07-31 12:34:43
阅读次数:
120
题意:求在给定时间内,最多能唱多少歌曲,在最多歌曲的情况下,使唱的时间最长。
该题类似于01背包问题,可用01背包问题的解题思路来求,每个歌曲相当于物品,歌曲的长度相等于物品重量,每个歌曲的“价值”为1。由于金歌劲曲时间最长,所以最后要留至少1秒时间开始唱金歌劲曲,所以计算t-1时间内最多唱的歌曲和时间,最终答案为歌曲数加1,时间加上金歌劲曲的时间。这里我使用滚动数组计算这个值, 用len记录t...
分类:
其他好文 时间:
2015-07-27 18:58:15
阅读次数:
129
给一个字符串,计算最少加多少个字符能够使字符串变成回文串(即从前往后读与从后往前读一样)。
有2种思路,一种是直接区间DP,dp[j][i]表示[i,j]这个子串要变成回文串需要添加多少个字符,状态转移方程
如下:
if(s[i]==s[j])
dp[j][i]=dp[j+1][i-1];
else
dp[j][i]=1+min(min[j+1][i],min[j][i-1])
第二种思路也比较容易想,要将一个字符串变为回文串,那么我们...
分类:
编程语言 时间:
2015-07-27 00:19:30
阅读次数:
239
最简单的背包问题,标题应该是除了背包测试中心:您无法打开二维数组。我还没有开的二维。光看数据是不可能的。太大。有两种方法来提高全省内存DP:1 所谓卷的阵列2 反向表久没做背包DP,突然认为这样的背包问题非常easy了。以下给出两种解法:1 calBag()是滚动数组2 calBag2()是逆向填表...
分类:
其他好文 时间:
2015-07-16 13:46:10
阅读次数:
101
题意:给出杨辉三角的层数k,返回最后一层。k=0时就是只有一个数字1。思路:滚动数组计算前一半出来,返回时再复制另一半。简单但是每一句都挺长的。 1 class Solution { 2 public: 3 vector getRow(int rowIndex) { 4 if...
分类:
其他好文 时间:
2015-07-11 16:35:18
阅读次数:
138
状态:d(i,j)它代表前j划分数i部并且包括第一j最佳结果时的数。g(i,j)表示前j划分数i最好的结果时,段,g(m,n)结果,需要。本题数据较大。需採用滚动数组。注意:这题int类型就够用了,开long long可能会TLE。用滚动数组后,g[j]表示分成i段时最优结果,最后求出的g[n]即为...
分类:
其他好文 时间:
2015-07-08 20:49:37
阅读次数:
109
题意:有K个积木,每个给出块数,高度和这种块不能超过的最大高度,问最高能垒多高。经历了强行转换语言的阵痛啊。。。。java自定义排序不会写,然后又mle了,让我开始怀疑java的性能(其实只是因为脑残没写滚动数组。。。。)经典的多重背包,状态是前i种垒到j高时能剩下的第i种块的数目。import j...
分类:
其他好文 时间:
2015-06-17 21:11:44
阅读次数:
128
题就做了两道 poj1436 线段树参考了别人的代码,注意其中hash数组的操作,很巧妙(有点像滚动数组,节省了一维的空间,否则会爆内存然后是 poj2991 这个没啥好说的,区间add省赛题解今天才看到,明天好好过一遍做图形学的课程设计花了好多时间~往后几个星期课上该复习的复习事情更多了,下星期一...
分类:
其他好文 时间:
2015-06-14 00:17:37
阅读次数:
179
题意:n个程序员一起写m行代码,第i个程序员每写一行有a[i]个bug,求总bug不超过b的分配方案有多少种
分析:这题很像完全背包,不过求的不是最大/最小bug数,求的是bug数小于上限的分配方案。所以这题要用三维dp
dp[i][j][k]表示前i个个程序员总共写了j行代码产生了k个bug时的plan数,这题有两种转移:1)第i个程序员再写一行;2)换第i+1号程序员写
所以方程:dp[...
分类:
编程语言 时间:
2015-06-02 17:56:29
阅读次数:
237
#include
using namespace std;
int base[4][4]={ //初始状态
{1,1,0,1},
{1,1,1,0},
{0,1,1,1},
{1,0,1,1}};
int a[2][4][4]; //滚动数组
void f(int n)
{
int i,j;
if(n==0)
{
for(i=0;i...
分类:
其他好文 时间:
2015-06-02 09:25:12
阅读次数:
205