水题,高效,优化(开放式学分制,uva 11078)
来源:互联网 发布:源码资本 趣分期 编辑:程序博客网 时间:2024/05/01 10:47
就是本来是O(n^2),然后从后往前枚举,顺便维护后面的最小值,就可以优化成O(n)。
然后自己写了一下输入输出还是快了一点的= =。20ms/50ms。
一开始输入没考虑负数,All these integers haveabsolute values less than 150000.理解成了全是整数,事实上意思是绝对值小于150000.
改了就过了。
这种优化思路很常见,以前做题遇到过很多,不过都只是题中的一小部分,而且维护和计算的情况更为复杂,这也算是模板了吧。
代码
#include<bits/stdc++.h>#define maxn 100010#define INF 0X3F3F3F3Fusing namespace std;int n;int a[maxn];inline void readint(int* p){ char c=getchar(); while(!(isdigit(c)||c=='-')) c=getchar(); *p=0; bool fu; if(c=='-') { fu=true; c=getchar(); } else fu=false; while(isdigit(c)) { *p=*p*10+c-'0'; c=getchar(); } if(fu) *p=-*p;}int buf[10];inline void writeint(int& x){ bool fu; if(x<0) { x=-x; fu=true; } else fu=false; int p=0; if(x==0) buf[p++]=0; else { while(x) { buf[p++]=x%10; x/=10; } } if(fu) putchar('-'); for(int i=p-1;i>=0;i--) putchar('0'+buf[i]); putchar('\n');}int main(){ int T; scanf("%d",&T); while(T--) { scanf("%d",&n); for(int i=1;i<=n;i++) readint(a+i); int MIN=a[n]; int MAX=-INF; for(int i=n-1;i>=1;i--) { MAX=max(MAX,a[i]-MIN); MIN=min(MIN,a[i]); } writeint(MAX); } return 0;}
0 0
- 水题,高效,优化(开放式学分制,uva 11078)
- UVa 11078 - Open Credit System(开放式学分制)
- 开放式学分制
- uva 11078 开放式学分制 便于理解下尺取法以及动态的思想吧
- UVA11078开放式学分制(前面-后面的最大值)
- 例题1.18 开放式学分制 UVa11078
- uva11078 - Open Credit System(开放式学分制)
- 第一章例题18开放式学分制UVa11078
- 水题,优化,高效(年龄排序,uva 11462)
- UVA 1481 Genome Evolution(高效算法优化)
- 高效(防线,uva 1471)
- UVA - 11078 - Open Credit System (高效算法的应用!!)
- 关于学分制
- uva - 11825(高效枚举集合dp)
- UVA - 11462 - Age Sort (高效算法!!)
- gcd,高效(魔法GCD,uva 1642)
- String高效编程优化(Java)
- String高效编程优化(Java)
- Fri Oct 7 10:08:00 UTC 0800 2016日期格式转换为 yyyy-mm-dd hh24:mi:ss (Map实现版)
- Ubuntu16.04LTS安装redis-3.2.4
- 第九周项目3-稀疏矩阵的三元组表示的实现及应用
- 关于js的几种写法
- 安卓5.0材料设计规范的文档
- 水题,高效,优化(开放式学分制,uva 11078)
- windows下apache配置免安装版mysql,phpmyadmin,mysql,phpmyadmin免安装版的下载
- 一个很奇怪的想法
- css命名管理
- java输出* *** ******* *** *图像
- VS常见错误: general error c101008a: Failed to save the updated manifest to the file”
- 刷漆升级线段树优化
- 错误:redis.clients.jedis.exceptions.JedisDataException: ERR This instance has cluster support disabled
- Android 应用 Application 用法 ;