这么sb的题本来想练练手记过就是过不了

拍半天也没问题

留坑

哪天有空了去linux下面试试

  1. #include<cstdio>
  2. #include<cstring>
  3. #include<cstdlib>
  4. #include<algorithm>
  5. #include<iostream>
  6.  
  7. using namespace std;
  8. template<typename Q> bool read(Q& x) {
  9. static char c, f;
  10. for(f = ; c = getchar(), !isdigit(c); ) if(c == '-') f = ;
  11. for(x = ; isdigit(c); c = getchar()) x = x * + c - '';
  12. if(f) x = -x; return c != ')';
  13. }
  14. template<typename Q> Q read() {
  15. static Q x; read(x); return x;
  16. }
  17.  
  18. const int N = + ;
  19.  
  20. int a[N], n;
  21.  
  22. struct SegmentTree {
  23. int da[N * ];
  24.  
  25. #define mid ((l + r) >> 1)
  26. #define ls s << 1, l, mid
  27. #define rs s << 1 | 1, mid + 1, r
  28.  
  29. void build(int s, int l, int r) {
  30. if(l == r) return da[s] = a[l], void();
  31. build(ls), build(rs);
  32. da[s] = min(da[s << ], da[s << | ]);
  33. }
  34.  
  35. int lft, rgt, w;
  36.  
  37. int query(int s, int l, int r) {
  38. if(lft <= l && r <= rgt) return da[s];
  39. if(rgt <= mid) return query(ls);
  40. if(mid < lft) return query(rs);
  41. return min(query(ls), query(rs));
  42. }
  43.  
  44. void modify(int s, int l, int r) {
  45. if(l == lft) return da[s] = w, void();
  46. if(lft <= mid) modify(ls); else modify(rs);
  47. da[s] = min(da[s << ], da[s << | ]);
  48. }
  49.  
  50. int Q(int l, int r) {
  51. return lft = l, rgt = r, query(, , n);
  52. }
  53.  
  54. void M(int p, int w) {
  55. lft = p, this->w = w;
  56. modify(, , n);
  57. }
  58. }seg;
  59.  
  60. int b[N], tot;
  61.  
  62. char enter[];
  63.  
  64. int main() {
  65. #ifdef DEBUG
  66. freopen("in.txt", "r", stdin);
  67. freopen("out.txt", "w", stdout);
  68. #endif
  69.  
  70. int m, l, r, x;
  71. read(n), read(m);
  72. for(int i = ; i <= n; i++) {
  73. read(a[i]);
  74. }
  75. seg.build(, , n);
  76. // gets(enter);
  77. char opt[];
  78.  
  79. for(int i = ; i <= m; i++) {
  80. // fprintf(stderr, "%d\n", i);
  81. scanf("%[^(]", opt);
  82. if(opt[] == 'q') {
  83. read(l), read(r);
  84. printf("%d\n", seg.Q(l, r));
  85. }else {
  86. tot = ;
  87. while() {
  88. int t = read(x);
  89. b[tot++] = x;
  90. if(!t) break;
  91. }
  92. if(tot == ) continue;
  93. reverse(b, b + tot);
  94. int last = a[b[tot - ]];
  95. for(int i = ; i < tot; i++) {
  96. seg.M(b[i], last);
  97. swap(a[b[i]], last);
  98. }
  99. }
  100. gets(enter);
  101. }
  102.  
  103. return ;
  104. }

