倒卖战利品

Posted 炫云云

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了倒卖战利品相关的知识,希望对你有一定的参考价值。

倒卖战利品

在游戏中,击败魔物后,薯队长获得了N件宝物,接下来得把这些宝物卖给宝物回收员来赚点小钱。这个回收员有个坏毛病,每次卖给他一件宝 物后,之后他就看不上比这件宝物差的宝物了。在这个世界中,衡量宝物的好坏有两个维度,稀有度X和实用度H,回收员在回收一个宝物A 后,下一个宝物的稀有度和实用度都不能低于宝物A。那么薯队长如何制定售卖顺序,才能卖给回收员宝物总个数最多。

输入描述:
第一行一个正整数N。 接下来N行。每行两个整数分别表示X    和    H X1    H1 X2    H2 … XN    HN

输入限制: 对于70%的数据: 
0<N<10^4 
0<Xi<10^6 
0<Hi<10^6 
100%的数据:
0<N<10^6
0<Xi<10^6 
0<Hi<10^6
输出描述:
一个整数,表示最多可以卖出的宝物数
输入例子1:
4
3 2
1 1 
1 3
1 2
输出例子1:
3

300. 最长上升子序列

if __name__ == '__main__':
    n = int(input())
    score = []
    for i in range(n):
        score.append(list(map(int, input().split())))

    score.sort()
    nums = []
    for i in range(n):
        nums.append(score[i][1])

    stack = [nums[0]]
    for i in range(1,n):
        if nums[i] >= stack[-1]:
            stack.append(nums[i])
        else:
            left,right = 0,len(stack)
            while left<right:
                mid = (left+right)//2
                if stack[mid] >= nums[i]:
                    right = mid
                else:
                    left = mid + 1
            stack[left] = nums[i]
    print(len(stack))

以上是关于倒卖战利品的主要内容,如果未能解决你的问题,请参考以下文章

在 Swift 中随机生成战利品 [关闭]

如果我迅速获得战利品然后离开,为啥这个 roblox 脚本不会保存?

开源项目在闲鱼b 站上被倒卖?这是什么骚操作?

开源编辑器VS Code被倒卖,微软和谷歌看了都要沉默

开源编辑器VS Code被倒卖,微软和谷歌看了都要沉默

开源编辑器VS Code被倒卖,微软和谷歌看了都要沉默