nyoj 309 BOBSLEDDING 【贪心】
来源:互联网 发布:妙味课堂js课后练习 编辑:程序博客网 时间:2024/06/03 17:34
题意:
给你一条路,路上某个点限速,即你路过该点不能超过它的限速。问你跑完全程最高速度是多少。
题解:
开始看题,肯定是能往上走就往上走,觉得暴力怼一发,直接从前往后推。后来被举出反例。
我就想枚举从起点到每个点的最高速度,找到最小的,然后作为起点,再找重复这个过程,直至结束。
这个思路是对的,就是处理数据有些麻烦,用bfs,蛮好的。
后来就直接开一个数组,直接往上走,限速的话,往前减速,(总体思路和上面一致),这样模拟的话代码好写一点。
#include<bits/stdc++.h>using namespace std;int n,l;int av[1111];int main(){ int x,xv,ans=0; while(~scanf("%d %d",&l,&n)){ int st=0,sv=1; memset(av,0,sizeof(av)); for(int i=1;i<=n;++i){ scanf("%d %d",&x,&xv); av[x]=xv; } av[0]=1; int pos=0; for(int i=1;i<=l;++i){ if(av[i]==0){ av[i]=av[i-1]+1; }else if(av[i]>=av[i-1]+1){ av[i]=av[i-1]+1; }else if(av[i]==av[i-1]){ av[i]=av[i-1]; }else{ pos=i; while(av[pos]+1!=av[pos-1]&&av[pos]!=av[pos-1]){ av[pos-1]=av[pos]+1; pos--; } } } int ans=0; for(int i=0;i<=l;++i) ans=max(ans,av[i]); printf("%d\n",ans); } return 0;}
0 0
- nyoj 309 BOBSLEDDING 【贪心】
- NYOJ:309 BOBSLEDDING
- NYOJ 309 BOBSLEDDING(dp)
- NYOJ BOBSLEDDING
- NYOJ 309 BOBSLEDDING(细节题)
- nyoj 153 BOBSLEDDING
- 309 BOBSLEDDING
- nysit 309 BOBSLEDDING
- BOBSLEDDING
- BOBSLEDDING(一道有趣的贪心题 nyoj309)
- BOBSLEDDING (nyoj309)
- NYOJ - 找点【贪心】
- 过河问题 NYOJ 贪心
- 贪心-nyoj-过河问题
- NYOJ 915 +-字符串【贪心】
- NYOJ 757 期末考试【贪心】
- NYOJ 6 贪心
- NYOJ 891贪心
- 阿里,华为,腾讯,小米2017实习面试经历
- SICP 1.41 lambda函数嵌套展开的思考
- 使用centos7安装Hadoop-2.7.3的一些小问题
- TensorFlow训练单特征和多特征的线性回归
- 对于java中的readUTF和writeUTF的注意事项
- nyoj 309 BOBSLEDDING 【贪心】
- Android Studio如何查看Gradle版本
- 经典计算机书籍-自制系列
- java字符与Unicode的转换
- 第八周——135. Candy
- 使用JAVA代码发送MQ消息
- 235. Lowest Common Ancestor of a Binary Search Tree
- JS中几种常见的集合
- 2017.4.16 关于加密