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]

浙公网安备 33010602011771号