【留坑】uva12299的更多相关文章

  1. CPU虚拟化技术(留坑)

    留坑~~~ 不知道这个是这么实现的 CPU虚拟化技术就是单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率.虚 ...

  2. 【问题解决方案】Git bash进入多层子目录问题(通配符问题留坑)

    cd进入指定路径下:cd 斜杠 斜杠 方法一: 1- 撇丿,不是"那",盘符前面要加上 / (d盘前面也加,不加也行) 2- 路径名不区分大小写 3- 不用空格 4- 如果目录名中 ...

  3. 2.18比赛(T2,T3留坑)

    2.18比赛(T2,T3留坑) pdf版题面 pdf版题解 超越一切(ak) [题目描述] 夏洛可得到一个(h+1)×(w+1)的巧克力,这意味着她横着最多可 以切 h 刀,竖着最多可以切 w 刀 她 ...

  4. [kuangbin带你飞]专题十一 网络流个人题解(L题留坑)

    A - ACM Computer Factory 题目描述:某个工厂可以利用P个部件做一台电脑,有N个加工用的机器,但是每一个机器需要特定的部分才能加工,给你P与N,然后是N行描述机器的最大同时加工数 ...

  5. 题解 queen(留坑)

    传送门 博客园突然打不开了,奇奇怪怪的-- 少写个等号没看出来 nm写反了没看出来 考完5min全拍出来了 手残属性加持 不对拍等于爆零 yysy,我连卢卡斯定理的存在都忘了-- 发现要让一大堆皇后能 ...

  6. 题解 Six(留坑)

    传送门 考场上搞了个三进制状压,结果正确性假了-- 有想到从约数下手,但觉得就光预处理约数复杂度就爆炸就没往这边想-- 首先是关于约数个数的证明,再一次感谢战神: 因为 \(n = \prod p_i ...

  7. 题解 c(留坑)

    传送门 这题卡常--而且目前还没有卡过去 首先以原树重心为根,向所有子树重心连边,可以建立一棵点分树 点分树有两个性质: 一个是树高只有log层 另一个是两点在点分树上的lca一定在原树上两点间的树上 ...

  8. C++学习记录(留坑)

    #include <iostream> #include <ctime> #include <fstream> ///文件打开有o.i权限 #include < ...

  9. 优秀 Java 程序员写代码的风格,不再留坑给别人

    往 期 精 彩 推 荐    [1]Java Web技术经验总结 [2]15个顶级Java多线程面试题及答案,快来看看吧 [3]面试官最喜欢问的十道java面试题 [4]从零讲JAVA ,给你一条清晰 ...

随机推荐

  1. angularjs跨域调取webservice

    1.配置 web.config <webServices> <!--必须添加--> <protocols> <add name="HttpGet&q ...

  2. [CSS]background背景

    css背景样式 序号  中文说明  标记语法  1  背景颜色  {background-color:数值}  2  背景图片  {background-image: url('imgpath/img ...

  3. 自定义函数中的参数返回值 “-> (Int -> Int)”的问题

    func makeIncrementer() -> (Int -> Int) { func addOne(number: Int) -> Int { + number } retur ...

  4. about python

    函数式编程 λ演算 LISP,Erlang 尾递归 栈的使用 避免防御式编程 ER实体Entity关系relationship OOP [OOA/D] 属性.行为 继承.聚合.关联 抽象.封装 笛卡尔 ...

  5. 面向对象js瀑布流效果

    index.html <!doctype html><html lang="en"> <head>  <!--网站编码格式,UTF-8 国 ...

  6. C++11的新特性lambda的小试牛刀RAII

    C/C++的资源是手动管理的 这导致程序员在申请资源时,最后用完了偶尔会忘记回收 C++语言的发明者倡导RAII,资源获取即初始化 使用对象来管理资源的生命周期,在超出作用域时,析构函数自动释放资源 ...

  7. 变更到Android4.4的问题

    更新到Android 4.4,写了个小程序.发现运行不起来了.抛空指针异常.debug模式下,发现在onCreate方法中获取Button是null. Android 4.4把layout进行了重组, ...

  8. bzoj 1014: [JSOI2008]火星人prefix hash && splay

    1014: [JSOI2008]火星人prefix Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 3154  Solved: 948[Submit][ ...

  9. tyvj 1153 间谍网络 tarjan有向图强连通

    P1153 - 间谍网络 From ForeverBell    Normal (OI)总时限:13s    内存限制:128MB    代码长度限制:64KB 描述 Description 由于外国 ...

  10. 7 Tools for Data Visualization in R, Python, and Julia

    7 Tools for Data Visualization in R, Python, and Julia Last week, some examples of creating visualiz ...