洛谷 P2096 最佳旅游线路
某旅游区的街道成网格状。其中东西向的街道都是旅游街,南北向的街道都是林阴道。由于游客众多,旅游街被规定为单行道,游客在旅游街上只能从西向东走,在林阴道上则既可从南向北走,也可以从北向南走。
阿龙想到这个旅游街游玩,他的好友阿福给了他一些建议,用分值表示所有旅游街相邻两个路口之见的街道值得游览的程度,分值是从-100到100的整数,所有林阴道不打分。所有分值不可能全是负分。如图:

输入输出格式
输入格式:
输入文件的第一行是两个整数m和n,之间用一个空格隔开,m表示有m条旅游街(1≤m≤100 ),n 表示有(n+1)条林阴道(1≤n≤20001 )。接下来的m行依次给出了由北向南每条旅游街的分值信息。每行有n个整数,依次表示了自西向东旅游街每一小段的分值。同一行相邻两个数之间用一个空格隔开。
输出格式:
输出文件只有一行,是一个整数,表示你的程序找到的最佳游览线路的总分值。
输入输出样例
3 5
-50 -47 36 -30 -23
17 -19 -34 -13 -8
-42 -3 -43 34 -45
输出样例#1:
84
e,边做题,边写题解,大致读了遍题,是道 贪心,
那么我们分析一下题,图大概是下面这个样子:

