核心内容摘要
探索91精东传媒果冻传媒:视听盛宴,尽显非凡魅力
P3800 Power 收集题目背景据说在红雾异变时博丽灵梦单身前往红魔馆用十分强硬的手段将事件解决了。
然而当时灵梦在 Power 达到 MAX 之前不具有“上线收点”的能力所以她想要知道她能收集多少 P 点然而这个问题她答不上来于是她找到了学 OI 的你。
题目描述可以把游戏界面理解成一个N NN行M MM列的棋盘有K KK个格子上有 P 点其价值为val ( i , j ) \operatorname{val}(i,j)val(i,j)。
初始灵梦可以选择在第一行的任意一个格子出发每秒她必须下移一格。
灵梦具有一个左右移动的速度T TT可以使她每秒向左或右移动至多T TT格也可以不移动并且在单次移动中不能折返。
移动可视为瞬间完成不经过路途上的点只能获得目标格子的 P 点。
求最终她能获得的所有 P 点的价值总和最大是多少输入格式第一行四个整数N , M , K , T N,M,K,TN,M,K,T。
接下来K KK行每行3 33个整数x , y , v x,y,vx,y,v代表第x xx行第y yy列有一个val \operatorname{val}val为v vv的 P 点数据保证一个格子上最多只有1 11个 P 点。
输出格式一个整数表示灵梦能获得的 P 点的价值总和的最大值。
输入输出样例 #1输入 #13 3 4 1 1 1 3 1 2 1 2 2 3 3 3 3输出 #19说明/提示对于40 % 40\%40%的测试点1 ≤ N , M , T , K ≤ 200 1 \le N,M,T,K \le 2001≤N,M,T,K≤200。
对于100 % 100\%100%的测试点1 ≤ N , M , T , K ≤ 4000 1 \le N,M,T,K \le 40001≤N,M,T,K≤40000 ≤ v ≤ 100 0 \le v \le 1000≤v≤100N , M , K , T N,M,K,TN,M,K,T均为整数。
by-szcC实现#includebits/stdc.husingnamespacestd;#defineMAXN4010inttail0,head1;intn,m,k,t,ans;intq[MAXN],a[MAXN][MAXN],dp[MAXN][MAXN];voidqueue_empty(){//清空窗口tail0,head1;}voidswi(intx,intlast){//插入元素if(xtm){//判断是否超过边界,不加会REwhile(dp[last][xt]dp[last][q[tail]]tailhead){//单调队列tail--;}q[tail]xt;}while(q[head]tx)head;}voidswp(intlast){//初始化窗口for(inti1;it;i){while(dp[last][i]dp[last][q[tail]]tailhead){tail--;}q[tail]i;}}intmain(){scanf(%d%d%d%d,n,m,k,t);for(inti1;ik;i){intx,y,z;scanf(%d%d%d,x,y,z);a[x][y]z;}for(inti1;in;i){//第一行初始化dp[1][i]a[1][i];}for(inti2;in;i){swp(i-