zoukankan      html  css  js  c++  java
  • PKU 1036

    http://acm.pku.edu.cn/JudgeOnline/problem?id=1036

    分析:重点在于,状态变化可以有 0 ,-1 ,+1.

    所以t0在 t时间内的状态变化量可以是 [t0-t:t0+t];

    根据时间排序,状态方程

    ans[i]=max(ans[k])+col[i].p;    (0<=k<i,且(col[i].t-col[k].t>=|col[i].s-col[k].s|))

    虽然是很简单的DP

    但是,由于我把数据存在 1——N中。。col [0]各项都设为0.排序的时候要sort(col,col+n+1,comp);多次忘记加1。。囧

    但还是WA ,

    原因很简单,我把ans[i](0 <=i<=n)都初始为0,MAX也初始化为0,在判断某个项是否可取时,发生了错误。

    因而把ans[i]初始化为-1 MAX=0。从而判断某个项是否可取

    或者,只初始化ans[0]=0. MAX初始为-1,如果ans[i]不可取,就等于-1。

    AC 复杂度:O(n^2)

    状态量为p[i].

    状态转移的边界条件为时间(重点)。而且数据比较小。(n<100,)

    明显T<30000不是状态量

    拓展:跟最长单调递增子序列想法基本一致。。。细节方面需要注意

    但是我的比较费时间,,想起最长单调递增子序列有(nlog n)的算法,于是琢磨。

    用b[k]记录长度为K的子序列的最小元素

    这是基于子序列的单调性质的,,然后用二分

    可是这道题。。好像没有单调性质哦。。,

    琢磨不出 希望大牛们赐教!!!!

  • 相关阅读:
    1058
    light oj 1067 费马小定理求逆元
    HDU 1022
    贪心
    HDU 4994 博弈。
    HDU 5234 背包。
    CodeForces 327B 水题。
    vue的$nextTick使用总结,this.$refs为undefined的解决办法,element Ui的树形控件setCheckedKeys方法无法使用
    Object.assign的用法
    react + antd 实现打印功能(踩了不少坑)
  • 原文地址:https://www.cnblogs.com/gdutbean/p/1694159.html
Copyright © 2011-2022 走看看