当前位置: 首页>>代码示例>>C++>>正文


C++ Nodo::fullUpdate方法代码示例

本文整理汇总了C++中Nodo::fullUpdate方法的典型用法代码示例。如果您正苦于以下问题:C++ Nodo::fullUpdate方法的具体用法?C++ Nodo::fullUpdate怎么用?C++ Nodo::fullUpdate使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Nodo的用法示例。


在下文中一共展示了Nodo::fullUpdate方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: if

 forn(q,Q)
 {
     char op[8];
     scanf("%s", op);
     if (op[0] == 'I')
     {
         int x,y;
         scanf("%d%d", &x,&y);
         x--;
         // Esto es parecido (pero bien diferente :P) al codigo de insertarAUnladoPointer, pero empezando en p en lugar de en root
         // De entrada me comi que era hacer lo mismo exacto que insertarAUnLado, y pegue WA.
         // Y luego me comi otro WA por olvidarme la linea p = p->h(0); :P
         // Moraleja: esto seria bastante mas error prone que el split obvio.
         Nodo<Datos> *p = iesimo(x, t), *nodo = new Nodo<Datos>(y);
         int lado = 0;
         if (p->h(0))
         {
             p = p->h(0);
             lado = 1;
             while (p->h(1)) p = p->h(1);
         }
         p->hang(lado, nodo);
         nodo->flotar();
         t.reroot();
     }
     else if (op[0] == 'D')
     {
         int x;
         scanf("%d", &x);
         x--;
         t.erasePointer(iesimo(x, t));
     }
     else if (op[0] == 'R')
     {
         int x,y;
         scanf("%d%d", &x, &y);
         x--;
         Nodo<Datos> *p = iesimo(x, t);
         p->dat.x = y;
         p->fullUpdate();
     }
     else if (op[0] == 'Q')
     {
         int x,y;
         scanf("%d%d", &x,&y);
         x--;
         assert(x < y);
         Treap<Datos> t2,t3;
          t.splitPointer(iesimo(x, t), t2);
         t2.splitPointer(iesimo(y-x, t2), t3);
         printf("%d\n", t2.root->dat.bestSum);
         t.merge(t2);
         t.merge(t3);
     }
     else
         assert(false);
 }
开发者ID:elsantodel90,项目名称:treap,代码行数:57,代码来源:example3.cpp


注:本文中的Nodo::fullUpdate方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。