HDU 3016 線段樹 簡單dp

2021-06-09 07:26:49 字數 746 閱讀 9248

題目連線:

#include #include #include #include using namespace std;

struct board

;struct line

;struct node

;board a[2000000];

node tr[1000000];

line l[4000000];

int dp[2000000];

bool cmp(board a,board b)

void update(int c,int s,int e,int f)

if (tr[c].f != -1)

update(c<<1,s,e,f);

update(c<<1|1,s,e,f);

}int query(int c,int v)

int main()

lt=0;

sort(a+1,a+n+1,cmp);

build_tree(1,1,ma);

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

memset(dp,0,sizeof(dp));

dp[n]=100+a[n].v;

for (i=n; i>=1; i--)

}if (dp[0] <= 0)

printf("-1\n");

else

printf("%d\n",dp[0]);

}}

HDU 4521 小明序列 線段樹 DP

題目鏈結 include include include include include include include include includeusing namespace std const int maxn 100005 const int inf 1 30 0x7f int n,d ...

HDU 3607 線段樹 離散化 DP

n個連續的盒子,每個盒子有高度h和價值v,選擇任意一點進入,且從任意一點出來,進入後只能從左向右走,且每次走到的盒子高度必須更高,可以跳過低的盒子 狀態轉移方程 dp i max dp j v i 0 jh j 用線段樹優化,尋找 j include stdio.h include string.h...

hdu 1556 簡單線段樹

漢語題,不解釋 思路 此題是線段樹的染色,先分段染色,可以nlogn級別,在算出每個位置的染色數 求染色數的時候,有兩種方法 1,用乙個數記錄step的值,之後除以2,把每個值相加,直到為一時結束 為從下向上尋找 2,用遞迴,從上往下尋找 下面是我的2 include include include...