Problem - 9D - Codeforces
https://codeforces.com/problemset/problem/9/D
一開始居然還想直接找公式的,想了想還是放棄了。原來這種結構是要動態規劃。
狀態是知道怎麽設了,tnh表示節點數為n個,樹高為h的BST的個數。
為什麽要這麽設狀態呢?是考慮到題目關心BST的高度,而且BST具有遞歸性。
但是這個關鍵就是要加上n個節點的標記,因為不同節點數量明顯可以構造出的高為h的樹不同,而且也會影響BST另一側的構造。
所以說設對狀態就做對了一半。
思路就是按高為h的BST是怎麽由高為h-1的BST加上根節點轉移過來的,重點是向上轉移而不是向下轉移。
首先你要分類討論,這個根節點的數字是m,那麽左邊會有1~m-1共m-1個節點,右邊則有n-m個節點,然後分
1.左子樹的高是h-1,右子樹的高是0~h-1(假如可以放得下的話)。
2.右子樹的高是h-1,左子樹的高是0~h-2(註意是h-2,否則和上面重復)
左右子樹的構造是獨立的,所以相乘。兩種情況的分類的,所以相加。
最後遍歷一遍m得到所有tnh的和。
Problem - 9D - Codeforces
相關推薦
Problem - 9D - Codeforces
nbsp strong 討論 分類討論 bst 規劃 img 轉移 怎麽 https://codeforces.com/problemset/problem/9/D 一開始居然還想直接找公式的,想了想還是放棄了。原來這種結構是要動態規劃。 狀態是知道怎麽設了,tnh表示節點
Codeforces Round #424 (Div. 2, rated, based on VK Cup Finals) Problem F (Codeforces 831F) - 數論 - 暴力
push_back pla ota round problem ont first push note Vladimir wants to modernize partitions in his office. To make the offic
Codeforces Round #439 (Div. 2) Problem C (Codeforces 869C) - 組合數學
note als 9.png fig fine 連接 time mod reac — This is not playing but duty as allies of justice, Nii-chan! — Not allies but j
「專題訓練」Hard problem(Codeforces Round #367 Div. 2 C)
題意與分析 題意:給出\(n\)個字串,可以反轉任意串,反轉每個串都有其對應的花費\(c_i\)。經過操作後是否能滿足字串\(\forall i \in [1,n] \text{且} i \in R_+, str[i]\ge str[i-1]\),若能輸出最小花費,否則輸出-1。 分析:經過各種字串dp血虐
D. Ehab and another another xor problem(Codeforces Round #525 (Div. 2))(互動題)
傳送門 題意:這是個互動題,題意是這樣的,現在不知道a,b的值,但是有三種操作, 然後每次問完問題,也就是你輸出你的c和d,互動系統會給出相應的值(1/0/-1),然後你最多可以問62個問題,最後確定出這個a和b是多少?資料範圍: 題解:要想確定a和b的值,況且a,b的範圍最多是3
Problem--133A--Codeforces--A. HQ9+
A. HQ9+ time limit per test2 seconds memory limit per test256 megabytes inputstandard inp
Problem--112A--Codeforces--A. Petya and Strings
A. Petya and Strings time limit per test2 seconds memory limit per test256 megabytes inpu
Problem--41A--Codeforces--Translation
A. Translation time limit per test2 seconds memory limit per test256 megabytes inputstand
Problem F CodeForces 16E
Description n fish, numbered from 1 to n, live in a lake. Every day right one pair of fish meet, and the probability of each other pair
Problem--61A--Codeforces--A. Ultra-Fast Mathematician
A. Ultra-Fast Mathematician time limit per test2 seconds memory limit per test256 megabytes inputstandard input outp
Problem--50A--Codeforces--Domino piling
Domino piling time limit per test2 seconds memory limit per test256 megabytes inputstand
Codeforces 803G Periodic RMQ Problem ST表+動態開節點線段樹
ces 細節 ren urn 區間覆蓋 d+ ins cstring pro 思路: (我也不知道這是不是正解) ST表預處理出來原數列的兩點之間的min 再搞一個動態開節點線段樹 節點記錄ans 和標記 lazy=-1 當前節點的ans可用 lazy=0 沒被
codeforces 798C Mike and gcd problem
opera can sample pan using str ssl else font C.Mike and gcd problem Mike has a sequence A?=?[a1,?a2,?...,?an] of length n. He cons
Codeforces Round#413 Problem A - C
false font vector for循環 type als 不存在 pac 鏈接 [寫在前面感(亂)嘆(七)人(八)生(糟)的話] 本想借此機會一口氣玩到藍名,結果,A題寫炸(少判了一種情況),C題寫炸(辜負了我5分鐘狂敲出來的線段樹),結果又掉Rating..
Codeforces Beta Round #2 C. Commentator problem
ng- mco sca snippet [1] div fine ostream codeforce 模擬退火果然是一個非常高端的東西,思路神馬的全然搞不懂啊~ 題目大意: 給出三個圓,求一點到這三個圓的兩切線的夾角相等。 解題
Codeforces Round #360 (Div. 2)C. NP-Hard Problem
並且 pri baidu code int str 兩個 printf 染色 題意:給出一個無向圖,問是否可以是二分圖, 思路:染色就行了,二分圖又稱作二部圖,是圖論中的一種特殊模型。 設G=(V,E)是一個無向圖,如果頂點V可分割為兩個互不相交的子集(A,B),並且圖中的
CodeForces 776D The Door Problem【並查集】
merge cnblogs 表示 turn pro name 所有 force mes CodeForces 776D The Door Problem【並查集】並查集 設 f 1--m 表示 開的情況 m+1--2*m 表示關的情況 對於每盞燈 如果他 是關
Codeforces Round #423 (Div. 2, rated, based on VK Cup Finals) Problem A - B
initial index 技術 ble continue efi whole ret rem Pronlem A In a small restaurant there are a tables for one person and b tables for t
Codeforces 776D.The Door Problem (dfs二分圖判定 / 並查集)
二分圖染色 space find inline lin rem amp 屬於 兩個 題目鏈接: http://codeforces.com/problemset/problem/776/D 題意: n扇門,m個開關(n,m<=1e5),每個開關控制若幹個門,反轉開關門
Codeforces Round #427 (Div. 2) Problem C Star sky (Codeforces 835C) - 前綴和
題目 scan 開心 color 一個 lin cond cati ict The Cartesian coordinate system is set in the sky. There you can see n stars, the i-th has coordi