就是最大子段和的變體。最大子段和只要乙個陣列,記錄前i個裡的最大子段和在f[i]裡就行了,但是最大子段積因為有負乘負得正這一點,所以還需要把前i個裡的最小子段積存起來。就可以了。直接上**:
/** author : ben */
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace
std;
//輸入非負整數,用法int a = get_int();
intget_int()
res = ch - '0'
;
while ((ch = getchar()) >= '
0' && ch <= '9'
) res = res * 10 + (ch - '0'
);
return
res;}//
輸入整數(包括負整數,故不能通過返回值判斷是否輸入到eof,本函式當輸入到eof時,返回-1),用法int a = get_int2();
intget_int2()
res = ch - '0'
;
while ((ch = getchar()) >= '
0' && ch <= '9'
) res = res * 10 + (ch - '0'
);
if (flag == 1
) res = -res;
return
res;
}const
int maxn = 10009
;int
maxr[maxn], minr[maxn];
inline
int mymul(int a, int
b)
if (a * b < 0
)
return sign * (abs(a) +abs(b));
}int
main()
printf(
"case #%d: %d\n
", t, ans);
}return0;
}
hdu 4561 模擬小題or連續最大積
description 小明和他的好朋友小西在玩乙個遊戲,由電腦隨機生成乙個由 2,0,2三個數組成的陣列,並且約定,誰先算出這個陣列中某一段連續元素的積的最大值,就算誰贏!比如我們有如下隨機數組 2 2 0 2 0 2 2 2 2 0 在這個陣列的眾多連續子串行中,2 2 2 2這個連續子串行的積...
BZOJ4561 JLoi2016 圓的異或並
題目大意 給你一堆圓,只存在相離和包含的關係,求他們的異或面積並 如果考試的時候捲麵像我這麼標註,我怎麼能看錯題呢?用乙個掃瞄線,從左到右掃一遍,因為只有這兩種關係,所以掃瞄線上的這些圓相對位置是固定的 我們可以把每個圓想象成兩個括號,括號之間不會相交,每當掃瞄線掃到乙個新的圓時,相當於在某處新增一...
bzoj4561 JLoi2016 圓的異或並
hdu3511 變式 層次為奇數的加,偶數的減 include include include include include using namespace std define n 200001 intline struct line e n 1 int lev n bool equal dou...