NOIP2020求看第一题思路是否正确
  • 板块学术版
  • 楼主荒凌
  • 当前回复2
  • 已保存回复2
  • 发布时间2020/12/6 16:34
  • 上次更新2023/11/5 06:30:34
查看原帖
NOIP2020求看第一题思路是否正确
370768
荒凌楼主2020/12/6 16:34

听大佬们说是拓扑,但是我用的却不是; 大概是这样的,我存图没有用熟悉的邻接表(大概是错误的主因吧)而是用了一个二维数组,但不是邻接矩阵,我只不过把他们给的数据存到里面,

int a[N][9];

然后用队列存储当前点的上面连接的点

queue<ll>q[N];

然后就是读入(貌似没问题)

	cin>>n>>m;
	for(int i=1;i<=n;i++){
		cin>>a[i][7];
		for(int j=1;j<=a[i][7];j++)
                {
			cin>>a[i][j];
			q[a[i][j]].push(i);
		}
	}

然后就是主循环,循环n次,

在主循环中,第一个循环递推求出下边点的值

然后再用循环对当前点下的点的上面的点的值进行累加操作,最后可以得出下面的点值,然后再反复处理,直到该程序的所有出口

但是,,,,,

2020/12/6 16:34
加载中...