当前位置: 首页 > news >正文

自助建站系统网站建设开发济南市莱芜区招聘信息

自助建站系统网站建设开发,济南市莱芜区招聘信息,页面设计器,新开传奇网站超变文章目录题意思路传送门 题意 有nnn个人#xff0c;给你qqq个请求#xff0c;分以下三种#xff1a; [l,r,x][l,r,x][l,r,x] 如果x0x0x0#xff0c;代表[l,r][l,r][l,r]这个区间内的人都没病。[l,r,x][l,r,x][l,r,x] 如果x1x1x1#xff0c;代表[l,r][l,r][l,r]这个区间内… 文章目录题意思路传送门 题意 有nnn个人给你qqq个请求分以下三种 [l,r,x][l,r,x][l,r,x] 如果x0x0x0代表[l,r][l,r][l,r]这个区间内的人都没病。[l,r,x][l,r,x][l,r,x] 如果x1x1x1代表[l,r][l,r][l,r]这个区间内的人至少一个有病。jjj 查询第jjj个人是否能确定有病或者没病如果能确定那么是有病还是没病。 1≤n,q≤2e51\le n,q\le 2e51≤n,q≤2e5 思路 一个人没病很好确定考虑一个人有病怎么确定呢 对于t1t1t1的时候如果这个区间内的没病的人数等于区间长度减111那么剩下那个人一定有病否则就不能确定。 让后这个题的一个比较难的点是假设当前是第iii个询问你需要根据前iii个询问的信息来回答当前的答案在线很难我们不妨离线来搞。 离线来的话对于每个没病的人都记一下这个位置确定的最小时间显然势能线段树即可。让后再从头遍历一下x1x1x1的信息首先查询一下当前区间没病的人是否等于区间长度减111让后再看一下区间最大值是否小于当前询问时间iii都满足的话找到剩余的这个人的位置将ans[pos]min(ans[pos],max(i,mx))ans[pos]min(ans[pos],max(i,mx))ans[pos]min(ans[pos],max(i,mx))即可。 再处理查询根据上面的信息分情况即可。 复杂度O(nlogn)O(nlogn)O(nlogn)。 #includebits/stdc.h #define X first #define Y second #define L (u1) #define R (u1|1) #define Mid (tr[u].ltr[u].r1) #define Len(u) (tr[u].r-tr[u].l1) #define pb push_back using namespace std;const int N200010,INF0x3f3f3f3f,mod1e97; typedef long long LL;int n,qq; int ans[N]; struct Query {int op,l,r,x; }q[N]; struct Node {int l,r;int cnt,mx;int id; }tr[N2];void pushup(int u) {tr[u].cnttr[L].cnttr[R].cnt;tr[u].mxmax(tr[L].mx,tr[R].mx);if(tr[L].id!0) tr[u].idtr[L].id;else if(tr[R].id!0) tr[u].idtr[R].id;else tr[u].id0; }void build(int u,int l,int r) {tr[u]{l,r,0,-1,0};if(lr) {tr[u].idl;return;}build(L,l,Mid); build(R,Mid1,r);pushup(u); }void change(int u,int l,int r,int x) {if(tr[u].cntLen(u)) return;if(tr[u].ltr[u].r) {tr[u].cnt1;tr[u].mxx;tr[u].id0;return;}if(lMid) change(L,l,r,x);if(rMid) change(R,l,r,x);pushup(u); }int query_cnt(int u,int l,int r) {if(tr[u].lltr[u].rr) return tr[u].cnt;int ans0;if(lMid) ansquery_cnt(L,l,r);if(rMid) ansquery_cnt(R,l,r);return ans; }int query_max(int u,int l,int r) {if(tr[u].lltr[u].rr) return tr[u].mx;int ans-1;if(lMid) ansmax(ans,query_max(L,l,r));if(rMid) ansmax(ans,query_max(R,l,r));return ans; }Node query_id(int u,int l,int r) {if(tr[u].lltr[u].rr) return tr[u];if(rMid) return query_id(L,l,r);if(lMid) return query_id(R,l,r);Node ans,ls,rs;lsquery_id(L,l,r);rsquery_id(R,l,r);ans.cntls.cntrs.cnt;ans.mxmax(ls.mx,rs.mx);if(ls.id!0) ans.idls.id;else if(rs.id!0) ans.idrs.id;else ans.id0;/*if(ls.cntls.r-ls.l1rs.cntrs.r-rs.l1) ans.id0;else if(ls.cnt!ls.r-ls.l1) ans.idls.id;else ans.idrs.id;ans.lls.l; ans.rrs.r;*/return ans; }void solve() {scanf(%d%d,n,qq);build(1,1,n);for(int i1;in;i) ans[i]qq1;for(int i1;iqq;i) {int op; scanf(%d,op);if(op0) {int l,r,x; scanf(%d%d%d,l,r,x);q[i]{op,l,r,x};if(x0) change(1,l,r,i);} else {int x; scanf(%d,x);q[i]{op,-1,-1,x};}}for(int i1;iqq;i) {if(q[i].op0q[i].x1) {int lq[i].l,rq[i].r;int mxquery_max(1,l,r);int cntquery_cnt(1,l,r);if(cnt!r-l) continue;Node resquery_id(1,l,r);ans[res.id]min(ans[res.id],max(mx,i));//cout**ans[res.id]endl;}}for(int i1;iqq;i) {if(q[i].op1) {int xq[i].x;int cntquery_cnt(1,x,x);int mxquery_max(1,x,x);if(cntmxi) puts(NO);else {if(ans[x]i) puts(N/A);else puts(YES);}}} }int main() {int _1;while(_--) {solve();}return 0; } /* 0 4 5 0 1 5 1 6 0 4 6 1 1 6 0 2 5 1 0 2 2 0 1 3 1 21 2 3 4 5 6 1 0 1 0 0 1 */
http://www.yutouwan.com/news/140719/

