问几个最近遇到的几个编程题(求算法):
1.给n个学生,每个学生有一个值m,-50<=m<=50,从中选k个学生,要求相邻学生的编号差小于d,使得k个学生m值的积最大如
输入(第一行为n,第二行为m值,第3行为k,d)
3
7 4 7
2 50
这个算法怎么写呀(主要是m有时候会为负值,动态规划肯定能解),各位大神
拜托给个算法
2.给一个n,求1<=a,b,c,d<=n,使得a^b=c^d成立的个数,如n=1,1^1=1^1,最后输出1,这个有没有谁做过,能给个不超时的算法吗?(自己写的4个循环的嵌套,超时了,然后我就改成了一个递归的,分两步先算a,b,c,d中不带n的这个就等于给n-1的值再算a,b,c,d中含n的但是结果有不对)