看着大佬们的解法我瑟瑟发抖

我用主席树写一写吧

  1. #include<iostream>
  2. #include<iomanip>
  3. #include<cmath>
  4. #include<cstdio>
  5. #include<cstdlib>
  6. #include<cstring>
  7. #include<algorithm>
  8. using namespace std;
  9. inline int gotcha()
  10. {
  11. register int _a=0;bool _b=1;register char _c=getchar();
  12. while((_c<'0' || _c>'9') && _c!='-')_c=getchar();
  13. if(_c=='-')_b=0,_c=getchar();
  14. while(_c>='0' && _c<='9')_a=_a*10+_c-48,_c=getchar();
  15. return _b?_a:-_a;
  16. }
  17. const int _ = 1000002,__ = 20*_;
  18. int a[_],n,root[__]={0},ch[__][2]={0},da[__],cnt;
  19. inline void plant(int &d,int l,int r)
  20. {
  21. d=++cnt;
  22. if(l==r){da[d]=a[l];return;}
  23. int mid=(l+r)>>1;
  24. plant(ch[d][0],l,mid),plant(ch[d][1],mid+1,r);
  25. }
  26. inline void insert(int &d,int pre,int l,int r,int tar,int dat)
  27. {
  28. d=++cnt,ch[d][0]=ch[pre][0],ch[d][1]=ch[pre][1],da[d]=da[pre];
  29. if(l==r){da[d]=dat;return;}
  30. int mid=(l+r)>>1;
  31. if(tar<=mid)insert(ch[d][0],ch[pre][0],l,mid,tar,dat);
  32. else insert(ch[d][1],ch[pre][1],mid+1,r,tar,dat);
  33. }
  34. inline int finder(int d,int l,int r,int tar)
  35. {
  36. if(l==r)return da[d];
  37. int mid=(l+r)>>1;
  38. if(tar<=mid)return finder(ch[d][0],l,mid,tar);
  39. else return finder(ch[d][1],mid+1,r,tar);
  40. }
  41. int main()
  42. {
  43. register int i;
  44. n=2;
  45. for(i=1;i<=n;i++)a[i]=gotcha();
  46. plant(root[0],1,n);
  47. i=finder(root[0],1,n,1)+finder(root[0],1,n,2);
  48. printf("%d\n",i);
  49. return 0;
  50. }

常数巨大,不要被我误导……

主席树 - Luogu 1001 A+B problem的更多相关文章

  1. 主席树||可持久化线段树+离散化 || 莫队+分块 ||BZOJ 3585: mex || Luogu P4137 Rmq Problem / mex

    题面:Rmq Problem / mex 题解: 先离散化,然后插一堆空白,大体就是如果(对于以a.data<b.data排序后的A)A[i-1].data+1!=A[i].data,则插一个空 ...

  2. luogu P4137 Rmq Problem / mex 主席树 + 思维

    Code: #include<bits/stdc++.h> #define maxn 200001 using namespace std; void setIO(string s) { ...

  3. 数据结构(主席树):HDU 4729 An Easy Problem for Elfness

    An Easy Problem for Elfness Time Limit: 5000/2500 MS (Java/Others)    Memory Limit: 65535/65535 K (J ...

  4. Luogu Dynamic Ranking (带修改的主席树)

    题目大意: 网址:https://www.luogu.org/problemnew/show/2617 给定一个序列a[1].a[2].....a[N],完成M个操作,操作有两种: [1]Q i j ...

  5. 【主席树维护mex】 【SG函数递推】 Problem H. Cups and Beans 2017.8.11

    Problem H. Cups and Beans 2017.8.11 原题: There are N cups numbered 0 through N − 1. For each i(1 ≤ i ...

  6. [Luogu 3701] 「伪模板」主席树

    [Luogu 3701] 「伪模板」主席树 这是一道网络流,不是主席树,不是什么数据结构,而是网络流. 题目背景及描述都非常的暴力,以至于 Capella 在做此题的过程中不禁感到生命流逝. S 向 ...

  7. HDU 4729 An Easy Problem for Elfness(主席树)(2013 ACM/ICPC Asia Regional Chengdu Online)

    Problem Description Pfctgeorge is totally a tall rich and handsome guy. He plans to build a huge wat ...

  8. [bzoj3218]a + b Problem 网络流+主席树优化建图

    3218: a + b Problem Time Limit: 20 Sec  Memory Limit: 40 MBSubmit: 2229  Solved: 836[Submit][Status] ...

  9. 【题解】BZOJ3489 A Hard RMQ problem(主席树套主席树)

    [题解]A simple RMQ problem 占坑,免得咕咕咕了,争取在2h内写出代码 upd:由于博主太菜而且硬是要用指针写两个主席树,所以延后2hQAQ upd:由于博主太菜而且太懒所以他决定 ...

随机推荐

  1. More than one fragment with the name [spring_web] was found. This is not legal ...

    今天在搭建springweb应用环境的时候启动tomcat报错More than one fragment with the name [spring_web] was found. This is ...

  2. centOS 下开启端口号

    firewall-cmd --zone=public --add-port=80/tcp --permanent permanent参数表示永久生效 更新防火墙规则  firewall-cmd --r ...

  3. spring Cloud中,解决Feign/Ribbon整合Hystrix第一次请求失败的问题?

    Spring Cloud中,Feign和Ribbon在整合了Hystrix后,可能会出现首次调用失败的问题,要如何解决该问题呢? 造成该问题的原因 Hystrix默认的超时时间是1秒,如果超过这个时间 ...

  4. 如何解决Eureka Server不踢出已关停的节点的问题?

    如何解决Eureka Server不踢出已关停的节点的问题? eureka端: eureka.server.enable-self-preservation                       ...

  5. Eclipse IDE配置PHP开发、调试环境

    前言 使用java语言开发的朋友想必对Eclipse开发工具已经不陌生了,那么Eclipse作为java主流的开发工具,是否能够开发PHP项目呢?答案如你所想,肯定是可以的!以下就是该IDE下如何配置 ...

  6. <转>Java 高并发综合

    并发模型 悲观锁和乐观锁的理解及如何实现,有哪些实现方式? 悲观锁 悲观锁假设最坏的情况(如果你不锁门,那么捣蛋鬼就会闯入并搞得一团糟),并且只有在确保其他线程不会干扰(通过获取正确的锁)的情况下才能 ...

  7. ACM的数学基础

    懒得整理了,请勿往下看.  (一)欧拉函数 设n为正整数,以φ(n)表示不超过n且与n互素的正整数的个数,称为n的欧拉函数值,这里函数φ:N→N,n→φ(n)称为欧拉函数.有如下一些性质: (1)欧拉 ...

  8. Java 方法介绍

    1.方法(函数)介绍 各种语言都有方法的概念(有的语言称其为函数或过程). 方法用于封装一段特定的逻辑功能.如执行计算或操作. 方法可以在程序中反复被调用,方法可以减少代码重复,便于程序的维护,有利于 ...

  9. 洛谷 P1903 【模板】分块/带修改莫队(数颜色)

    题目描述 墨墨购买了一套N支彩色画笔(其中有些颜色可能相同),摆成一排,你需要回答墨墨的提问.墨墨会像你发布如下指令: 1. Q L R代表询问你从第L支画笔到第R支画笔中共有几种不同颜色的画笔. 2 ...

  10. Distinct Values(贪心)

    问题 D: Distinct Values 时间限制: 1 Sec  内存限制: 128 MB提交: 13  解决: 5[提交] [状态] [讨论版] [命题人:admin] 题目描述 Chiaki ...