2016.09.17【初中部 NOIP普及组 】模拟赛

17 篇文章 0 订阅
16 篇文章 0 订阅

后三题:

T1_Description:

在当期拥有的集合s中,假设集合里的某一数A,使得集合里的其他数不比A的“风景”好(风景为每个数所拥有的两个权值,当A的两个权值大于B的两个权值则A比B的风景好)则每次找出当前集合里的所有“A”,并标记一下找到他时是第几类(也就是第几次),并把A从集合中去掉,以此类推,直到集合为空为止。


一般的算法,超时.

如何优化?

我们保存一个数组,每次储存第i类的最大值.

那么对于第k个数,只要看看是否比每一类的最大值大,如果大的话就证明第k个数是属于这一类的,且更新这一类的最大值,但如果没有的话,则需要多加一类.

效率,接近O(n).


T2_Description:

一个长度为n的数字串,删除M个数,使得剩下的数所组成的数最小。


这题只告诉了我一个道理,字符串很慢.

好咯,字符串怎么做就改成数组吧.

可以用模拟链表或者标记选过的数.


T3_Description:

01背包+完全背包+分组背包.


这里需要注意的是:

要对01背包和完全背包做完一遍之后,再做分组背包。


收获:

不管是对于什么背包,只要他只能选一次的,那么就是从vdownto 0,否则就是0tov!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值