Codeforces 474E Pillars(论数据的重要性)

今天做到这道题,一看是一道很水的最长不下降序列吧,但是数据超级大,怎么办,突发奇想,因为每一次都要和前面比,那么需要从第一个状态推现在的状态,那么有数据比较水,也许前面的600个状态就可一推理到,那么直接从他的钱600个状态推就水过了

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <vector>
using namespace std;

typedef long long int ll;

const int N=100100;

int n,K;
ll h[N],sum[N],path[N],ans[N];

int main()
{
	cin>>n>>K;
	sum[1]=1;
	int maxl=1;
	for(int i=1;i<=n;i++)
	{
		cin>>h[i];
		sum[i]=1;
		for(int j=max(1,i-600);j<i;j++)
		{
			if(abs(h[j]-h[i])>=K&&sum[j]+1>sum[i])
			{
				sum[i]=sum[j]+1;
				path[i]=j;//下一个是j
			}
			if(sum[i]>sum[maxl])
			{
				maxl=i;
			}
		}
	}
	cout<<sum[maxl]<<endl;
	int T=path[maxl];
	int cnt=0;
	ans[cnt]=maxl;
	while(T)
	{
		ans[++cnt]=T;
		T=path[T];
	}
	for(int i=cnt;i>=0;i--){
		cout<<ans[i]<<" ";
	}
	return 0;
}
时间: 2024-12-25 09:20:16

Codeforces 474E Pillars(论数据的重要性)的相关文章

Codeforces 474E - Pillars

一眼看上去非常像最长不下降子序列. 然后比赛的时候对每个答案长度为k的序列,维护最后一个数的最大值和最小值. 当时不知道为什么认为从长度最长倒推至前面不会太长,于是心满意足地敲了个O(n^2).结果T了... 正确的做法应该用线段树维护,搜起来就是log(n),总的就是O(N*logN); 用非递归的方法写的 只用了77ms 在目前(2014/10/7) 是最快的. #include <iostream> #include <cstdio> using namespace std;

【CF】474E Pillars

H的范围是10^15,DP方程很容易想到.但是因为H的范围太大了,而n的范围还算可以接受.因此,对高度排序排重后.使用新的索引建立线段树,使用线段树查询当前高度区间内的最大值,以及该最大值的前趋索引.线段树中的结点索引一定满足i<j的条件,因为采用从n向1更新线段树结点.每次线段树查询操作就可以得到argmax(dp[L, R]),很据不等式很容易得到L和R的范围. 1 /* 474E */ 2 #include <iostream> 3 #include <string>

后台架构设计—数据存储层

数据存储重要性: ????数据是企业最重要的财产: ????数据可靠性是企业的命根,一定要保证. ? 单机存储原理: ????存储引擎:存储系统的发动机,它决定存储系统的功能和性能: ????引擎类型:哈希存储引擎.B树存储引擎.LSM存储引擎 哈希存储引擎:基于哈希表结构 :数组+链表:支持Create\Update\Delete\随机Read B树存储引擎:基于B Tree实现,支持单条记录的CURD,支持顺序查找.RDBMS使用较多. LSM树存储引擎:对数据的修改增量保存在内存,达到一定

从大数据的应用谈如何成为大数据大师的历程

以下数据显示,中国大数据IT应用投资规模,应用以五大行业最高,其中以互联网行业占比最高,占大数据IT应用投资规模的28.9%,其次是电信领域(19.9%),第三为金融领域(17.5%),政府和医疗分别为第四和第五,请看如下图: 根据国际知名咨询公司麦肯锡的报告显示:在大数据应用综合价值潜力方面,信息技术.金融保险.政府及批发贸易四大行业潜力最高,具体到行业内每家公司的数据量来看,信息.金融保险.计算机及电子设备.公用事业四类的数据量最大,因此:无论是投资规模和应用潜力来看,信息行业(互联网和电信

(原创)大数据时代:数据分析之基于微软案例数据库数据挖掘案例知识点总结

随着大数据时代的到来,数据挖掘的重要性就变得显而易见,几种作为最低层的简单的数据挖掘算法,现在利用微软数据案例库做一个简要总结. 应用场景介绍 其实数据挖掘应用的场景无处不在,很多的环境都会应用到数据挖掘,之前我们没有应用是因为还没有学会利用数据,或者说还没有体会到数据的重要性,现在随着IT行业中大数据时代的到来,让我一起去拥抱大数据,闲言少叙,此处我们就列举一个最简单的场景,一个销售厂商根据以往的销售记录单,通过数据挖掘技术预测出一份可能会购买该厂商产品的客户名单,我相信这也是很多销售机构想要

数据质量及数据清洗方法

先对其进行介绍:    数据清洗(Data cleaning)– 对数据进行重新审查和校验的过程,目的在于删除重复信息.纠正存在的错误,并提供数据一致性.[1] 数据清洗从名字上也看的出就是把“脏”的“洗掉”,指发现并纠正数据文件中可识别的错误的最后一道程序,包括检查数据一致性,处理无效值和缺失值等.因为数据仓库中的数据是面向某一主题的数据的集合,这些数据从多个业务系统中抽取而来而且包含历史数据,这样就避免不了有的数据是错误数据.有的数据相互之间有冲突,这些错误的或有冲突的数据显然是我们不想要的

docker解决数据存储问题的方案

如今docker在云计算领域发展的势头非常猛,各个公司不论大小都開始研究这个开源工具和技术.环绕docker的开源项目和创业公司也多如牛毛,就是一个简单管理container的web ui都有非常多开源项目.只是还是一个人说的好.docker必须要是集群才好玩.并且越大越好玩. 当然这是从玩技术的人眼中看待的问题,假设要真正用于生产还是有非常多问题须要解决,非常多方案须要设计,非常多容错须要处理. 今天看资料学习到了docker是如何解决容器里面数据存储的问题的方案,曾经做PAAS遇到过这样的问

大数据运营-服务型企业架构新思维

目前市面上关于大数据的图书主要分为两类:一类主要讲大数据对社会生活的影响,属于大数据科普书,读一读可以增强对大数据的感性认识:另一类则属于大数据专业技术书,主要讲大数据相关技术,可以帮助开发出大数据应用. 本书既不是泛泛的谈大数据的重要性,也不深入专业技术细节,而是从业务和企业发展战略出发,运用系统化和全生命周期管理思维,给出大数据从需求到落地的整体解决方案.犹如个人的修齐治平,在大数据时代,企业要想得以生存和发展,同样需要经历筑巢.联姻.孕育.分娩.培育以及腾飞的6个发展阶段. 在筑巢阶段,企

大数据时代下的企业管理创新

有幸被邀请到虎门港作了一个题为"大数据正在改变企业信息化"的专题讲座,感谢安排,准备不周请包涵谅解. 其实,我和发思特软件从2009年起开始从事大数据的研究和开发工作,主要是面向海量短文本投诉数据的挖掘和分析工作,10086的月投诉量巨大,数据来源和类型也很多,要求处理的速度很快,而且存在大量重复的繁杂的数据,价值密度是相当低的,我们是在沙里淘金,面对这些巨大繁杂的数据,我们需要研究的是如何快速准确地将这些数据分类,如何自动地发现热点问题?如何对每一个时间阶段的投诉信息进行自动摘要?在