题目链接:Arrangement for Contests


比较显然的从左往右贪心,然后尽量不影响右边。

强行加了一个线段树。


AC代码:

#pragma GCC optimize("-Ofast","-funroll-all-loops")
#include<bits/stdc++.h>
//#define int long long
using namespace std;
const int N=1e5+10;
int mi[N<<2],n,k,lazy[N<<2];    long long res;
#define mid (l+r>>1)
inline void push_down(int p){if(!lazy[p])   return ;lazy[p<<1]+=lazy[p],lazy[p<<1|1]+=lazy[p];mi[p<<1]-=lazy[p],mi[p<<1|1]-=lazy[p];lazy[p]=0;
}
void build(int p,int l,int r){lazy[p]=0;if(l==r){scanf("%d",&mi[p]);   return ;}build(p<<1,l,mid),build(p<<1|1,mid+1,r);mi[p]=min(mi[p<<1],mi[p<<1|1]);
}
void change(int p,int l,int r,int ql,int qr,int v){if(l==ql&&r==qr){mi[p]-=v,lazy[p]+=v; return ;}push_down(p);if(qr<=mid)   change(p<<1,l,mid,ql,qr,v);else if(ql>mid) change(p<<1|1,mid+1,r,ql,qr,v);else change(p<<1,l,mid,ql,mid,v),change(p<<1|1,mid+1,r,mid+1,qr,v);mi[p]=min(mi[p<<1],mi[p<<1|1]);
}
int ask(int p,int l,int r,int ql,int qr){if(l==ql&&r==qr)   return mi[p];push_down(p);if(qr<=mid)   return ask(p<<1,l,mid,ql,qr);else if(ql>mid)   return ask(p<<1|1,mid+1,r,ql,qr);else return min(ask(p<<1,l,mid,ql,mid),ask(p<<1|1,mid+1,r,mid+1,qr));
}
inline void solve(){cin>>n>>k;  res=0; build(1,1,n);for(int i=k;i<=n;i++){int val=ask(1,1,n,i-k+1,i); res+=val;change(1,1,n,i-k+1,i,val);}printf("%lld\n",res);
}
signed main(){int T;    cin>>T;   while(T--)  solve();return 0;
}

Arrangement for Contests相关推荐

  1. Bottles Arrangement

    Bottles Arrangement Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...

  2. LeetCode 526. Beautiful Arrangement

    526. Beautiful Arrangement Suppose you have N integers from 1 to N. We define a beautiful arrangemen ...

  3. AOAPC I: Beginning Algorithm Contests 题解

    AOAPC I: Beginning Algorithm Contests 题解 AOAPC I: Beginning Algorithm Contests (Rujia Liu) - Virtual ...

  4. MM配额协议(Quota Arrangement)-阿龙学习MM PA 笔记(3)

    MM配额协议(Quota Arrangement)-阿龙学习MM PA 笔记(3) 欢迎关注公众号"SAP顾问之路"获取SAP PA官方教材及培训视频,加官方QQ群:3169922 ...

  5. LeetCode笔记:526. Beautiful Arrangement

    问题: Suppose you have N integers from 1 to N. We define a beautiful arrangement as an array that is c ...

  6. 【Leetcode】526. Beautiful Arrangement

    Description: Suppose you have N integers from 1 to N. We define a beautiful arrangement as an array ...

  7. 团体程序设计天梯赛 https://www.patest.cn/contests/gplt

    https://www.patest.cn/contests/gplt 代码: L2-21 //#include<iostream> //#include<cstdio> // ...

  8. CF908D New Year and Arbitrary Arrangement

    题意 给定三个数\(k\),\(pa\),\(pb\) 每次有\(\frac{pa}{pa+pb}\) 的概率往后面添加一个'\(a\)' 每次有\(\frac{pb}{pa+pb}\)的概率往后面添 ...

  9. hdu 4109 Instrction Arrangement 拓扑排序 关键路径

    这个算是关键路径的模版题目了,解这个题目之前,首先说下关键路径的含义,传送门(度娘),个人的见解是,关键路径就是木桶的短板问题,比如有一群人约好去某个地方,大家从同一个地方同一时间开始出发,有些人选择 ...

最新文章

  1. 【原创】Linux环境下的图形系统和AMD R600显卡编程(11)——R600指令集
  2. phpstrom配置svn/git提交
  3. jquery源码 DOM加载
  4. Vue + Element UI——监听DOM元素高度和宽度解决方案整理(八种方法)
  5. jQuery 时间控件推荐(1)
  6. linux树莓派网易云音乐,基于树莓派的红外遥控版网易云音乐播放器
  7. pyautogui 打包 运行 窗口_试试动态窗口管理器 dwm 吧
  8. Sonatype Nexus高级配置
  9. 侏罗纪世界手游显示无法登陆到服务器,《侏罗纪世界手游》不能玩 解决攻略...
  10. JAVA生成条码(jbarcode)
  11. UGMT buildingEXODUS v4.0 WiN32.rar
  12. 智能指针是一种类,别名称为句柄类
  13. 分享一个python连接zookeeper的坑:句柄无效
  14. Excel “不能在隐藏工作簿中编辑宏,请选定“取消窗口隐藏”命令以显示工作簿”
  15. DP转HDMI/VGA方案设计电路图参考|AG6320参考电路原理图PCB电路图
  16. docker部署html页面,Docker 案例: 在容器中部署静态网站
  17. 减轻运维人员工作压力?一招轻松实现无人值守
  18. MTK6573智能机平台系统文件夹文件详解3 - App目录
  19. 我说我精通字符串,面试官竟然问我Java中的String有没有长度限制!?
  20. GOM引擎单机架设配置教程

热门文章

  1. 信息化解决看病挂号难便民利民有待提高
  2. Linux在标准指导下开发,Linux 简介
  3. ubuntu创建、删除文件及目录命令
  4. linux在线模拟终端
  5. ( (xy) + ( (x^y)1 ) )是什么意思?what's up?
  6. c/c++ wchar_t
  7. QString转wchar_t*
  8. 印刷和喷绘过程中高精度油墨流量和压力的串级控制解决方案
  9. 人无远虑,必有近忧。
  10. 大数据面试常见问题(二)——Linux部分