zoukankan      html  css  js  c++  java
  • HDU 4352 XHXJ's LIS HDU(数位DP)

    HDU 4352 XHXJ's LIS HDU

    题目大意

    给你L到R区间,和一个数字K,然后让你求L到R区间之内满足最长上升子序列长度为K的数字有多少个

    solution

    简洁明了的题意总是让人无从下手
    数字——数位DP
    根据题意定义数组
    第一维:数位
    第二维:数位状态01串
    第三维:个数K的大小
    说说心路历程:
    写的时候没有注意到前导零的可能型(通过看大佬的blog发现的

    问题就是如何进行状态转移(手动@LC参考了LC的题解
    我们用一个长度为10的二进制数表示数字几有没有被选到
    如果为0,则表明该位对应的数字是最长上升子序列的一部分,反之则不是
    每次遍历时,如果新加入的数是最大的,我们就直接把该数代表的位置置为1就可以
    如果新加入的数不是最大的,我们就把第一个小于等于该位的数置为0,把新加入的位数置为1
    统计长度时只要看有几个1就可以了

    题解看懂了,code未完成

  • 相关阅读:
    随机数
    ASP .NET下的301重定向如何做
    网站外部链接建设方案
    解析ASP.NET WebForm和Mvc开发的区别
    委托、匿名委托和lambda表达式
    图片垂直居中
    jquery函数写法
    [转]函数方法常用的动词
    CSS Hack
    富文本编辑器
  • 原文地址:https://www.cnblogs.com/rui-4825/p/12753793.html
Copyright © 2011-2022 走看看