1

T1:用了个递推的方法,枚举每一种药放进去或者不放进去,把剩下的体力值和背包容量所剩下的,还有枚举到了第几个药。每次都做一次比较。当然,这是傻逼做法 (对于第一题没对的人很深奥) 。正解是开一个3维数组f。然后就是十分高能的dp方程。最后,就AC了(吐槽一下,为什么考试时分数这么低?!!)。
T2:淼,纯模拟便可以过,只是要注意快排中的第二条件,把判断条件改成:
                while (jla[i,1]>m) or ((jla[i,1]=m) and (jla[i,2]<m2)) do inc(i);
                while (jla[j,1]<m) or ((jla[j,1]=m) and (jla[j,2]>m2)) do dec(j);
                便可。
T3:递推。先计算出选1~n个数的方法,然后用一个很神奇的水法,过了。f[i,j]表示用到第i个数,一共抽了j个数的方案总数。有f[i,j]=sum{f[i-1,j-k]},边界为f[i,0]=1。
T4:请你把爆搜和宽搜的想法丢到一边去,(除非你是那一种可以优化到1000ms之内的人)从裤兜里掏出一个神奇的神器————————动态规划。(此处应有掌声)把边界都改成maxlongint,f的初始化很重要。加一个
                        f[i,j]:=max(f[i-1,j],f[i,j-1])+map[i,j];
f的初始化很重要。重要的事情说三遍,f的初始化很重要。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值