首先对于这个题目背景,,个人认为很(you)好(qu),,, 核心就是一个裸的二维费用背包,刚刚学习的同学参见dd大牛的背包九讲 #include <cstdio> #include <cstring> #include <algorithm> int n, m, t; ][]; int mi, ti; int main () { scanf("%d %d %d", &n, &m, &t); ; i <= n; i++)…
FATE 这道题和完全背包十分类似,只不过加上了忍耐度这个条件限制,所以很正常的想到用三维数组来模拟.但背包问题优化只有一层循环,这里当然也可以把种类这一层省略.d[i][j]表示杀i只怪耗费忍耐度为j时所能获得的最大经验值.于是里面一个完全背包就好了. const int N=1e2+10; int d[N][N];//d[i][j]表示杀i只怪耗费忍耐度为j时所能获得的最大经验值: int main() { int n,m,k,s; while(~scanf("%d%d%d%d",…