2026.10.08总结

DP

上午题单(主要A~E写的单调队列优化,F前缀和)

前缀和为什么算数据结构……

下午比赛

T1贪心+摸你即可 (没有判能不能就前缀和,饭堂) 30pts--

T2摸你即可 (定义f[4]又用了f[4],升幂越界还不报错导致弘文) 70pts--

T3线性DP,设DP[N][0/1]和单调性想到了,但不能钦定当前时间i一定选……two pointers或二分都行

T4BIT/segment tree优化DP

  dp[i]=dp[i-1]// 不选第 i 张牌
  若 pre[i]>0:// 第 i 张是第二次出现
    dp[i]=max(dp[i],dp[pre[i]-1]+v[a[i]])//继承pre[i]-1直接拿a[i]
    dp[i]=max(dp[i],query(pre[i]-1)+v[a[i]])//交叉选一个所有满足pre[j]<pre[i] <j<i的j中,dp[pre[j]-1]+v[a[j]] 的最大值
    //说白了就是在(pre[i]~a[i]]只贪一个最大的+当前a[i]
    upd(pre[i],dp[pre[i]-1]+v[a[i]])//更新取值范围

答案:dp[2*n]
posted @ 2026-10-08 20:05  xmd11  阅读(2)  评论(0)    收藏  举报