生态系统开更啦~【选必二】| 0基础救星

关于数食物链的算法,图论和动态规划可以轻松快速准确地解决问题;
首先我们定义所有相邻箭头指出的节点(一般是草)为“根节点”,定义所有相邻箭头指向的节点(一般是顶级捕食者,可以有多个)为叶子节点;
然后将母问题划分为小问题,问总食物链数,可以为每一个节点设置一个属性值,即为以该点为终点的食物链条数,易证此问题满足无后效性。并且每个点的属性值为所有指向他的节点的属性值的总和;
最后,易得根节点属性为1,向所有指向节点属性值皆为已知的点递推;
所有叶子结点的属性值之和即为所求