感动西牛

文章
6
资源
0
加入时间
2年10月21天

2020 ICPC南京 M.Monster Hunter(树形背包)

题目大意  给你一棵树,你可以去掉i个点(i∈[0,n]i\in[0,n]i∈[0,n]),然后计算剩余结点的贡献,每个结点的贡献为它本身的价值加上它所有儿子的价值。当然你需要合理安排删去的i个结点使贡献最小化。输出每个i对应的贡献值。解体思路  树形dp,由于结点的贡献与周边的结点有关,所以还需要再开一维状态状态设计:dp[0][i][j]dp[0][i][j]dp[0][i][j] 表示删掉结点i,并且子树中留下j个结点的价值。dp[1][i][j]dp[1][i][j]dp[1][i][j

python numpy中nonzero()的用法

当使用布尔数组直接作为下标对象或者元组下标对象中有布尔数组时,都相当于用nonzero()将布尔数组转换成一组整数数组,然后使用整数数组进行下标运算。nonzeros(a)返回数组a中值不为零的元素的下标,它的返回值是一个长度为a.ndim(数组a的轴数)的元组,元组的每个元素都是一个整数数组,其值为非零元素的下标在对应轴上的值。例如对于一维布尔数组b1,nonzero(b1)所得到的是一