2016.8.12总结

    xiaoxiao2025-04-09  13

    总结:

    这次的考试考了第10名,是一个很大的突破,但是仍需努力,下次争取下次可以考到更好的成绩。

    下面来分析一下这次的程序: [1]游荡的奶牛 是一道动态规划类的题目,首先,我们要用一个标志, bz[i,j]为真,表示这个地方可以走,那么,输入时不用用数组,只需要用一个变量来输入,然后再用标志来记录下这个地方可不可以走。 然后就动态规划的部分了,状态转移方程为: { f[i,j,k]:=f[i,j,k]+f[i+fxi[d],j+fxj[d],k]; [2] 渡河问题  这题也是一题典型的动态规划类问题,一开始我想, f[i,j]表示过去了i头牛,现在要过去j头牛的最优值,但后来一想,这个j实在是没用阿,所以改成f[i]表示已经过去了i头牛的最优值。 所以我们可以用两重循环,一重枚举i,一重枚举j,j就是现在要过去的牛数。枚举j时是i downto1 所以,状态转移方程为: {f[i]:=min(f[i],f[i-j]+m[j]); m[j]是前面输入的东西,经过处理之后形成的精华 首先m[0]=2*(FJ一次去的时间) 然后就可以在输入时把每次的累加起来,形成这个m数组。 在后面可以直接使用。 [3] 土地购买  这就是一题贪心题,双重循环去枚举两组长和宽,看他们可不可以合并,如果可以那就合并,这样就可以取到最优值。 当我们正常算时,就是x1*y1+x2*y2,而我们需要合并后就是能 取max(x1,x2)*max(y1,y2);所以合并的条件就是如果x1*y1+x2*y2要大于max(x1,x2)*max(y1,y2)那就说明,合并后会更优。 最后用ans(一定要用int64,不然会爆)计算所有的最优值。 [4] 珍珠分对 这题非常简单,只需要把珍珠的数量换成实质的编号物体,例如: 2 2 4 一有两个,二有两个,三也有两个,把它化成1 1 2 2 3 3 3 3  这样再用指针指向每一个数字,进行匹配,直接输出。 就这么简单!
    转载请注明原文地址: https://ju.6miu.com/read-1297906.html
    最新回复(0)