NOIP模擬題 麻耶

2022-08-17 10:30:24 字數 1741 閱讀 3648

【問題描述】

油庫裡是幻想鄉特有的一種生物。每只油庫裡都有乙個戰鬥力值和乙個能量值。當兩隻油庫裡戰鬥時,總是戰鬥力值高的一位獲勝。獲勝者的戰鬥力值將變成自己的原戰鬥力值-對手的戰鬥力值+對手的能量值。敗者將死去。若兩者戰鬥力值一樣,則同歸於盡。

思考熊發現了很多油庫裡,他想知道通過互相戰鬥之後油庫裡中戰鬥力值+能量值最高的乙個可能到達多少。你能幫他們求出來嗎?(假設除了考察的那只油庫裡之外,其他油庫裡之間不會發生戰鬥)

【輸入格式】

第一行是乙個整數n,代表當前有多少油庫裡。

接下來的n行,每一行有兩個整數u,v,代表這只油庫裡的戰鬥力值和能量值。

【輸出格式】

輸出乙個整數,代表油庫裡中的戰鬥力值+能量值最高的乙個能達到多少。

【樣例輸入】

21 2

2 1【樣例輸出】

4【資料規模與約定】

對於 100%的資料, 1≤u,v≤10^9,1<=n<=10^5。

1 #include2 #include3 #include4 #include5

using

namespace

std;

6const

int maxn=1e5+7;7

long

long

a[maxn],b[maxn];

8long

long

c[maxn];

9struct

noder[maxn];

12int temp=0;13

int n;long

long ans=0;14

bool comp(const node &qw,const node &we)

1518

long

long max(long

long x,long

long

y)19

23int

main()

2436

}37 sort(r+1,r+temp+1

,comp);

38for(int i=2;i<=temp;i++)

39 r[i].w+=r[i-1

].w;

40for(int i=1;i<=n;i++)

4153

if(r[right].q==xx)break;54

if(right==start-1)break

;55 xx=x+r[right].w;

56//

if(a[i]57

//xx=xx+a[i]-b[i];

58if(xx==pre)break

;59 pre=xx;

60 left=right;right=temp;61}

62if(pre==0)//

沒重 63 ans=max(ans,x+y);

64else

if(x-y<0)ans=max(ans,xx+y+x-y);

65else ans=max(ans,xx+y);66}

67 printf("

%i64d

",ans);

68return0;

69 }

NOIP模擬題 連通

給定乙個無向圖,請編寫乙個程式實現以下兩種操作 1 d x y,從原圖中刪除連線x和y頂點的邊。2 q x y,詢問x和y頂點是否連通。這也是連通問題,考慮用並查集解決。但是這是刪除的問題耶,怎麼辦?考慮將刪除變為連通,能不能將所有操作給反過來,從最後乙個操作開始處理。當然是可以的。include ...

Noip模擬題 山峰

description在n m的棋盤上不重複的填1到n m 如果乙個數字比周圍的八個數字大,那麼他就是乙個山峰。現在告訴你所有山峰的位置,問你填數的方案數mod 12345678 input 輸入第一行兩個數字 n m意義如題目描述。接下來n 行,每行 m個字元,表示非山峰,x 表示山峰。1 n 4...

NOIP模擬題 訂餐

題目描述 這個週末,joe 一如既往的拿出了外賣的點餐單。選單上從上到下列著 n 個菜,每個菜 joe 會列出乙個美味值。joe 這次希望從選單上連續地點 k 個菜,並且美 味值之和最大。但在計算美味值之和時,joe 有自己的一套計算方法 由於他會按照順序享受這 k 個菜,並且越吃越後面的菜他就越享...