训练赛20160403

训练赛20160403
5:00:00
 
 
Current Time: 2016-04-03 20:17:54Contest Type: Public
Start Time: 2016-04-03 12:00:00Contest Status: Ended
End Time: 2016-04-03 17:00:00Manager: hrbustacm

A题水题

B题一划就出来,水题

C:   01背包变形,,正常的01背包第一层循环都是枚举背包容量,因为B的范围过大,所以我们枚举价值

    dp[j]=min(dp[j],dp[j-value[i]]+weight[i]);

     我们控制dp中的j为value,毕竟value总和题已给出范围《=5000,可以接受,dp[j],代表在获得价值为j的时候,我的背包的重量是多少,之后我们逆序枚举价值,,,第一个符合背包容量的输出即可

 

E: 暴力,,,我们用队列维护暴力过程中0的个数,当0不够时,我们从前面pop(),维护好0的个数问题和总长度就可以了

G:状压dp,比赛的时候没做出来,刚才单独发了

H:  哈夫曼树的原理,,我们将工人分裂的过程抽象为1棵树,,我们利用优先队列,每次pop出键值最小的就可以了,从叶子往根部一步步构造哈夫曼树,维护最大值,结果根节点的值就是答案(每次

   从两个子节点生成父节点的时候注意加上k值

J: 水  题:判断m奇偶性就出来了

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

转载于:https://www.cnblogs.com/13224ACMer/p/5350528.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值