
树形dp
IZUMIXINGI
这个作者很懒,什么都没留下…
展开
-
CF212E IT Restaurants
考虑删除每一个点之后,对所有相连的支干大小进行背包#include<bits/stdc++.h>#pragma comment(linker, "/stack:200000000")#pragma GCC optimize("Ofast")#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")#define debug(x) cout<<#x<<" is "<原创 2021-11-06 12:41:55 · 170 阅读 · 0 评论 -
[树形DP | Uva 1218]Perfect Service
dp[i][0]表示以i为根的且i被选为服务器的最小服务器数dp[i][1]表示以i为根且i不被选为服务器,而i父亲为服务器的最小服务器数dp[i][2]表示以i为根且i不被选为服务器,而i父亲也不被选为服务器的最小服务器数dp[i][0] = Sum(max(dp[j][0],dp[j][1]) + 1dp[i][1] = Sum(dp[j][2])dp[i][2] = min(dp[i][1] - dp[j][2] + dp[j][0])#include<bits/stdc++.h&g原创 2020-11-01 00:46:25 · 124 阅读 · 0 评论 -
Uva1220 12186树形DP
uva 12186:学会用c = (k * T + 100 - 1) / 100 向上取整了,解释一下:如果k * T 能够整除100则 + 99/100不影响结果,同时如果(k * T % 100 != 0) 肯定∈[1,99]加上 99 则∈[100,198] 他们/100 都等于1,就产生了进一的效果。#include<bits/stdc++.h>#define debug(x) cout<<#x<<" is "<<x<<endl#原创 2020-10-31 12:25:42 · 141 阅读 · 0 评论