AC日记——红色的幻想乡 洛谷 P3801
红色的幻想乡
思路:
线段树+容斥原理;
代码:
#include <bits/stdc++.h> using namespace std; #define maxn 100005 #define maxm maxn<<2 #define ll long long class TreeType {private:int L[maxm],R[maxm],mid[maxm],dis[maxm];public:void build(int now,int l,int r){L[now]=l,R[now]=r,dis[now]=0;if(l==r) return;mid[now]=l+r>>1;build(now<<1,l,mid[now]),build(now<<1|1,mid[now]+1,r);}void updata(int now,int to){if(L[now]==R[now]){dis[now]^=1;return;}if(to<=mid[now]) updata(now<<1,to);else updata(now<<1|1,to);dis[now]=dis[now<<1]+dis[now<<1|1];}int query(int now,int l,int r){if(L[now]>=l&&R[now]<=r) return dis[now];int res=0;if(l<=mid[now]) res+=query(now<<1,l,r);if(r>mid[now]) res+=query(now<<1|1,l,r);return res;} }; struct TreeType tree1,tree2; int n,m,q; inline void in(int &now) {char Cget=getchar();now=0;while(Cget>'9'||Cget<'0') Cget=getchar();while(Cget>='0'&&Cget<='9'){now=now*10+Cget-'0';Cget=getchar();} } int main() {in(n),in(m),in(q);tree1.build(1,1,n);tree2.build(1,1,m);int op,x1,y1,x2,y2;while(q--){in(op),in(x1),in(y1);if(op==1) tree1.updata(1,x1),tree2.updata(1,y1);else{in(x2),in(y2);ll ans1=tree1.query(1,x1,x2),ans2=tree2.query(1,y1,y2);printf("%lld\n",ans1*(y2-y1+1)+ans2*(x2-x1+1)-ans1*ans2*2);}}return 0; }
转载于:https://www.cnblogs.com/IUUUUUUUskyyy/p/6979639.html
AC日记——红色的幻想乡 洛谷 P3801相关推荐
- AC日记——小书童——刷题大军 洛谷 P1926
题目背景 数学是火,点亮物理的灯:物理是灯,照亮化学的路:化学是路,通向生物的坑:生物是坑,埋葬学理的人. 文言是火,点亮历史宫灯:历史是灯,照亮社会之路:社会是路,通向哲学大坑:哲学是坑,埋葬文科生 ...
- AC日记——[USACO07DEC]手链Charm Bracelet 洛谷 P2871
题目描述 Bessie has gone to the mall's jewelry store and spies a charm bracelet. Of course, she'd like t ...
- AC日记——最小路径覆盖问题 洛谷 P2764
题目描述 «问题描述: 给定有向图G=(V,E).设P 是G 的一个简单路(顶点不相交)的集合.如果V 中每个顶点恰好在P 的一条路上,则称P是G 的一个路径覆盖.P 中路径可以从V 的任何一个顶点开 ...
- P3801 红色的幻想乡(树状数组)
题目背景 蕾米莉亚的红雾异变失败后,很不甘心. 题目描述 经过上次失败后,蕾米莉亚决定再次发动红雾异变,但为了防止被灵梦退治,她决定将红雾以奇怪的阵势释放. 我们将幻想乡看做是一个 n \times ...
- 算法刷题【洛谷P1593】因子和(附等比数列求和公式推导)
异想之旅:本人原创博客完全手敲,绝对非搬运,全网不可能有重复:本人无团队,仅为技术爱好者进行分享,所有内容不牵扯广告.本人所有文章仅在CSDN.掘金和个人博客(一定是异想之旅域名)发布,除此之外全部是 ...
- 洛谷刷题C语言:Fergusonball Ratings、Don‘t Mozheng. /oh、gcd.、幻想乡扑克游戏、PMTD
记录洛谷刷题C语言qaq [CCC2022 J2] Fergusonball Ratings 题目描述 现在有一个球队需要你评价. 球队中的第 i i i 个人进了 a i a_i ai 个球,犯规 ...
- 【洛谷3345_BZOJ3924】[ZJOI2015]幻想乡战略游戏(点分树)
大概有整整一个月没更博客了 -- 4 月为省选爆肝了一个月,最后压线进 B 队,也算给 NOIP2018 翻车到 316 分压线省一这个折磨了五个月的 debuff 画上了一个不算太差的句号.结果省选 ...
- 洛谷-DFS-1101-单词方阵-个人AC题解及公共题解的笔记
先上自己AC代码(博主这个代码修改过多次,只因代码长度过长) #include<bits/stdc++.h> using namespace std; #define MAXN 102 i ...
- 洛谷-DFS-1019-单词接龙-个人AC题解和公共AC题解笔记
学习内容: 预处理 万能头文件 string的使用 话不多说,直奔主题 本人AC代码 #include<iostream> #include<cstdio> #include& ...
最新文章
- SQLite数据库操作
- 安装server 2012 时提示输入的密码不满足网络或组管理员设置的密码复杂度
- UrlRewrite(URL重写)--ASP.NET中的实现
- UE4 左右立体参数
- python常用模块教程_盘点Python常用的模块和包
- 北京文化:截至10月8日 来源于《我和我的家乡》的收益约为8000万元-1亿元
- 35岁以上的IT人士如果有一天被公司裁员了,该怎么办?
- json string 格式_Retrofit同时解析JSON和XML数据格式
- python进阶(一)关联sql的算法操作
- CentOS 7.6 安装 nginx,配置端口访问网站,切换root目录
- Linux 运维必备的 13 款实用工具,拿好了~
- mac brew 测速 软件_敏捷过程中的软件持续建模
- 浅谈使用实现FactoryBean接口的方式定义Bean
- java程序设计精编教程第3版电子版课后答案_java程序设计精编教程第3版答案
- 创新创业技术路线怎么写_【精选】如何撰写创新创业项目申请书.ppt
- 被黑多年的WPS上市,背后:雷军拒绝收购,死磕微软 31 年
- T430s BIOS白名单破解
- android添加一层半透明,android – 在imageview上添加半透明叠加层
- PHP数组内容制作分页功能
- VUE-Vuetify框架
热门文章
- kasp技术原理_KASP基因型测定技术在各个学科的应用实践(内附官方重要资料)...
- 最优化读书笔记R(一)
- 【Flink】Flink 源码阅读笔记(20)- Flink 基于 Mailbox 的线程模型
- 【Flink】Flink CDH6.3.2 下的yarn per job模式 savepoint和checkpoint,卡住,没有保存成功文件
- 95-38-040-Buffer-AbstractReferenceCountedByteBuf引用计数
- 【Flink】Flink Max 和 MaxBy的区别
- 《Elasticsearch 源码解析与优化实战》样章-第 6 章 数据模型
- 【Antlr】Antlr preview 不能使用了
- 【Flink】Flink No JAAS configuration section named Client ERROR:Authentication failed
- 【hortonworks/registry】诡异问题之启动了却无法访问