1135: [POI2009]Lyz

Time Limit: 10 Sec  Memory Limit: 162 MB
Submit: 418  Solved: 191
[Submit][Status][Discuss]

Description

初始时滑冰俱乐部有1到n号的溜冰鞋各k双。已知x号脚的人可以穿x到x+d的溜冰鞋。 有m次操作,每次包含两个数ri,xi代表来了xi个ri号脚的人。xi为负,则代表走了这么多人。 对于每次操作,输出溜冰鞋是否足够。

Input

n m k d ( 1≤n≤200,000 , 1≤m≤500,000 , 1≤k≤10^9 , 0≤d≤n ) ri xi ( 1≤i≤m, 1≤ri≤n-d , |xi|≤10^9 )

Output

对于每个操作,输出一行,TAK表示够 NIE表示不够。

Sample Input

4 4 2 1
1 3
2 3
3 3
2 -1

Sample Output

TAK
TAK
NIE
TAK

HINT

Source

[Submit][Status][Discuss]



Hall定理,,,

把俱乐部的人看做点集X,溜冰鞋看做点集Y

显然这是一个二部图

根据Hall定理,如果存在饱和点集X的匹配,那么⊆ X,|N(S)| >= |S|

N(S)是Y中与X相邻的点的集合

对于此题,Hall定理最容易取到反例的状况一定是连续一段区间

因为此时能用来容纳X匹配的对应的Y总不多于不连续的区间

那么就是说,∀∑ai <= (r - l + 1 + d)*k,  (i∈[l,r])

两边同时-k,得∑(ai-k) <= d*k

于是,我们只需要维护连续序列的最大值就行了

线段树解决

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;const int maxn = 2E5 + 20;
const int T = 4;
typedef long long LL;int n,m;
LL k,d,c[maxn*T],ml[maxn*T],mr[maxn*T],ma[maxn*T];void maintain(int o)
{int lc = (o<<1),rc = (o<<1|1);c[o] = c[lc] + c[rc];ma[o] = max(ma[lc],ma[rc]);ma[o] = max(ma[o],mr[lc] + ml[rc]);ml[o] = max(ml[lc],c[lc] + ml[rc]);mr[o] = max(mr[rc],c[rc] + mr[lc]);
}void Build(int o,int l,int r)
{if (l == r) {c[o] = ma[o] = ml[o] = mr[o] = -k;return;}int mid = (l + r) >> 1;Build(o<<1,l,mid); Build(o<<1|1,mid+1,r);maintain(o);
}void Modify(int o,int l,int r,int pos,LL x)
{if (l == r) {c[o] += x; ma[o] += x;ml[o] += x; mr[o] += x;return;} int mid = (l + r) >> 1;if(pos <= mid) Modify(o<<1,l,mid,pos,x);else Modify(o<<1|1,mid+1,r,pos,x);maintain(o);
}int main()
{#ifdef DMCfreopen("DMC.txt","r",stdin);#endifcin >> n >> m >> k >> d;Build(1,1,n);while (m--) {int r,x; scanf("%d%d",&r,&x);Modify(1,1,n,r,x);if (ma[1] > k*d) puts("NIE");else puts("TAK");}return 0;
}

