动态规划与贪心相关:{POJ}{2479}{Maximum Sum} (DP)摘要: 题意:给定n个数,求两段连续子列的最大和。思路:先从左向右dp,求出一段连续子列的最大和,再从右向左dp,求出两段连续子列的最大和,方法还是挺经典的。{POJ}{1036}{Gansters} (DP)摘要: 题意...
分类:
其他好文 时间:
2014-08-15 22:20:09
阅读次数:
309
题目链接:点击打开链接
题意:
给定n个点,
每个点的豆子数量
下面是一棵树
再给出起点
每走到一个点,就会把那个点的豆子吃掉一颗。
问:回到起点最多能吃掉多少颗豆子
思路:树形dp
对于当前节点u,先把子节点v都走一次。
然后再往返于(u,v) 之间,直到u点没有豆子或者v点没有豆子。
dp[u] 表示u点的最大值。a[u] 是u点剩下的豆子数。
#inc...
分类:
其他好文 时间:
2014-08-15 17:55:19
阅读次数:
259
自己AC独立通过的,不容易啊,哈哈,发现最短路、贪心还是简单的。方法是用dijstra用了N次,其实效率与floyd比,还是差一些的。这里讲两种方法都贴上来了,重点看floyd毕竟DJ算法前面看过了:你的任务将是写一个程序,告诉您选择哪一个股票经纪人作为谣言的出发点和所花费多少时间将谣言扩散到整个社...
分类:
其他好文 时间:
2014-08-15 17:38:29
阅读次数:
285
Happy Three Friends
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 934 Accepted Submission(s): 738
Problem Description
Dong-hao , Gra...
分类:
移动开发 时间:
2014-08-15 16:00:39
阅读次数:
242
点击打开链接题目链接
Conquer a New Region
Time Limit: 5 Seconds Memory Limit: 32768 KB
The wheel of the history rolling forward, our king conquered a new region in a distant continent.
Ther...
分类:
其他好文 时间:
2014-08-15 10:47:18
阅读次数:
286
题意:。。。
策略:看着像贪心,感觉也是贪心。
很久之前做的,又做了一遍,好题。
代码:
#include
#include
int s[100005];
int main()
{
int t, i, j, l, st, en, n, v = 1;
scanf("%d", &t);
while(t --){
scanf("%d", &n);
for(i = 1; i <= n...
分类:
其他好文 时间:
2014-08-14 23:54:16
阅读次数:
201
题意 某大参加ACM竞赛回来落下很多作业 每个作业都有最后期限 没在最后期限之内做完期末就要扣掉对应的分 求最少扣多少分
把所有作业按扣分大小从大到小排序 然后就贪阿 能完成前面的就完成前面的 实在不能的就扣分吧~
#include
#include
#include
using namespace std;
const int N = 1005;
int dli[N], r...
分类:
其他好文 时间:
2014-08-14 20:35:19
阅读次数:
174
思路:给定一系列时刻表,求能满足各个时刻的最小火车数量。打眼一看, 把此题归入到最大流,仔细一想不符合流网络的规律,换思路。由于是一个最优化问题,自然想到动态规划和贪心。最后确定贪心。从最早出发的火车切入,到目的地后便可以选择下一次满足的时刻表,贪心思想找最近的一个时刻表(关于贪心的证明可以参看《图...
分类:
其他好文 时间:
2014-08-14 16:17:18
阅读次数:
222
?Problem A CSU 1065 贪心 1 #include 2 #include 3 #include 4 using namespace std; 5 const int maxn = 1000010; 6 struct Node{ 7 int a,b; 8 bool...
分类:
其他好文 时间:
2014-08-14 13:11:08
阅读次数:
250
dp[i][j]表示到了第i步放了j个减速,造成的伤害。我们用贪心的策略把造成一段伤害的放在最后面,造成持续伤害的与减速放在前i个中这样得到的伤害是最高的。
所以前(i,j)中的伤害为dp[i][j] = max(dp[i-1][j]+(j*z+t)*(max(0LL, i-1-j))*y, dp[i-1][j-1]+((j-1)*z+t)*(i-j)*y);
每次造成的伤害就为:dp[i][...
分类:
其他好文 时间:
2014-08-14 10:56:38
阅读次数:
271