为什么MLE了
  • 板块灌水区
  • 楼主zy2008
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/5/3 15:37
  • 上次更新2024/5/3 18:25:29
查看原帖
为什么MLE了
771270
zy2008楼主2024/5/3 15:37

题目传送门

#include<bits/stdc++.h>
#define maxn 1505
using namespace std;
int n,cnt=0,h[maxn],f[maxn][2];
struct edge {
	int nxt,to;
} e[maxn*maxn];
void add(int u, int v) {
	cnt++;
	e[cnt].to = v;
	e[cnt].nxt = h[u];
	h[u] = cnt;
}
int dp(int u,int fa) {
	f[u][1]=1;
	f[u][0]=0;
	for(int i=h[u]; i; i=e[i].nxt) {
		int v=e[i].to;
		if(v!=fa) {
			dp(v,u);
			f[u][0]+=f[v][1];
			f[u][1]+=min(f[v][0],f[v][1]);
		}
	}
}
int main() {
	int k,u,v;
	cin>>n;
	for(int i=1; i<=n; i++) {
		cin>>u>>k;
		for(int j=1; j<=k; j++) {
			cin>>v;
			add(u,v);
			add(v,u);
		}
	}
	dp(1,0);
	int ans=min(f[1][0],f[1][1]);
	cout<<ans;
	return 0;
}
2024/5/3 15:37
加载中...