P3800 Power收集
传送门
DP
每次向下一格,显然是DP
方程也十分显然:
设$f[i][j]$为到第$i$行第$j$列时能得到的最大价值
显然$f[i][j]=max(f[i-1][k]+v[i][j]),( max(0,j-t)<=k<=min(m,j+t) )$
然后40分,其他超时..
考虑优化
方程稍微变一下:$f[i][j]=max(f[i-1][k])+v[i][j],$
同样$max(0,j-t)<=k<=min(m,j+t)$;
发现只要能快速处理出$f[i-1][k]$的最大值就能快速更新$f[i][j]$
因为区间大小不会改变(不考虑达到边界),改变的只有区间的开端,所以可以考虑通过单调队列预处理..
然后就结束了,稍微注意边界问题就好了
#include<iostream> #include<cstdio> #include<algorithm> #include<cmath> #include<cstring> using namespace std; int n,m,k,t; int map[4005][4005],f[4005][4005]; int q[4005],ans[10005]; int main() {int a,b,c;cin>>n>>m>>k>>t;int s=t*2+1;while(k--){scanf("%d%d%d",&a,&b,&c);map[a][b]=c;}//cout<<endl;for(int i=1;i<=n;i++){int head=1,last=0;//单调队列预处理for(int j=1;j<=m+t;j++)//注意j到m+t {while(head<=last&&f[i-1][j]>=f[i-1][q[last]])last--;while(head<=last&&j-q[head]>=s)head++;q[++last]=j;ans[j]=f[i-1][q[head]];//cout<<ans[j]<<" "; }for(int j=1;j<=m;j++)f[i][j]=ans[j+t]+map[i][j];//cout<<endl; }int Ans=0;for(int i=1;i<=m;i++)Ans=max(Ans,f[n][i]);cout<<Ans;return 0; }
转载于:https://www.cnblogs.com/LLTYYC/p/9506699.html
P3800 Power收集相关推荐
- AC日记——Power收集 洛谷 P3800
Power收集 思路: 单调队列优化dp: 代码: #include <bits/stdc++.h> using namespace std; #define maxn 4005 stru ...
- Power收集[单调队列+DP]
传送门 将上一轮合法的加进来 , 更新答案之前弹出和重新将后面和发的放进来就可以了 #include<bits/stdc++.h> #define N 4050 using namespa ...
- 对于有关东方的题目的整理。。
东方赛高 此为总贴 收录以东方project为背景的题目. 模拟赛套题...(25道)无数据,有题面:二次联通门 1. luogu P3345 [ZJOI2015]幻想乡战略游戏 动态点分治(暴力水过 ...
- 编码规范重要性_沟通比您的编码技能更重要
编码规范重要性 TL; DR (TL;DR) Communication is More Important Than Your Coding Skills 沟通比您的编码技能更重要 A few sh ...
- 【时间序列】使用微软Power BI进行时间序列预测
作者 | GUEST 编译 | VK 来源 | Analytics Vidhya 介绍 时间序列预测是机器学习的一个非常重要的领域,因为它让你能够提前"预见"并据此制定业务计划. ...
- Power BI商业智能与业务分析的结合,让你在企业中脱颖而出
传统上,企业将数据战略集中在power BI商业智能(BI)上,但预测和规范分析平台的兴起,部分归功于机器学习和人工智能,正在改变这个方程式.即使是商业智能本身也在不断发展,这也是以前业务分析平台独有 ...
- Indian Scientists Design Device to Collect Solar Energy 印度科学家设计太阳能收集设备
Indian scientists have designed a new device they hope will solve one of the biggest problems with t ...
- Access把每一天的数据累加_7天学会Power BI分析淘宝数据
可能很多人看到这个标题的时候已经懵了,Power BI 是什么鬼?接下来,我将为你一一解释. 首先,作个简单的自我介绍,接触电商3年多,暂时还没有年销售上亿的店铺运营经历,对数据分析有一定的经验.现在 ...
- power bi可视化表_如何使用Power BI可视化数据?
power bi可视化表 什么是数据可视化? (What is Data Visualization?) With the technological revolution, data went fr ...
最新文章
- 明年,我要用 AI 给全村写对联
- python3入门书籍-零基础自学python3 好用的入门书籍推荐
- /proc/kcore失效,调试其文件系统相关模块,使重新正常工作
- orleans/Documentation
- PHP常用工具方法集...
- linux的系统移植——序言
- iphone双卡_单卡 iPhone 变双卡,3分钟搞定安卓备用机短信——IFTTT妙用
- android 多级分组,android 二级菜单(类似QQ分组)
- 谷歌 Chrome Dev Tools 浅析 – 成为更高效的 Developer
- unity将本地文件上传到mysql_unity上传数据到数据库
- 关闭浏览器后Session失效原因分析
- JavaScript等于 == 与 恒等于 === 的区别
- 使用DroidCam将手机作为PC的摄像头
- arcgis怎么压缩tif文件_pdf文件过大怎么办?3种免费压缩PDF的方法
- python数据可视化代码示例
- cap7 集成学习和随机森林
- 计算机主机箱内部各部件,电脑主机箱内的部件组装图解
- style = “color:####“包含的颜色名称对照表
- RTX3070和2080Ti 哪个好
- lab值意义_色差仪lab值如何分析
热门文章
- vue、cnpm不是内部文件_选购办公室钢制文件柜花都文件柜厂家为我们全面解读这一块的知识...
- medit 和 .mesh 文件
- Lesson 2 Gradient Desent
- 编写一个Java程序将当100,101,102,103,104,105个数以数组的形式写入到Dest.txt文件中,并以相反的顺序读出显示在屏幕上。
- 随机森林的原理及Python代码实现
- android 美团滑动停止,cc美团 滑动删除(SwipeListView)
- 黑苹果cpu架构???_自研桌面CPU,苹果对英特尔发“分手信”
- python手写一个迭代器_搞清楚 Python 的迭代器、可迭代对象、生成器
- log4j 新建日志 重启_Java中log4j控制写入日志开关
- Windows 8 Directx 开发学习笔记(二)建立模型及初始化设备