题目大意

给你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的更多相关文章

  1. Qt qml 模拟iphone slide to unlock 的聚光动画文字效果

    模拟iphone slide to unlock 的聚光动画文字效果    /底层放淡文字    /前景放高亮文字+半透明遮罩    /动画移动遮罩 Author: surfsky.cnblogs.c ...

  2. slide效果

    html和js部分 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w ...

  3. slide.js使用文档

    <!doctype html> <head> <script src="js/jquery-latest.min.js"></script ...

  4. React Native组件之Switch和Picker和Slide

    React Native组件Switch类似于iOS中的UISwitch:组件Slide类似于iOS中UIslider,组件Picker类似于iOS的UIPickerView.他们的使用方法和相关属性 ...

  5. 使用 Aspose.Slide 获取PPT中的所有幻灯片的标题

    本文使用的是第三方类库 Aspose.Slide,如果你使用的是OpenXml可以看下面的链接,原理是相同的,这个文章里也有对Xml标签的详细解释. 如何:获取演示文稿中的所有幻灯片的标题 原理: 原 ...

  6. GDC2014免费slide整理下载

    GDC2014图形和程序相关的部分免费slide整理下载:)http://pan.baidu.com/s/1eQzMrxo gdc14_An Indie Approach to procedural ...

  7. 关于jQuery中,animate、slide、fade等动画的连续触发、滞后反复执行的bug的个人解决办法

    照例,现在开头讲个这个问题发生的背景吧: 因为最近要做个操作选项的呼出,然后就想到了用默认隐藏,鼠标划过的时候显示的方法. 刚开始打算添加一个class="active",直接触发 ...

  8. 【转】 iOS 两种方法实现左右滑动出现侧边菜单栏 slide view

      原文: http://blog.csdn.net/crayondeng/article/details/9057637 --- 关于评论中,很多网友都是需要这部分的相关源码,其实在我上传的新浪微博 ...

  9. 纯css实现slide效果

    尝试一下,仅作记录. <!DOCTYPE html><html><head><style>    *{transition:all 1s ease 0s ...

随机推荐

  1. Spring源码解析-核心类之XmlBeanFactory 、DefaultListableBeanFactory

    DefaultListableBeanFactory XmlBeanFactory 继承自 DefaultListableBeanFactory , 而 DefaultListableBeanFact ...

  2. Java-JavaMail邮件开发(1)Java Mail

    1.仅使用Java Mail 使用163邮箱作为代理服务器: 引入依赖: <dependency> <groupId>com.sun.mail</groupId> ...

  3. 五分钟搞懂 Linux 重点知识,傻瓜都能学会!

    来源:无痴迷,不成功 www.cnblogs.com/justmine/p/9053419.html 写在前面 我们都知道Linux是一个支持多用户.多任务的系统,这也是它最优秀的特性,即可能同时有很 ...

  4. jsp常问面试题集

    1.Servlet总结 在Java Web程序中,Servlet主要负责接收用户请求 HttpServletRequest,在doGet(),doPost()中做相应的处理,并将回应HttpServl ...

  5. [常用类]时间内Date、SimpleDateFormat、Calendar类

    Date类的概述是util包下的,不能导入sql包的.* 类 Date 表示特定的瞬间,精确到毫秒. *构造方法 * public Date() * public Date(long date) 如果 ...

  6. P3064 [USACO12DEC]伊斯坦布尔的帮派 (模拟)

    题目传送门 题意: 一片草地,每次可以只可以让一种牛占领,问你怎样安排牛的次序 最后剩下的是1号牛,并且输出其数量 思路: 看到n到100 ,所以可以(n^3)暴力,第一重遍历次序,第二枚举是哪只牛 ...

  7. 固定导航栏(jquery)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  8. 媒介查询demo

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. Log4Net 之将日志记录到数据库的后台实现 (二)

    原文:Log4Net 之将日志记录到数据库的后台实现 (二) 大家下午好,昨天讲了配置,今天我们讲讲后台实现,在完成了后台实现后,我们才能真正意义上的解决把自定义属性字段值录入到数据库中. 在开写之前 ...

  10. Js中className的用法

    className可以用来改变标签元素的css类选择器,从而改变元素的样式 举个栗子 一个简单的无序列表,点击button之前ul的样式为uhh1 点击button后,调用check函数中的class ...