UVa 507 - Jill Rides Again
2013-08-18 14:16
471 查看
题目大意:最大和子序列问题。由于具有最大和的子序列具有一下性质:第一项不为负数,并且从第一项开始累加,中间不会有和出现负数,因为一旦有负数我们可以抛弃前边的部分以得到更大的子序列和,这将会产生矛盾。
View Code
#include <cstdio> int main() { #ifdef LOCAL freopen("in", "r", stdin); #endif int T; scanf("%d", &T); for (int kase = 1; kase <= T; kase++) { int n; scanf("%d", &n); int x, sum = 0, nicest = 0, len = 0; int p = 0, s, e; for (int i = 0; i < n-1; i++) { scanf("%d", &x); sum += x; if (sum < 0) { sum = 0; p = i + 1; } else if (sum > nicest || (sum == nicest && i-p+1 > len)) { s = p; e = i; len = i - p + 1; nicest = sum; } } if (nicest > 0) printf("The nicest part of route %d is between stops %d and %d\n", kase, s+1, e+2); else printf("Route %d has no nice parts\n", kase); } return 0; }
View Code
相关文章推荐
- UVA - 507 Jill Rides Again
- UVa 507 - Jill Rides Again
- UVA 507 Jill Rides Again
- UVA 507 - Jill Rides Again 动态规划
- UVA 507 - Jill Rides Again
- uva507 Jill Rides Again
- UVA - 507 - Jill Rides Again (dp最大子段和)
- UVa 507 Jill Rides Again (最大连续子序列)
- uva 507 Jill Rides Again(检索)
- UVa 507 - Jill Rides Again
- UVa 507 - Jill Rides Again
- uva 507 Jill Rides Again (分治)
- UVa 507 - Jill Rides Again
- uva 507 - Jill Rides Again
- uva 507 Jill Rides Again(最长子串和)
- uva507 - Jill Rides Again(好题)
- UVA - 507 Jill Rides Again(连续子序列最大和)
- UVA 507 Jill Rides Again (连续子序列最大和问题)
- uva 507 Jill Rides Again (DP)
- UVA - 507 Jill Rides Again 最大子段和 O(n)