又是一道神题

题解传送门:http://blog.sina.com.cn/s/blog_86942b1401015yln.html

代码完全抄袭某神,请无视掉

const int N = 1010, M = 1000010;
struct Dat {int t, p;
} Dat[M];
int C1[N * 3][N << 2], C2[N * 3][N << 2];
int n, m, Len, T;inline void Input() {scanf("%d%d", &T, &Len), n = Len << 1, m = n << 1;
}inline int lowbit(int x) { return x & -x; }
inline void Add(int C1[][N << 2], int x0, int y0, int d) {for(int i = x0 + 1; i < Len * 3 + 2; i += lowbit(i))for(int j = y0 + 1; j < (Len << 2) + 1; j += lowbit(j)) C1[i][j] += d;
}
inline void Add_a(int x, int y, int d) { Add(C1, x, x + y, d); }
inline void Add_b(int x, int y, int d) { Add(C2, x - Len, y - x + m, d); }inline int Cal(int C1[][N << 2], int x0, int y0) {int Ans = 0;for(int i = x0 + 1; i; i -= lowbit(i))for(int j = y0 + 1; j; j -= lowbit(j)) Ans += C1[i][j];return Ans;
}
inline int Cal1(int x0, int y0, int x1, int y1) {return Cal(C1, x1, x1 + y1) - Cal(C1, x0 - 1, x1 + y1) - Cal(C1, x1, x0 + y0 - 1) + Cal(C1, x0 - 1, x0 + y0 - 1);
}
inline int Cal2(int x0, int y0, int x1, int y1) {return Cal(C2, x1 - Len, y1 - x1 + m) - Cal(C2, x0 - Len - 1, y1 - x1 + m)- Cal(C2, x1 - Len, y0 - x0 + m - 1) + Cal(C2, x0 - Len - 1, y0 - x0 + m - 1);
}inline void Change(int c, int d) {int t = Dat[c].t, p = Dat[c].p;Add_a(t, p, d);if(t <= Len) Add_a(t + n, p, d);Add_b(t + n, p, d);if(t >= Len) Add_b(t, p, d);
}
inline int Ask(int t, int L, int R) {int ans = Cal1(t, L, t + R, Len), d = Len == R;if (!R) return ans;return ans += Cal2(t + n - R + d, L - R + d, t + n - 1, Len + R - 1);
}
inline void Solve() {while(T--) {int K, t, c, L, R, d;scanf("%d%d", &K, &t), t %= n;if(K == 1) {scanf("%d%d%d%d", &c, &L, &R, &d);Dat[c].t = (t - d * L + n) % n, Dat[c].p = R - L, Change(c, 1);} else if(K == 2) scanf("%d%d", &L, &R), printf("%d\n", Ask(t, L, R));else scanf("%d", &c), Change(c, -1);}
}int main() {#ifndef ONLINE_JUDGESETIO("1062");#endifInput();Solve();return 0;
}

bzoj1062: [NOI2008]糖果雨相关推荐

  1. 【BZOJ 1062】 1062: [NOI2008]糖果雨 (二维树状数组)**

    1062: [NOI2008]糖果雨 Description 有一个美丽的童话:在天空的尽头有一个" 糖果国" ,这里大到摩天大厦,小到小花小草都是用糖果建造而成 的.更加神奇的是 ...

  2. 【BZOJ1062】糖果雨(NOI2008)-数形结合+二维树状数组

    测试地址:糖果雨 做法:本题需要用到数形结合+二维树状数组. 这题看上去非常没有思路,因此我们来一步一步整理一下思路. 首先,我们要发现线段的颜色互不相同,并且移动的速度相等,这就说明它们的运动是周期 ...

  3. [NOI2008]糖果雨

    bzoj1062[Noi2008]糖果雨 首先给出的颜色没有用. 估计要用数据结构.而线段难以维护. 考虑把线段变成点 T是单增的. 所以询问的时候,存在的线段都可能贡献答案. 那些线段的位置如果可以 ...

  4. 【BZOJ1062】[NOI2008]糖果雨【二维树状数组】

    [题目链接] 神题. [别人的题解] /* Pigonometry */ #include <cstdio> #include <algorithm>using namespa ...

  5. [NOI2008]糖果雨——数形结合的思想

    题目描述: 维护一个线段集合支持以下操作: 1. add T L R D :在T秒时加入一条L至R的线段,运动方向为D(每秒向右移动D个单位),D为1或-1. 2. ask t L R: 询问t时刻有 ...

  6. [NOI2008] 糖果雨

    神题啊!干了一年才AC 首先由于各个操作的时间严格上升,因此在某此操作中,还没被删除的云朵是可以是为永久存在的:这样,又由于云的运动速度大小相同,即周期都为2len,将云的左端点一个周期的往返运动画在 ...

  7. bzoj 1062: [NOI2008]糖果雨

    高手 /**************************************************************Problem: 1062User: lxy8584099Langu ...

  8. 1062: [NOI2008]糖果雨 - BZOJ

    题目链接:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1062 神题一个,直接讲思路了(全都是看别人的) 首先我们把一个云用一个平面上的点( ...

  9. BZOJ 1062: [NOI2008]糖果雨(二维树状数组)

    首先嘛,这道题是非同一般的恶心= = 然后首先膜拜一下CDQ大神ORZ在考场上A了这道题ORZ 这道题看到的话,我是先想把云朵化成在0s时的位置,但很容易发现这样只能单点查询而不能查询整段 结果只能膜 ...

最新文章

  1. 数据库设计指南(四)保证数据的完整性
  2. 永洪Desktop自由表格间计算使用教程
  3. 今日arXiv精选 | 18篇近期值得关注的Transformer工作
  4. CodeForces - 1353F Decreasing Heights(dp)
  5. java 反编译 类名_java javassist创建类和反编译类
  6. 【递推】Ayoub and Lost Array
  7. 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误
  8. 云访问安全代理(CASB)行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  9. mysql排序区分大小写吗_MySQL的order by时区分大小写
  10. 零中频接收机频率转换图_VHF跳频电台接收机射频前端的仿真设计
  11. VBlog 的代码结构, 使用 element, vant 组件开发的纯前端博客
  12. 无线USB网卡Rndis设备
  13. 用python编程点菜系统_python3实现点餐系统
  14. 适合零基础编程学员学习的网站,APP
  15. java石头剪刀布思路_石头剪刀布Java实现
  16. Caffeine Eviction策略
  17. 大数据主要学些什么?(大数据学习路线图)
  18. Java ISO 8601时间格式转换
  19. python 输出结果乱码解决方法——res.encoding=‘utf-8‘
  20. 技术赋能数字经济释放巨大潜力

热门文章

  1. CENTOS上的时间/时区设定
  2. Kotlin的协程:挂起函数
  3. 数实融合激变时刻,与长期主义同行
  4. 智慧城市智能化建设发展现状及展望
  5. php error reporting,php error_reporting
  6. 伪装成抖音国际版Tiktok的短信蠕虫(病毒分析)
  7. SpringClude--feign介绍
  8. EasyUI 表格制作
  9. 基于低代码开发平台实现政府督办管理系统
  10. sql如何查看数据库表的关联关系?