20160413模拟

T1,T2太水就不提了

T3 科技树(tec)
  • 题目大意
    • 给定一个 n 行的倒三角,第i行有 ni+1 个位置,每个位置有一个价值,获得 (i,j) 的价值需要先获得 (i1,j)(i1,j+1) 的价值,选定 m 个位置,询问最大价值和
    • n50,m500
  • 题解
    • 当选定一个位置 (i,j) 后, (i1,j),(i2,j)....(1,j) (i1,j+1),(i2,j+2)...(1,?) 也就是以 (i,j) 为顶点的直角三角形一定都会被选
    • 那么最终选的点的下轮廓一定是两边是最高层直线,中间是折线
    • 我们 dp 出轮廓线及其上面的所有点之和的最大值
    • dp[i,j,k]:(i,j) 为轮廓线上的点,选了k个点的最大价值和
    • sum[i,j]=val[i,j]+val[i1,j]+...val[1,j]
    • dp[i,j,k]=max{dp[i1,j,k1]+val[i,j],dp[i+1,j1,ki]+sum[i,j]}
    • ans=dp[0,n,m]
  • CODE
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值