虽然分类在较复杂图论里,但有一种神奇的操作思想可以避免使用一切图论方法。
https://www.luogu.org/blog/curtis-1020/solution-p1113
如何将图论题做成dp.jpg
#include
#include
#include
#include
#include
using namespace std;
const int maxn=50010;
int t;
int ans[maxn],tot=-1e9;
int main()
{
cin>>t;
while(t--)
{
int num,l,tmp=0;
int q;
cin>>num>>l;
while(cin>>q&&q!=0)
{
tmp=max(tmp,ans[q]);
}
ans[num]=tmp+l;
tot=max(tot,ans[num]);
}
cout<