题目大意:给定n个点,定义从一个点到另一个点的距离为曼哈顿距离,要求从点1依次走到点n,中途可以跳过k个点不走,求最小距离和
令f[i][j]表示从第一个点走到第i个点中途跳过j次的最小距离和
则有f[i][j]=min{f[i-k-1][j-k]+dis[i-k-1][i]}
时间复杂度O(n^3)
#include
#include
#include
#include
#def...
分类:
其他好文 时间:
2015-02-27 21:37:46
阅读次数:
233
背包问题(三种动态规划) 代码(C)本文地址:http://blog.csdn.net/caroline_wendy题目參考:http://blog.csdn.net/caroline_wendy/article/details/37912949能够用动态规划(Dynamic Programming...
分类:
编程语言 时间:
2015-02-27 21:25:08
阅读次数:
212
广告:```
#题解:
bfs出1、2、n到每个点距离
然后枚举求min{B*f[1]+E*f[2]+P*f[n]};
#代码:
```cpp:
#include
#include <cstdi...
分类:
其他好文 时间:
2015-02-27 20:18:16
阅读次数:
192
题解
——Silver
f[i][j]表示到第i个跳过了j个的最小值
然后暴力从前转移。
它的时间复杂度是1.25亿,但是常数远远远远小于1
——Bronze
跟银组的一样,只不过改改数组大小,然后m直接赋值1就好了。
银组代码:
#include
#include
#include
#include
#include
#define N 505
#define...
分类:
其他好文 时间:
2015-02-27 18:25:22
阅读次数:
192
题目大意:给出一个序列,求出字典序最小的长度为k的上升序列。
思路:先随便搞搞求出一个数组f,表示从i开始最长的上升序列的长度。然后贪心的往后找,能放在当前位置就放。
CODE:
#define _CRT_SECURE_NO_WARNINGS
#include
#include
#include
#include
#define MAX 10010
#defin...
分类:
其他好文 时间:
2015-02-27 17:17:23
阅读次数:
124
题目链接: sicily 13602
拿到题目马上就想到动规了,而且应该算是棋盘型的DP,状态转移方程挺好想的,就直接上代码了:#include using namespace std;long long dp[35][35]; //注意数据范围int main()
{
int n;
while(~scanf("%d",&n)&&n)...
分类:
其他好文 时间:
2015-02-27 17:09:15
阅读次数:
142
题解:
f[N][N][2]暴力维护即可。
代码:(水得我都不敢测样例就直接交了)
#include
#include
#include
#include
#define N 1005
#define inf 0x3f3f3f3f
#define mod 19650827
using namespace std;
int f[N][N][2];
int s[N],n;
int...
分类:
其他好文 时间:
2015-02-27 15:16:52
阅读次数:
128
题目描述 Description
今年是国际数学联盟确定的“2000——世界数学年”,又恰逢我国著名数学家华罗庚先生诞辰90周年。在华罗庚先生的家乡江苏金坛,组织了一场别开生面的数学智力竞赛的活动,你的一个好朋友XZ也有幸得以参加。活动中,主持人给所有参加活动的选手出了这样一道题目:
设有一个长度为N的数字串,要求选手使用K个乘号将它分成K+1个部分,找出一种分法,使得这K+1个部分...
分类:
其他好文 时间:
2015-02-27 15:13:44
阅读次数:
135
题目大意:01背包,其中weight
直接背包肯定TLE+MLE
考虑到每个weight都能写成a*2^b的形式,显然我们要按照b分层来进行背包
令f[i][j]表示有j*2^i+(w&(1
首先每层内部先做一个01背包
然后层与层之间再转移
从大到小枚举j 转移方程为f[i][j]=max{f[i][j],f[i][j-k]+f[i-1][min(k*2+((w>>i-1)&1)...
分类:
其他好文 时间:
2015-02-26 16:39:02
阅读次数:
172