1135: [POI2009]Lyz相关推荐

  1. Hall定理(bzoj 1135: [POI2009]Lyz)

    Hall定理(二分图重要定理): 对于二分图U, V(|U|<|V|),设M(Ux)为V中可以与Ux中的点相连的点集,如果该二分图存在完美匹配 那么对于任意点集x∈U都有|M(x)|>=| ...

  2. [BZOJ 1135][POI2009]Lyz

    [BZOJ 1135][POI2009]Lyz 题意 初始时滑冰俱乐部有 \(1\) 到 \(n\) 号的溜冰鞋各 \(k\) 双.已知 \(x\) 号脚的人可以穿 \(x\) 到 \(x+d\) 的 ...

  3. BZOJ 1135 [POI2009]Lyz 线段树

    题意:链接 方法:线段树维护子区间最值. 解析: 我们可以推出来一个式子. 就是如果满足题意的话. 那么任意一个子区间[l,r] f[i]表示穿i的鞋的人数 (r−l+1+d)∗k>=∑f[i] ...

  4. BZOJ[1135][POI2009]Lyz 线段树

    传送门ber~ 如果某时不合法,那一定存在某段满足 (r−l+1+d)∗k<Σl≤i≤rnumi(r−l+1+d)∗k<Σl≤i≤rnumi (r-l+1+d)*k (其中 numinum ...

  5. BZOJ 1135: [POI2009]Lyz

    首先是二分图匹配 Hall定理 令a[i]表示尺码为i的人有多少个 然后是任何的l,r  a[i]之和<=(r-l+1+d)*k ->任何的l,r (a[i]-k)之和<=d*k(定 ...

  6. 【BZOJ】1135: [POI2009]Lyz

    题意 有\(1\)到\(n(1 \le n \le 200000)\)号的溜冰鞋各\(k(1 \le k \le 10^9)\)双.已知\(x\)号脚的人可以穿\(x\)到\(x+d\)的溜冰鞋. 有 ...

  7. 【BZOJ1135】[POI2009]Lyz 线段树

    [BZOJ1135][POI2009]Lyz Description 初始时滑冰俱乐部有1到n号的溜冰鞋各k双.已知x号脚的人可以穿x到x+d的溜冰鞋. 有m次操作,每次包含两个数ri,xi代表来了x ...

  8. [BZOJ1135][P3488][POI2009]LYZ[线段树+Hall定理]

    首先从二分图匹配的角度来想这个题,只要每个人都能和一双鞋子匹配,那么溜冰鞋就是足够的. 但看范围不能用二分图匹配来做,因为边数会爆炸 Hall定理是判定二分图是否存在完全匹配的定理. 完全匹配:是指最 ...

  9. BZOJ1135: [POI2009]Lyz

    似乎是hall定理的经典模型 贪心的想,对于人的任意一个集合,肯定编号是连续的l~r一段更容易使匹配不合法 写成柿子就是∑ri=lsi>(d+r−l+1)k\sum_{i=l}^rsi>( ...

最新文章

  1. android文件的读取方法,Android读取写入文件的方法
  2. 大道至简第三章读后感
  3. vscode怎么写qt项目_使用VSCode 编译调试QT程序
  4. 禅道 bug状态 open_小工具大帮手,利用 @open-node/antman 实现 node.js 进程线上调试,无须重启...
  5. 【你会用代码画年兽吗】20行代码使用JS实现虎年春节倒计时 —— 红红火火过虎年
  6. python里面的import provide_Python importorror:没有名为wmi的模块
  7. 必看企业级Redis锁资产巡检扫描业务场景实现(加锁限制扫描次数)
  8. Mr.J--JS学习(继承模式发展史)
  9. 解决win-server 2008R2 安装 Materials 出现 Windows Install Coordinator “应用程序正在为首次安装做准备”...
  10. javascript给类添加的方法
  11. 使用MVPArms框架时,访问网络没响应。
  12. MASM5.0下载安装与运行第一个HelloWorld
  13. 基于Ricequant时间序列模型预测股价
  14. 读《史蒂夫•乔布斯传》(七)
  15. 四川大学计算机学院男女生比例,2019年四川各大高校男女比例排行,电子科技大学4比1...
  16. 生信文献 | Sirt6通过介导PI3K/Akt信号通路促进弥漫性大B细胞淋巴瘤的肿瘤发生和耐药性...
  17. Ae 入门系列之九:运动跟踪和稳定(下)
  18. 微信小程序的wxml实现复杂运算或者数据处理
  19. Java、JSP就业信息管理系统的设计与实现
  20. linux系统安装mysql详细教程

热门文章

  1. react基础_React基础
  2. STM32F1 W5500 TCP Client 回环测试
  3. jsmap(桔色棉袄配什么颜色打底衫)
  4. Qt动画之鼠标水滴点击效果
  5. 刚刚!核电老将俞培根晋升东方电气集团董事长
  6. SSR 实战:官网开发指南
  7. 5年后端WEB开发者的开机必备软件(md版本)
  8. 怎么设置计算机桌面一键关机,电脑一键关机按钮创建 教你在桌面一点就自动关机...
  9. ubuntu借助windows的网络共享上网
  10. 新生儿住月子中心20天患败血症 什么是败血症?有哪些危害