• 泥点spot


    Spot 
    描述 
    有n个泥点,排成一排,第i个泥点坐标为ai。有m个木板,第i个木板长为li。现在用尽可能少的木板覆盖所有泥点。 
    问:使用木板的最少数量以及最优方案数(mod 1000000007),若不能完全覆盖,请输出“NO”。 
    注意: 
    泥点可重复覆盖,木板可重叠。 
    计算方案时,长度相等的两个板不等价,视为两种板。 
    输入 
    第1行:一个数n 
    第2行:n个数a1,a2…an(从小到大给出) 
    第3行:一个数m 
    第4行:m个数l1,l2…ln 
    输出 
    第1行,一个数,使用木板的最少数量 
    第2行,一个数,最优方案数 
    若不能完全覆盖,请输出“NO” 
    样例输入 



    10 
    样例输出 

    10 
    数据范围和约定 
    对于20%的数据:n=1 
    对于另外20%的数据:m=1 
    对于100%的数据: 
    1<=n,m<=15 
    0<=ai<=1000000000 
    1<=li<=1000000000 
    时空限定 
    内存限制为 512 MB 
    时间限制为 1 s 
    评测环境和细则 
    评测开启-O2优化 
    评测软件为lemon 
    评测忽略行尾空格 
    文件名 
    提交文件名为spot.cpp/pas 
    输入文件名为spot.in 
    输出文件名为spot.out

    n,m<=15,先确定是状压

    一开始f[i][j],i表示前i个木板,j压的是泥点 
    再用g[i][j] 在dp的时候记录方案数 
    但是要考虑的情况会多到爆炸 
    在卡了一个下午后,本蒟蒻毅然决然的决定 换!状!态!!!!

    用f[i][j],i表示前i个泥点,j压的是木板,f[i][j]表示方案数 
    初始化成负数 
    最后再扫一遍f[n][0-maxp],找不是负数中最小的,没找着就输出”NO” 
    这样比以前的好处是: 
    泥点最后一定要全都选完,但木板不一定,比较好转移。

    错误的第一次code

  • 相关阅读:
    关于Tomcat版本的使用
    Twitter
    Thinkpad在Windows8上热键的解决方案
    关于C#中程序当前目录的小随笔
    【Network】OSPF排错及其七种状态机
    如何修改已有的ONNX模型
    安全计算环境(三)Windows服务器4
    安全计算环境(三)Linux服务器5
    安全计算环境(三)Linux服务器2
    安全计算环境(二)防火墙2
  • 原文地址:https://www.cnblogs.com/A-LEAF/p/7225397.html
Copyright © 2020-2023  润新知