乙個類似於博弈的dp
我們要保證乙個人最優,那麼我們有兩種選擇
當前點拿,我們從上次取的權值和加當前權值轉移
不拿的話,第二個人也拿不了,繼承原來的值
#include
#include
#include
#include
#include
using
namespace std;
const
int maxn =
700007
;typedef
long
long ll;
ll f[maxn]
,val[maxn]
,g[maxn]
,n;int
main()
else
} ll ans1=
0,ans2=0;
for(
int i=
1;i<=n;i++)}
printf
("%lld %lld"
,ans1,ans2)
;return0;
}
Usaco2008 Jan 電話網路
一道比較神的樹形dp,恕我太菜,一開始想的是三維的。實際上並不需要三維,只需要用0,1,2表示即可 d p u 0 dp u 0 dp u 0 表示當前點不放,他的某乙個兒子覆蓋他的代價 d p u 1 dp u 1 dp u 1 表示當前點放,他的子樹也被覆蓋的代價 d p u 2 dp u 2 ...
Usaco2008 Jan 電話網路
第2.n行 每行為2個用空格隔開的整數a b,為兩塊相鄰草地的編號 5 1 35 2 4 33 5 輸入說明 farmer john的農場中有5塊草地 草地1和草地3相鄰,草地5和草地2 草地 4和草地3,草地3和草地5也是如此。更形象一些,草地間的位置關係大體如下 或是其他類似的形狀 輸出2 輸出...
USACO22 JAN 做題記錄
暴力題。include includeusing namespace std const int maxk 27 int ans1,ans2 int cnt maxk ok 4 4 string s 4 t 4 int main for int i 1 i 3 i for int j 0 j 3 j...