2017 10 3 清北刷題衝刺班p m

2022-04-01 14:18:52 字數 3067 閱讀 1435

【問題描述】

你是能看到第一題的 friends 呢。

——hja

給你乙個只有小括號和中括號和大括號的括號序列,問該序列是否合法。

【輸入格式】

一行乙個括號序列。

【輸出格式】

如果合法,輸出 ok,否則輸出 wrong。

【樣例輸入】

[(])

【樣例輸出】

wrong

【資料範圍與規定】

70%的資料,1 ≤ ? ≤ 100。

對於100%的資料,1 ≤ ? ≤ 10000,所有單詞由大寫字母組成。

#include#include

#include

#define maxn 10010

using

namespace

std;

inttop;

char

ch[maxn],st[maxn];

intmain()

else top--;

}else

if(ch[i]==']'

)

else top--;

}else

if(ch[i]=='}'

)

else top--;}}

if(top!=0)printf("

wrong");

else printf("ok"

); fclose(stdin);fclose(stdout);

return0;

}

100分 棧模擬

【問題描述】

你是能看到第二題的 friends 呢。

——laekov

yjq 想要將乙個長為?寬為?的矩形棺材(棺材表面絕對光滑,所以棺材可

以任意的滑動)拖過乙個 l 型墓道。

如圖所示,l 型墓道兩個走廊的寬度分別是?和?,呈 90°,並且走廊的長

度遠大於?。

現在 hja 想知道對於給定的?,?,?,最大的?是多少,如果無論如何棺材都

不可能通過,則輸出"my poor head =("

【輸入格式】

第一行三個用空格分隔的整數?,?,?,意義如題目所示。

【輸出格式】

輸出最大的可能的?,保留七位小數,如果無論如何棺材都不可能通過,則

輸出"my poor head =("。

【樣例輸入 1】

2 2 1

【樣例輸出 1】

1.0000000

p100 zhxb

第 4 頁 共 5 頁

【樣例輸入 2】

2 2 2

【樣例輸出 2】

2.0000000

【樣例輸入 3】

2 2 3

【樣例輸出 3】

1.3284271

【樣例輸入 4】

2 2 6

【樣例輸出 4】

my poor head =(

【資料範圍與規定】

對於100%的資料,1 ≤ ?,?,? ≤ 10 4 。

#include#include

#include

using

namespace

std;

inta,b,l;

double

q,e,ans;

intmain()

18分 亂搞

/*

兩種情況:

1.在拐角處被卡:以最左下角的點為原點,用矩形與座標軸相交的兩個點可以求出矩形一邊的直線的方程,通過右上方點到這個直線的距離可以求出此時的寬度,然後可以轉換成乙個以寬度為因變數的函式,這個函式是乙個單峰函式,用三分求解

2.在拐角處垂直向上移動,直接輸出b

*/#include

#include

#include

#include

using

namespace

std;

inta,b,l;

double

get(double

v1)int

main()

if (get(m1)

else lv=m1;

}printf(

"%.7lf\n

",get

(rv));}}

}return0;

}

100分 三分

【問題描述】

你是能看到第三題的 friends 呢。

——aoao

樹是個好東西,刪掉樹一條邊要 1 的代價,隨便再加一條邊有 1 的代價,求

最小的代價把樹變成環。

【輸入格式】

第一行乙個整數?,代表樹的點數。

接下來? − 1行,每行兩個數代表樹的一條邊。

【輸出格式】

一行乙個整數代表答案。

【樣例輸入】

41 2

2 32 4

【樣例輸出】

3【資料規模與約定】

3。60%的資料,1 ≤ ? ≤ 10。

對於100%的資料,1 ≤ ? ≤ 100000。

#include#include

#include

#include

#define maxn 100010

using

namespace

std;

intn,num,ans,root;

intinto[maxn],head[maxn];

struct

nodee[maxn*2

];void add(int

from,int

to)void dfs(int now,int

fa) }

}}int

main()

root=1

;

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

if(into[i]==1

) dfs(root,-1

); cout

<1

;}

100分 貪心+暴力

2017 10 5 清北刷題衝刺班p m

對每個聯通塊單獨考慮。每個聯通塊是乙個環套樹,樹邊拎出來可以隨意定向,記樹邊為 m,所以樹的方案數為2 m 對於環來說只有兩種方向,順時針和逆時針,記環邊為 n,所以環的方案就是 2 n 2。最後把每個聯通塊的方案乘起來即可。注意,自環無論如何定向都是環,但這並不違反環的公式,故可以不特判。incl...

國慶清北刷題衝刺班 Day2 下午

time limit 1000ms memory limit 128mb 題目描述 lyk有一本書,上面有很多有趣的oi問題。今天lyk看到了這麼一道題目 這裡有乙個長度為n的正整數數列ai 下標為1 n 並且有乙個引數k。你需要找兩個正整數x,y,使得x k y,並且y k 1 n。並且要求a x...

清北 Noip 2016 考前刷題衝刺濟南班

2016 10 29 週六 第一天 zhx大神 上午,60分,下午,爆零orz 2016 10 30 周天 第二天 炒雞倒霉的一天 zhx大神 據大神第一天的題最簡單。上午,和數學有關,還要推理,轉化思想,把複雜的題簡單化 可是我笨qaq 95分 下午,130 2016 10 31 周一 第三天 換...