1208E Let Them Slide
题目大意
给你n个序列,每个一行
每个序列是可以左右移动的
对于每一列问在随意左右移动这些序列的情况下
这一列的每个数的和最大是多少
分析
对于每个序列分为两种情况
[1]长度小于长度的一半
我们发现这种情况下一定是两头长度为k的地方只能考虑序列开头/结尾的前k个
于是我们直接维护开头和结尾前k个的最大值
对于每一个最大值的影响区间我们差分处理
[2]长度大于等于长度的一半
对于全长的每一个点我们可以轻松算出它对应序列上的哪些点
直接st表求最大值即可
仍然使用差分的方式维护
代码
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
#include<cctype>
#include<cmath>
#include<cstdlib>
#include<queue>
#include<ctime>
#include<vector>
#include<set>
#include<map>
#include<stack>
using namespace std;
#define li long long
int n,w,m,lg[],st[][];
li ans[];
inline int q(int le,int ri){
int k=lg[ri-le+];
return max(st[le][k],st[ri-(<<k)+][k]);
}
int main(){
int i,j,k;
scanf("%d%d",&n,&w);
for(i=;i<=;i++)lg[i]=lg[i>>]+;
for(int _=;_<=n;_++){
scanf("%d",&m);
for(i=;i<=m;i++)scanf("%d",&st[i][]);
for(i=;i<=;i++)
for(j=;j<=m;j++)
st[j][i]=max(st[j][i-],st[j+(<<(i-))][i-]);
if(*m>=w){
for(i=;i<=w;i++){
int le=m-w+i,ri=i,v=q(max(le,),min(ri,m));
if(le<||ri>m)v=max(v,);
ans[i]+=(li)v;
ans[i+]-=(li)v;
}
}else {
int v1=,v2=;
for(i=;i<=m;i++){
v1=max(v1,st[i][]);
v2=max(v2,st[m-i+][]);
ans[i]+=(li)v1;
ans[i+]-=(li)v1;
ans[w-i+]+=(li)v2;
ans[w-i+]-=(li)v2;
}
ans[m+]+=(li)v1;
ans[w-m+]-=(li)v1;
}
}
for(i=;i<=w;i++){
ans[i]+=ans[i-];
printf("%lld ",ans[i]);
}
puts("");
return ;
}
1208E Let Them Slide的更多相关文章
- Qt qml 模拟iphone slide to unlock 的聚光动画文字效果
模拟iphone slide to unlock 的聚光动画文字效果 /底层放淡文字 /前景放高亮文字+半透明遮罩 /动画移动遮罩 Author: surfsky.cnblogs.c ...
- slide效果
html和js部分 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w ...
- slide.js使用文档
<!doctype html> <head> <script src="js/jquery-latest.min.js"></script ...
- React Native组件之Switch和Picker和Slide
React Native组件Switch类似于iOS中的UISwitch:组件Slide类似于iOS中UIslider,组件Picker类似于iOS的UIPickerView.他们的使用方法和相关属性 ...
- 使用 Aspose.Slide 获取PPT中的所有幻灯片的标题
本文使用的是第三方类库 Aspose.Slide,如果你使用的是OpenXml可以看下面的链接,原理是相同的,这个文章里也有对Xml标签的详细解释. 如何:获取演示文稿中的所有幻灯片的标题 原理: 原 ...
- GDC2014免费slide整理下载
GDC2014图形和程序相关的部分免费slide整理下载:)http://pan.baidu.com/s/1eQzMrxo gdc14_An Indie Approach to procedural ...
- 关于jQuery中,animate、slide、fade等动画的连续触发、滞后反复执行的bug的个人解决办法
照例,现在开头讲个这个问题发生的背景吧: 因为最近要做个操作选项的呼出,然后就想到了用默认隐藏,鼠标划过的时候显示的方法. 刚开始打算添加一个class="active",直接触发 ...
- 【转】 iOS 两种方法实现左右滑动出现侧边菜单栏 slide view
原文: http://blog.csdn.net/crayondeng/article/details/9057637 --- 关于评论中,很多网友都是需要这部分的相关源码,其实在我上传的新浪微博 ...
- 纯css实现slide效果
尝试一下,仅作记录. <!DOCTYPE html><html><head><style> *{transition:all 1s ease 0s ...
随机推荐
- Web高级 JavaScript中的数据结构
复杂度分析 大O复杂度表示法 常见的有O(1), O(n), O(logn), O(nlogn) 时间复杂度除了大O表示法外,还有以下情况 最好情况时间复杂度 最坏情况时间复杂度 平均情况时间复杂度 ...
- docker网络 macvlan
docker 还开发了另一个支持跨主机容器网络的 driver:macvlan. macvlan 本身是 linxu kernel 模块,其功能是允许在同一个物理网卡上配置多个 MAC 地址,即多个 ...
- DelayQueue详解
一.DelayQueue是什么 DelayQueue是一个无界的BlockingQueue,用于放置实现了Delayed接口的对象,其中的对象只能在其到期时才能从队列中取走.这种队列是有序的,即队头对 ...
- jmeter测试结果jtl字段分析
1 Bytes Throughput Over Time 每秒传输字节吞吐量,表明Jmeter在测试时,随着时间推移发送和接受的字节数 2 Response Codes per Second ...
- 解决代码加载慢,以至于乱码—————VUE
vue.js解决开始代码加载,以至于乱码 vue.js通过几行代码可以解决这个问题 css: [v-cloak] { display: none; } html: <div id="a ...
- ajaxSubmit 实现图片上传 SSM maven
文件上传依赖: <!-- 文件上传组件 --> <dependency> <groupId>commons-fileupload</groupId> & ...
- [转]Oracle 11g 基于CentOS7静默安装教程(无图形界面,远程安装) --有部份地方有问题
Oracle 11g 基于CentOS7静默安装教程(无图形界面,远程安装) [转载]原文地址:http://canonind.blog.51cto.com/8239025/1883066 一.安装前 ...
- ZYNQ系列
赛灵思公司(Xilinx)推出的行业第一个可扩展处理平台Zynq系列.旨在为视频监视.汽车驾驶员辅助以及工厂自动化等高端嵌入式应用提供所需的处理与计算性能水平. 中文名 ZYNQ系列 开发商 赛灵 ...
- Java的基本数据类型,以及他们的封装类
基本类型 大小 默认值 封装类 boolean 1 false Boolean byte 1 0 Byte char 2 \u0000(null) Character sh ...
- Linux wc -l 统计行数问题
统计文件行数 通过wc -l 来实现. [root@xguang_02 xguang]# wc -l tt.dat 798 tt.dat 而通过nl\ cat -n 查看时发现为79 ...