2012春季ACM內部測試賽3

2022-05-24 02:48:07 字數 1386 閱讀 1489

a:

題意是給定乙個n*m的矩形,初始顏色都為0(代表一種顏色)然後給你乙個r*c的矩形刷子可以講r*c內部的顏色0或者是1變為相反色(注意一共有0,1兩種顏色,他倆互為相反色)。

對於每乙個出現的1,可定會至少被刷過一次,我們只要很據目標矩陣統計,遇到1是時就將r*c的大小的矩陣進行翻轉,如果出現i+r >n 或者 j + c > m 則表明無法實現。注意這裡的ij是map[i][j] = 1 的情況、、

view code

b 給乙個n*m的棋盤,而且任意相鄰兩單元顏色不同。求最多能夠得到多少個8*8且右下角為白色的8*8棋盤。直接討論最右下角(n-7)*(m-7)這裡把所有情況都包括了,然後查詢有效1的個數即可,如果n-7或m-7存在偶數則白黑色各佔一半,否則,右下角的顏色多1

view code

c:給頂乙個矩形,沿平行於短邊的方向且開,確定好半徑,好高。求出能組成的圓柱的最大體積。。

我分的三種情況覺得這樣好理解一些,基本上和隊長一樣。

1:半徑確定的情況:半徑為w/2,高為w這樣圓柱體就確定了,只要合法(h - w >= pi*w)就是確定的體積;

2:半徑不確定的情況:高確定為w,則半徑最大取值為(h/(2*pi+2)),還要判斷半徑的合法性(x < w/2.0)

3半徑(r)不確定的情況,高也不確定(h - 2*r)

此時v = pi*r*r(h-2*r); v = pi*h*r*r-2*pi*r*r*r;

對v求導。。。然後確定的極值得點min(w/2*pi,h/3);

view code

#include 

#include

#include

#include

using

namespace std;

double pi = acos(-1.0);

int main()

return

0;}

d: 水題。。

f:原來做過的題目rmq和線段樹的題目。我用的rmq演算法

**:e :

就是乙個遞迴建樹,然後層次遍歷的問題。。。難的是在於怎麼建樹,。。遞迴下降式建樹、、

view code

g才開始做只是想到了列舉o(n^3)沒有考慮剪枝能過。。哎。思考不夠全面。。

view code

#include 

#include

#include

#include

#include

using

namespace std;

const

int m = 2000;

const

int n = 1000000;

int main()}}

return

0;}

SDUT 2012春季ACM內部測試賽5

a題 字串問題 就是給定字典。然後查詢錯誤。分三種情況 letterletterletterketter letterlettre 然後判斷。之前做過類似的一道題目,1y.比賽時,隊長負責的題目,也是果斷1y.厲害。view code include include include include ...

2012暑假集訓內部測試賽3

線段樹 離散化 不離散化不知道會不會超時 一直re 可能n值沒有說的那麼小吧 題意有問題 按1w開陣列就re 按10w開就a了 view code 1 include2 include 3 include4 include5 using namespace std 6 define n 100001...

JavaScript內部測試題

某人想通過乙個招聘 發布自己的求職資訊,在發布資訊之前需要註冊成為這個招聘 的會員。註冊資訊包括使用者名稱 密碼 性別 出生日期以及電子郵件。在註冊之前,要閱讀會員協議,只有同意遵守會員協議才可以進行註冊。要求 1 使用者名稱不能為空 2 密碼和確認密碼不能為空,密碼長度不能小於6位 3 出生日期必...