首先是二分图匹配

Hall定理

令a[i]表示尺码为i的人有多少个

然后是任何的l,r  a[i]之和<=(r-l+1+d)*k

->任何的l,r (a[i]-k)之和<=d*k(定值)

线段树维护最大子段和

#include<cstdio>
#include<algorithm>
using namespace std;
int n,m,k,d;
long long tree_sum[800005],tree_max[800005],tree_maxl[800005],tree_maxr[800005];
void update(int t){tree_sum[t]=tree_sum[t<<1]+tree_sum[t<<1|1];tree_maxl[t]=max(tree_maxl[t<<1],tree_maxl[t<<1|1]+tree_sum[t<<1]);tree_maxr[t]=max(tree_maxr[t<<1|1],tree_maxr[t<<1]+tree_sum[t<<1|1]);tree_max[t]=max(tree_max[t<<1],tree_max[t<<1|1]);tree_max[t]=max(tree_max[t],tree_maxr[t<<1]+tree_maxl[t<<1|1]);
}
void build(int t,int l,int r){if (l==r){tree_max[t]=tree_maxl[t]=tree_maxr[t]=tree_sum[t]=-k;return;}int mid=(l+r)>>1;build(t<<1,l,mid);build(t<<1|1,mid+1,r);update(t);
}
void modify(int t,int l,int r,int x,int y){if (l==r){tree_max[t]+=y;tree_maxl[t]+=y;tree_maxr[t]+=y;tree_sum[t]+=y;return;}int mid=(l+r)>>1;if (x<=mid) modify(t<<1,l,mid,x,y);else modify(t<<1|1,mid+1,r,x,y);update(t);
}
int main(){scanf("%d%d%d%d",&n,&m,&k,&d);build(1,1,n);for (int i=1; i<=m; i++){int x,y;scanf("%d%d",&x,&y);modify(1,1,n,x,y);if (tree_max[1]<=1ll*d*k) printf("TAK\n");else printf("NIE\n");}return 0;
}

  

转载于:https://www.cnblogs.com/silenty/p/9910745.html

BZOJ 1135: [POI2009]Lyz相关推荐

  1. [BZOJ 1135][POI2009]Lyz

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

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

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

  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. 1135: [POI2009]Lyz

    1135: [POI2009]Lyz Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 418  Solved: 191 [Submit][Status ...

  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. bzoj 1115: [POI2009]石子游戏Kam(博弈)

    1115: [POI2009]石子游戏Kam Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 1132  Solved: 692 [Submit][S ...

  9. bzoj 1133: [POI2009]Kon(DP)

    1133: [POI2009]Kon Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 457  Solved: 166 [Submit][Status ...

最新文章

  1. c++重载后置++和--
  2. Spring@Cacheable注解在类内部调用失效的问题
  3. 给Java初学者的十条小建议,快来收藏吧
  4. 5g空分复用技术_5G十大关键技术之三的空分复用
  5. springmvc错误 Spring3.X jdk8 java.lang.IllegalArgumentException
  6. C语言发展历史,C语言特点,C语言利于弊,入门须知三招
  7. ASP.NET MVC5使用Area区域
  8. P2415 集合求和(python3实现)
  9. ApacheCN Java 译文集 20210921 更新
  10. python子窗口返回数据给主窗口_Python Scrapy,从子页面返回进行抓取
  11. 如何在电脑上删除磁盘碎片
  12. 动态规划和分治法解合唱队形问题
  13. 没学历,没技术除了进厂,还有哪些出路?
  14. 基于Python(Django)+MongoDB实现的(Web)新闻采集和订阅系统【100010319】
  15. 极速office(Word)如何在表格里面插入行或者列
  16. Linux系统使用--Ubuntu 16.04 安装为知笔记
  17. 安装工程管道的规格及高程表示方法
  18. vue面试核心,双向数据绑定,数据代理,数据劫持,发布订阅,数据编译,看这个demo就够了
  19. 计算机英语化工版,计算机英语(主编苏兵-化工版)教案:7 What is multimedia.doc...
  20. vue中关闭浏览器清除localStorage,并且刷新时保持状态不受影响

热门文章

  1. 用C语言实现简单的一字棋游戏
  2. 成人高考计算机专业,成人高考计算机专业难吗?
  3. python里面的pip是什么意思_为什么您应该使用`python -m pip`
  4. css样式border-radius学习-画出水滴
  5. win10关闭电池保护模式_win10系统Ie浏览器开启、关闭保护模式的操作方法
  6. 抖音壁纸表情包小程序源码,可对接流量主
  7. Mathematica三维画图一些技巧
  8. 使用Amazon Deep Learning AMI 快速实现 CUDA,cuDNN 和深度学习框架版本兼容
  9. 一键定时关机及取消关机
  10. 杂记(关于域名、网名以及一些常用图像格式、像素)