博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BZOJ3236:[AHOI2013]作业——题解
阅读量:7280 次
发布时间:2019-06-30

本文共 1091 字,大约阅读时间需要 3 分钟。

第一种做法:

建两棵主席树分别处理两个问题。

第一个问题水,第二个问题参考

但是代码量巨大,显然不能写。

第二种做法:

参考:

对询问离线莫队,然后莫队里面套值域分块。

……值域分块还是很好写的就不讲了。

可以看出代码量巨短。

(emmm果然数据结构学傻了想的第一种做法敲了十分钟果断弃了查题解。)

(莫队还是太菜了要多练。)

#include
#include
#include
#include
#include
#include
using namespace std;const int N=1e5+5;const int M=1e6+5;inline int read(){ int x=0,w=1;char ch=0; while(ch<'0'||ch>'9'){ if(ch=='-')w=-1;ch=getchar();} while(ch>='0'&&ch<='9'){x=(x<<1)+(x<<3)+ch-'0';ch=getchar();} return x*w;}struct data{ int pos,l,r,a,b;}q[M];int a[N],cnt[N],ans[M][2],v[N],num[N],s,n,m;inline int bel(int x){ return (x-1)/s+1;}inline bool cmp(data a,data b){ return bel(a.l)==bel(b.l)?a.r
q[i].l)add(a[--ql]); while(qr
q[i].r)del(a[qr--]); query(q[i].pos,q[i].a,q[i].b); } for(int i=1;i<=m;i++){ printf("%d %d\n",ans[i][0],ans[i][1]); } return 0;}

+++++++++++++++++++++++++++++++++++++++++++

+本文作者:luyouqi233。               +

+欢迎访问我的博客:

+++++++++++++++++++++++++++++++++++++++++++

转载于:https://www.cnblogs.com/luyouqi233/p/8707641.html

你可能感兴趣的文章
Vue UI 组件库
查看>>
用代码控制网络断开与重连
查看>>
带你玩转Logview: MaxCompute Logview参数详解和问题排查
查看>>
探讨:通过循环数组或者集合,插入数据库中没有的数据
查看>>
Spring @Value的$和#用法区别
查看>>
“团灭”经历想说的散伙话
查看>>
用HTML和JS来开发移动app - 部署Cordova配套开发环境
查看>>
前端之jquery函数库
查看>>
8月4日中国大数据大会重装起航 精彩抢先看
查看>>
Java CompletableFuture:allOf等待所有异步线程任务结束(4)
查看>>
创达电子与Ebistrategy亦策软件的BI建设合作
查看>>
Quartz任务调度器
查看>>
您为何还未采用HTTP/2?
查看>>
【GPU称霸超算TOP500最新榜单】美国重夺全球超算霸主,总算力56%来自GPU
查看>>
想换工作?阿里技术战略部招人啦!
查看>>
果粉的福音!SteamVR将推出OSX和Linux测试版本
查看>>
Python面试真实笔试题总结(附加实现答案)
查看>>
matlab读取csv文件数据并绘图
查看>>
Fortinet 携手中信国际电讯CPC在亚太地区扩展安全托管服务
查看>>
Mysql 数据库单机多实例部署手记
查看>>