摘要:
H城是一座小城市,前几日才刚刚建立公交系统,且只有一辆公交车。于是,如何最大化这唯一一辆公交车的载客量成了亟待解决的问题。H城的俯视图可以近似地看成是一个棋盘网络——共有N行M列,从南向北,每行从1到M标号,从西向东,每列从1到N标号。经实地考察,公交总公司选定了K个可以设为站点的地方,其中第K个站点位于第Xi列,第Yi行,预计每天有Pi名乘客需要在此乘车。设有序数对(X,Y)表示第X列,第Y行。每天,公交车从(1,1)开出,驶向(N,M),途中只能向北或向东行驶。现在,公交总公司希望你能够帮助他们选定一条路线,使得能够接到的乘客数最大,我们假设公交车的容量无限大。输入格式一个非负整数ans, 阅读全文
摘要:
蒟蒻Zigzag正在准备联赛......这个算是这几天做的唯一一个值得写一写的题吧。首先LIS的N^2暴力dp应该都会写,就是F[i]=Max{F[j]}+1那么加权的就吧后面的1换成数的权值就行了,如果优先长度的话加一些判断就行了。那么O(nlogn)怎么写?LIS的Nlogn应该都会写,就是记一个数组D[i]表示长度为i的LIS的末尾的最小值,可证D是单增的,所以每次找Max的时候只需要二分查找D数组就行了或者你可以个给每个F插到树状数组里(数为横坐标,F为纵坐标),每次查找比这个数小的里面的最大F又或者可以用单调栈什么的?我记得好像可以,不过记不清了。那带权的怎么写?还想记录D数组吗?如 阅读全文