相关文章:

  • 网站开发常用png私密浏览器免费版在线看小说
  • ps做网站首页效果特效python 有wordpress
  • 太原企业建站模板公司在选择网站时应考虑什么
  • 网站建设 工具seo优化一般包括
  • 如何进行网站关键词优化域名还没备案可以做网站吗
  • 东莞网站建设规范河南省招生网站服务平台
  • 万维网注册域名后怎么导入网站用dw做网页的步骤
  • 百度网站模板免费下载中国建设银行网站首页河西网点
  • 前端做网站如何调接口网站设计尺寸
  • 秦皇岛网站推广价钱深圳市网站哪家做的好
  • 做网站需要icp怎么加入电商
  • 网站建设免费加盟代理如何自己做的网站
  • 对网站和网页的认识室内设计培训机构排名前十
  • 上海美容网站建设dedecms手机网站模板安装教程
  • 莆田外贸网站建设做网站费免图片网站
  • 移动网站建设方案wordpress 爆路径
  • 做网站用什么域名好关于网站开发网页上传和网站发布
  • 用wordpress建站域名和空间哪里买比较好百度推广一年大概需要多少钱
  • WordPress北京百度网站排名优化
  • 金乡做网站手机怎么做程序
  • 哪家网站推广好专业做网站关键词排名下掉
  • 网站开发登录要做哪些验证我的世界是怎么做的视频网站
  • c 网站开发框架广西住房和建设厅官网
  • 网站托管是什么3d建模是干什么的
  • seo云优化软件破解版抖音seo排名系统公司
  • 贵阳德天信网站建设php wordpress配置
  • 西南城乡建设部网站首页wordpress插件商品对比
  • 做微商哪个网站比较好建设网站需要什么资质
  • 移动互联网开发平台基于linux安卓网站seo插件
  • 佛山网站搭建公司大学生网站设计作业