------------
竖直方向可以随便走嘛,所以求出每一列
的最大值,再做比较就可以了。
------------
but,命运多舛,交了一遍,80分,有两个点过不了,重读遍题发现:对了,不一定要在最右边结束,也不一定在最左边开始,这点很重要,这才AC了此题。
先上代码
------------
八十分版
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
#define ll long long
#define R register
#define mmax 20002
ll n,m,maxx=-0x7fffffff,ans;
ll tu[][mmax],da[mmax];
int main()
{
/*freopen(".in","r",stdin);
freopen(".out","w",stdout);*/
cin>>m>>n;
for(int i=;i<=m;i++)
for(int j=;j<=n;j++)
{
cin>>tu[i][j]; //输入
}
/*for(int i=1;i<=m;i++)
for(int j=1;j<=n;j++)
{
cout<<tu[i][j]<<" ";
}*/ for(int i=;i<=n;i++)
{
maxx=-0x7ffffff;
for(int j=;j<=m;j++)
{
if(tu[j][i]>maxx)//注意i和j的顺序
{
da[i]=tu[j][i];
maxx=tu[j][i];//
} }
}
/*for(int i=1;i<=n;i++)
{
cout<<da[i]<<" ";//最大值
}*/
ll qzh1=,qzh2=;
for(int i=;i<=n;i++)
{
qzh1=qzh2+da[i];
qzh2=qzh1;
if(ans<qzh1) ans=qzh1;
}
cout<<ans<<endl;
/*fclose(stdin);
fclose(stdout);*/
return ;
}
------------
一百分版
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
#define ll long long
#define II int
#define R register
#define mmax 20002
#define inf 0x7ffffff
II n,m,ans;
II tu[][mmax],da[mmax];
II mxsum(II *x){ //最大子串和
II th=;
II mx=;
for(R II i=;i<=n;++i){
th+=x[i];
if(th<)th=;
else if(th>mx)mx=th;
}
return mx;
}
int main()
{
/*freopen(".in","r",stdin);
freopen(".out","w",stdout);*/
cin>>m>>n;
for(int i=;i<=m;i++)
for(int j=;j<=n;j++)
{
cin>>tu[i][j]; //输入
}
for(int i=;i<=n;i++)
{
da[i]=-inf;
for(int j=;j<=m;j++)
if(tu[j][i]>da[i])//注意i和j的顺序
{
da[i]=tu[j][i];、、每列最大值
}
}
cout<<mxsum(da)<<endl;
/*fclose(stdin);
fclose(stdout);*/
return ;
}
就这样了,好好打,别变棕哟QWQ。
洛谷 P2096 最佳旅游线路的更多相关文章
- P2096 最佳旅游线路
最大字段和加贪心 算长了个见识吧 #include<iostream> #include<cstdio> #include<algorithm> using nam ...
- [洛谷P2610] [ZJOI2012]旅游
洛谷题目链接:[ZJOI2012]旅游 题目描述 到了难得的暑假,为了庆祝小白在数学考试中取得的优异成绩,小蓝决定带小白出去旅游~~ 经过一番抉择,两人决定将T国作为他们的目的地.T国的国土可以用一个 ...
- 洛谷 P2233 [HNOI]公交车线路
洛谷 不知道大家做没做过传球游戏,这一题和传球游戏的转移方程几乎一样. 令\(A\)为\(1\)点,\(E\)为\(5\)点,那么\(f[i][j]\)代表第i步走到j的方案数. \[f[i][j]= ...
- 洛谷 P1336 最佳课题选择
P1336 最佳课题选择 题目提供者 yeszy 标签 动态规划 福建省历届夏令营 传送门 难度 尚无评定 题目描述 Matrix67要在下个月交给老师n篇论文,论文的内容可以从m个课题中选择.由于课 ...
- 洛谷 P3204 [HNOI2010]公交线路
题面 luogu 题解 矩阵快速幂\(+dp\) 其实也不是很难 先考虑朴素状压\(dp\) \(f[i][S]\) 表示最慢的车走到了\(i\),\([i, p+i-1]\)的覆盖情况 状态第一位一 ...
- 洛谷P4322.最佳团体
题目大意 一个 \(n(1\leq n\leq 2500)\) 个节点的森林,每个点 \(i\) 有权值 \(s_{i},p_{i}(0<s_{i},p_{i}\leq 10^4)\) 以及父亲 ...
- ⌈洛谷1505⌋⌈BZOJ2157⌋⌈国家集训队⌋旅游【树链剖分】
题目链接 [洛谷] [BZOJ] 题目描述 Ray 乐忠于旅游,这次他来到了T 城.T 城是一个水上城市,一共有 N 个景点,有些景点之间会用一座桥连接.为了方便游客到达每个景点但又为了节约成本,T ...
- Bzoj4753/洛谷P4432 [JSOI2016]最佳团体(0/1分数规划+树形DP)
题面 Bzoj 洛谷 题解 这种求比值最大就是\(0/1\)分数规划的一般模型. 这里用二分法来求解最大比值,接着考虑如何\(check\),这里很明显可以想到用树形背包\(check\),但是时间复 ...
- 洛谷P1027 Car的旅行路线
洛谷P1027 Car的旅行路线 题目描述 又到暑假了,住在城市A的Car想和朋友一起去城市B旅游.她知道每个城市都有四个飞机场,分别位于一个矩形的四个顶点上,同一个城市中两个机场之间有一条笔直的高速 ...
随机推荐
- MYSQL中str_to_date函数的用法
str_to_date(str,format) 函数的用法 str_to_date函数将str转化为日期型的数据,format表示转化后的格式. format参数格式: 常用: %Y 年 %m 月 ...
- Unity3D Physics Keynote
[Unity3D Physics Keynote] 1.在哪设置Layer Collision Matrix? "Edit"->"Project Settings& ...
- SpringMVC+springSecurity+flexPaper 配置--类似百度文库在线预览
背景:现在项目需要做一个类似百度文库的在线预览功能,在网上找了下很多人推荐使用FlexPaper,所以今天尝试学习了FlexPaper顺便集成到现有的框架中 由于网上目前的说的都不是很详细,所以现在记 ...
- 【bzoj1602】[Usaco2008 Oct]牧场行走
1602: [Usaco2008 Oct]牧场行走 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 1793 Solved: 935[Submit][St ...
- libevent源码深度剖析九
libevent源码深度剖析九 ——集成定时器事件 张亮 现在再来详细分析libevent中I/O事件和Timer事件的集成,与Signal相比,Timer事件的集成会直观和简单很多.Libevent ...
- 记一篇Python学习的简易版教程
廖雪峰的教学博客https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/00143178 ...
- 解决在Python中使用Win32api报错的问题,No module named win32api
一.系统环境 操作系统: Win7 64位 Python:3.7.0 二.在使用import win32api时,报错:No module named win32api 网上查到有下面解决办法: 方法 ...
- Python基础 之 变量、用户交互、if条件语句、while循环语句、编码、逻辑运算
一.Python介绍 Python 崇尚优美.清晰.简单 Python是一门动态解释型的强制性定义的语言. 二.编译型和解释型的区别 编译型:一次性将所有与程序编译成二进制文件. 缺点:开发效率低,不 ...
- 符合mvc思维的分页思想
.Model Student.cs namespace WebApplication14.Models { public class Student { public int Id { get; se ...
- sublime text3安装后html:5+Tab不能快速生成html头部信息的解决办法
sublime text3安装后html:5+Tab不能快速生成html头部信息的解决办法: 需要下载Emmet插件,按网上写的步骤按ctrl+shift+P打开命令面板,输入install,鼠标点击 ...