zoukankan      html  css  js  c++  java
  • BZOJ3196 Tyvj1730 二逼平衡树

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3196

    Description

    您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:
    1.查询k在区间内的排名
    2.查询区间内排名为k的值
    3.修改某一位值上的数值
    4.查询k在区间内的前驱(前驱定义为小于x,且最大的数)
    5.查询k在区间内的后继(后继定义为大于x,且最小的数)

    Input

    第一行两个数 n,m 表示长度为n的有序序列和m个操作
    第二行有n个数,表示有序序列
    下面有m行,opt表示操作标号
    若opt=1 则为操作1,之后有三个数l,r,k 表示查询k在区间[l,r]的排名
    若opt=2 则为操作2,之后有三个数l,r,k 表示查询区间[l,r]内排名为k的数
    若opt=3 则为操作3,之后有两个数pos,k 表示将pos位置的数修改为k
    若opt=4 则为操作4,之后有三个数l,r,k 表示查询区间[l,r]内k的前驱
    若opt=5 则为操作5,之后有三个数l,r,k 表示查询区间[l,r]内k的后继

    Output

    对于操作1,2,4,5各输出一行,表示查询结果

    线段树套Treap,十分二逼地用数组版线段树套指针版Treap

    迈向树结构的指针化的一次失败尝试

    因为没写过指针版的Treap膜了教主的代码

    另外下面的这份代码在Tyvj上会TLE,卡了最后两个点

    把Tyvj这道题的提交记录往上翻下来满满的都是80分TLE……

      1 #include <iostream>
      2 #include <cstdio>
      3 #include <algorithm>
      4 #include <cstring>
      5 #define rep(i,l,r) for(int i=l; i<=r; i++)
      6 #define clr(x,y) memset(x,y,sizeof(x))
      7 #define travel(x) for(Edge *p=last[x]; p; p=p->pre)
      8 using namespace std;
      9 const int INF = 0x7fffffff;
     10 const int maxn = 50010;
     11 int n,m,a[maxn],mn=INF,mx=-INF,l,r,k,pos,opt;
     12 struct Node{
     13     Node* ch[2];
     14     int s,w,v,rnd;
     15     inline void maintain(){
     16         s = ch[0]->s + ch[1]->s + w;
     17     }
     18 };
     19 Node TREAP[1200000], *pt = TREAP, *null = pt++;
     20 inline Node* newnode(int x){
     21     pt->s = pt->w = 1; pt->v = x; pt->rnd = rand();
     22     pt->ch[0] = pt->ch[1] = null;
     23     return pt++;
     24 }
     25 inline void rotate(Node *&o,int d){
     26     Node *k = o->ch[d^1]; o->ch[d^1] = k->ch[d]; k->ch[d] = o;
     27     o->maintain(); k->maintain(); o = k;
     28 }
     29 struct Treap{
     30     Node *root;
     31     Treap(){
     32         root = null;
     33     }
     34     void ins(int x,Node *&p){
     35         if (p == null){
     36             p = newnode(x); return;
     37         }
     38         p->s++; if (x == p->v) p->w++;
     39         else{
     40             int d = x > p->v;
     41             ins(x,p->ch[d]);
     42             if (p->ch[d]->rnd < p->rnd) rotate(p,d^1);
     43         }
     44     }
     45     void del(int x,Node *&p){
     46         if (p == null) return;
     47         if (p->v == x){
     48             if (p->w > 1){
     49                 p->s--; p->w--; return;
     50             }
     51             if (p->ch[0] != null && p->ch[1] != null){
     52                 int d = p->ch[0]->rnd > p->ch[1]->rnd;
     53                 rotate(p,d); del(x,p->ch[d]);
     54             }
     55             else p = p->ch[0] == null ? p->ch[1] : p->ch[0];
     56         }
     57         else{
     58             int d = x > p->v; p->s--;
     59             del(x,p->ch[d]);
     60         }
     61         if (p != null) p->maintain();
     62     }
     63     int getrank(int x,Node *p){
     64         int ans = 0;
     65         for(Node *p = root; p != null;){
     66             int d = p->v == x ? -1 : x > p->v;
     67             if (d == -1){
     68                 ans += p->ch[0]->s; break;
     69             }
     70             else if (!d) p = p->ch[0];
     71             else ans += p->ch[0]->s + p->w, p = p->ch[1];
     72         }
     73         return ans;
     74     }
     75     int getpre(int x){
     76         int ans = -INF;
     77         for(Node *p = root; p != null;){
     78             if (x > p->v) ans = max(ans,p->v), p = p->ch[1];
     79             else p = p->ch[0];
     80         }
     81         return ans;
     82     }
     83     int getnxt(int x){
     84         int ans = INF;
     85         for(Node *p = root; p != null;){
     86             if (x < p->v) ans = min(ans,p->v), p = p->ch[0];
     87             else p = p->ch[1];
     88         }
     89         return ans;
     90     }
     91 }treap[maxn<<2];
     92 struct Node2{
     93     int l,r;
     94 }t[maxn<<2];
     95 void build(int u,int v,int w){
     96     t[w].l = u; t[w].r = v;
     97     rep(i,u,v) treap[w].ins(a[i],treap[w].root);
     98     if (u == v) return;
     99     int mid = (u + v) >> 1;
    100     build(u,mid,w<<1); build(mid+1,v,w<<1|1);
    101 }
    102 int getrank(int u,int v,int w){
    103     if (t[w].l == u && t[w].r == v) return treap[w].getrank(k,treap[w].root);
    104     int mid = (t[w].l + t[w].r) >> 1;
    105     if (v <= mid) return getrank(u,v,w<<1);
    106     else if (u > mid) return getrank(u,v,w<<1|1);
    107     else return getrank(u,mid,w<<1) + getrank(mid+1,v,w<<1|1);
    108 }
    109 int getnum(int u,int v){
    110     int ans, l = mn, r = mx; int k2 = k;
    111     while (l <= r){
    112         int mid = (l + r) >> 1; k = mid;
    113         if (getrank(u,v,1) < k2) ans = mid, l = mid + 1;
    114         else r = mid - 1;
    115     }
    116     return ans;
    117 }
    118 void modify(int u,int w){
    119     treap[w].del(a[u],treap[w].root);
    120     treap[w].ins(k,treap[w].root);
    121     if (t[w].l == t[w].r) return;
    122     int mid = (t[w].l + t[w].r) >> 1;
    123     if (u <= mid) modify(u,w<<1);
    124     else modify(u,w<<1|1);
    125 }
    126 int getpre(int u,int v,int w){
    127     if (t[w].l == u && t[w].r == v) return treap[w].getpre(k);
    128     int mid = (t[w].l + t[w].r) >> 1;
    129     if (v <= mid) return getpre(u,v,w<<1);
    130     else if (u > mid) return getpre(u,v,w<<1|1);
    131     else return max(getpre(u,mid,w<<1), getpre(mid+1,v,w<<1|1));
    132 }
    133 int getnxt(int u,int v,int w){
    134     if (t[w].l == u && t[w].r == v) return treap[w].getnxt(k);
    135     int mid = (t[w].l + t[w].r) >> 1;
    136     if (v <= mid) return getnxt(u,v,w<<1);
    137     else if (u > mid) return getnxt(u,v,w<<1|1);
    138     else return min(getnxt(u,mid,w<<1), getnxt(mid+1,v,w<<1|1));
    139 }
    140 inline int read(){
    141     int ans = 0, f = 1;
    142     char c = getchar();
    143     while (!isdigit(c)){
    144         if (c == '-') f = -1;
    145         c = getchar();
    146     }
    147     while (isdigit(c)){
    148         ans = ans * 10 + c - '0';
    149         c = getchar();
    150     }
    151     return ans * f;
    152 }
    153 int main(){
    154     n = read(); m = read();
    155     rep(i,1,n) a[i] = read(), mn = min(mn,a[i]), mx = max(mx,a[i]);
    156     build(1,n,1);
    157     rep(i,1,m){
    158         opt = read();
    159         switch(opt){
    160             case 1:
    161                 l = read(); r = read(); k = read();
    162                 printf("%d
    ",getrank(l,r,1) + 1);
    163             break;
    164             case 2:
    165                 l = read(); r = read(); k = read();
    166                 printf("%d
    ",getnum(l,r));
    167             break;
    168             case 3:
    169                 pos = read(); k = read();
    170                 mn = min(mn,k); mx = max(mx,k);
    171                 modify(pos,1); a[pos] = k;
    172             break;
    173             case 4:
    174                 l = read(); r = read(); k = read();
    175                 printf("%d
    ",getpre(l,r,1));
    176             break;
    177             case 5:
    178                 l = read(); r = read(); k = read();
    179                 printf("%d
    ",getnxt(l,r,1));
    180             break;
    181         }
    182     }
    183     return 0;
    184 }
    View Code

    在BZOJ上第一次交的时候WA了,就去Tyvj上搞来一组规模为1000的数据用于调试。下面是这组数据:

    Input:

      1 1000 500 
      2 1687147 9918457 2675072 6198365 6458901 3336818 3252441 7895169 7512927 5207317 8463545 2874717 4419017 9196785 3031681 400019 3401729 7093743 8250872 6484669 5684929 5634489 1023417 2154881 1640119 3685505 6491081 3605473 5397443 1006817 6283109 3538627 1718385 44240 5291054 2418337 6915285 1248177 7427205 8336251 4227025 2495281 4730577 4139521 1997963 4601237 2552285 7271417 5970037 5865217 3377977 9728449 7220099 6357973 6375857 8515593 8341910 9001533 8097069 4609855 735025 3680876 4218241 747948 1595401 4085761 1712421 1774209 9109033 5191383 9525085 1882381 9568689 4989184 954761 1289937 9773125 8624129 3591209 3115457 5822679 1112597 7519809 494617 5598757 8825601 6279013 7717281 4595513 5533503 7305647 55185 3514371 2302593 4303905 2050361 396579 5094973 5127288 4610043 1331139 5005063 6608109 6418983 2076701 2868477 709697 8446181 9936081 7527425 2545056 1179509 7735335 6464453 3624001 8802681 5776817 552865 4689281 7079937 4451905 1975294 6941697 1991209 7851617 2911071 3639287 976747 2351617 4554241 2888273 6831125 5975303 9282845 1608681 5832857 3871233 4513923 1374620 3657473 2630481 9184363 9520329 2103425 8199105 5753681 6493933 9642809 1692002 9571137 9207501 4402769 6095183 3049985 2944718 3982623 683201 548605 8250193 1627571 441057 347607 7372229 3277585 1920817 8369099 3375015 6556961 6248485 3849177 460063 8501683 1353765 9145087 8261193 5542857 1443249 1218405 5668737 2883670 8838437 8255561 1674115 5377487 1443629 6297225 7909033 3045311 1097789 7361081 3776289 5956225 4964353 1268377 5166813 8015241 5746369 1826596 2805952 7458955 2892501 7194625 2486305 9568323 1385557 4437465 1933049 1822173 2637897 2573473 2437083 5197251 3570757 3813536 2442358 9056385 2107069 5218120 6447925 6109673 8253651 1640271 7130961 7210961 1731741 459777 8528269 2272207 6314641 7156993 4761601 3229233 1218762 2904249 3104017 7991857 8124043 855569 908137 5529849 9597232 7515378 7452966 1359677 6824513 2930101 3757345 8329089 7013189 8488705 516339 7337470 713245 8877905 3076481 7241330 6152817 6789769 5341285 5456173 9640113 83049 5208149 4495233 5961657 2761797 3929651 5521089 1849281 3265241 1964993 330195 4558041 1053685 3698369 1093417 7873025 1076311 2795569 8247265 8241726 5856387 1841645 848449 815393 7627393 1208705 9425647 9754445 4485641 846297 6741817 8622948 5852929 8771827 8438713 8228212 3811017 9690027 9030019 6851841 3857813 7496869 3004475 6681625 9766545 9557709 9465759 5407369 6299265 4329113 2343236 4899937 4257517 841237 2016187 8010937 5532575 6633821 3180129 3178785 1126531 3547435 6206020 7064601 2606337 2625153 3024299 6349673 5473537 905453 5051259 3067934 2857917 3243421 271853 2215995 9134692 702653 5606545 411713 4369613 6890873 5899169 5919041 7237273 5969275 7351161 7866589 3945873 7813249 9980519 5343485 7697707 545977 9943609 4783545 3095825 4955761 5605263 1567857 5981831 2097403 1159397 6064862 3296669 13490 2984093 7567489 4388265 8326169 628413 2333779 4359745 8794605 9166737 802549 2686394 3657249 6351745 37121 1892193 7906175 1973637 4989643 5576409 5234529 7433157 1856925 7959253 4075033 8594719 4529465 11413 6996401 4843297 176163 7621748 6178001 6223059 4042085 5418785 1752857 8055537 1545850 9556225 7511892 2715509 7430449 393173 5583917 8921553 2501041 8445581 6807841 4683067 3364356 2387729 467641 6781657 5682545 8114779 2962023 6601541 8271249 9900033 9065971 7756958 4459923 523537 1329041 2108033 7325387 3478115 6214155 1244873 2964689 3046355 8182561 3153557 9645951 3599185 425347 3572291 6246401 5778945 1612509 9687087 4343881 1350145 6496349 4935125 5199114 6678857 9083506 3023873 6123001 2563637 3329857 7243681 9533100 5423089 6045323 2619137 1753745 9938282 4567141 5834197 7854913 7189553 5862819 6248449 91633 6188333 6766637 2869221 5164528 7140137 2156865 2191297 1480545 8480951 4710685 5164039 8933528 6198469 395953 8346763 716313 8203649 2352001 1812161 7824961 2159673 6772665 3043145 8740860 9406105 7397136 7079699 1143914 7664257 5083521 968020 8264137 9431421 1195071 9428882 3608595 5405697 3080529 6988061 6037941 5126321 4412988 4899853 5367537 7654621 3345121 5669993 5450223 1512897 46733 9936553 4620673 6642753 8481845 6314297 3636075 336079 1332097 7666721 5260803 8521661 9585293 5646289 6270001 8432049 6804617 6289473 6693425 9616033 1799079 3150645 2805199 9896209 9901957 6368497 290397 7929649 3607185 8533977 2613204 1083341 8661825 7438001 1400671 707391 8311553 8821341 7165208 5646465 1525001 8352925 5496689 5101036 3607575 610240 2749281 5471089 6915089 8878066 8563817 5251061 5902055 4550785 112801 2036641 7364049 8192517 6993874 3559561 8819643 246505 5185679 1805855 5347329 8595395 3235719 2190266 2345289 5856789 9950779 6665729 968773 1816849 7644135 5882293 9321793 6995462 7505457 2801753 8264761 9115249 8633667 9458263 4071167 8654029 5627277 5879233 4277121 1914504 5304193 3710317 4909645 9390583 5601217 7569129 6334001 1125393 6655585 1286761 4106577 71617 8292497 8924937 9827980 3720061 3394741 5610461 5407934 1315297 1312304 5853957 1643009 3355545 3854453 7919657 7891661 3931945 7188331 1704097 9567767 4713871 2921443 1036033 6217361 8796045 6310618 6782801 376965 1980225 5825601 9226673 4488143 4847099 8994677 3108857 7235953 1965055 9623301 7774188 5948681 4941845 4238411 1226324 9363081 7578993 6451881 261769 9270081 8675823 2936745 4393953 3725145 2506865 5921449 4365871 8209657 9756015 9367769 7193825 5020799 3541401 7694482 5628917 8722714 2199575 3599889 6335613 2444069 4981233 9613845 9844635 9189709 4907017 9865441 9122998 979161 1795726 5494795 3227665 7402595 7520017 8749457 9244249 324089 4720001 9594989 9289033 1570467 1728673 2446233 4289725 5991205 1420703 5959521 1133761 1740653 1454601 7873089 4399409 5340257 5015715 5630935 6532953 8415436 7014689 4883523 9471889 4283233 2399757 4860168 930607 1694945 3525049 9577791 3591761 9786209 7890225 7551057 5275877 3303485 7513883 8396573 8557937 3088767 6957421 6741884 1472509 1279393 1802285 5903929 9959861 9367489 946049 6987577 4427361 276658 2709827 7881893 4243745 3428615 8784441 541089 9646433 7923609 3738689 5323721 3559899 9608414 1516969 4561687 4242129 7322817 4344641 9410807 227153 8694337 815201 2971905 9430721 4476897 6705649 9784201 5295267 6318305 7915003 6243408 5345467 5979781 1814961 6815498 7078433 9827361 471569 5899223 6194283 5339809 451969 6984239 7936041 7120933 8033793 3878317 3136641 9256697 2408229 9334283 1172888 4122885 334785 6917377 4998800 6369431 9909389 9153745 9165239 7624342 7294721 3246113 6474980 8065417 7536833 6762281 8854529 1206547 2822817 4602835 9467889 8368481 9684209 613441 1280497 710861 3237783 9411095 7795982 257848 1228324 5682051 6763225 1267001 8531685 2595465 9565441 8981271 1032161 2964669 4780186 5629773 7373929 1109347 9660573 5755465 96129 3779337 1620048 9482721 688498 7918707 5374860 4048801 7796897 2657605 6523477 3279307 1235244 9732061 2104985 2281987 2812175 9818989 7592449 1415305 2387609 1239202 9220177 6444913 5216666 503569 3551889 4985881 2408037 6232213 6129969 4487905 2300784 2931491 6286883 3942945 257825 4102511 4383057 3684174 5882305 1611509 7406137 8746753 344080 1401405 2490243 8116501 8374479 6559447 7871701 6756865 3495817 9255633 843799 3933743 910329 1099209 379897 7052417 419469 3598673 2012285 1019677 827003 1956673 4768977 307529 8154709 8421993 4400897 4881947 3140611 6189743 8511329 9413769 127217 318689 1501127 6940761 3990824 3203213 4071449 7847047 1434449 5668205 6193461 5937833 2615001 1742553 6938379 1697291 6097289 7476449 5533829 4340333 4236890 7807527 509705 4846953 2897953 58523 4207437 6128737 6261361 6721237 5882445 2132097 5858724 398959 875403 2628433 3870186 962217 5401375 1122799 7162119 140865 1006209 4584769 696961 1123665 773857 5695329 5213661 1243757 4858885 7151169 7752144 9276061 4869129 8492061 1567179 2800729 9805505 8081149 1255121 6498425 5681057 3977345 4599133 12295 3939139 6034525 4439777 
      3 5 97 287 7451845 
      4 2 264 689 293 
      5 1 108 772 8114779 
      6 2 15 697 370 
      7 4 150 513 913774 
      8 2 697 781 20 
      9 3 113 5307515 
     10 3 749 2979458 
     11 2 11 529 249 
     12 4 633 801 4288634 
     13 2 92 128 1 
     14 3 961 4252907 
     15 2 447 961 393 
     16 1 28 444 2904249 
     17 4 477 981 122562 
     18 5 314 857 9553024 
     19 2 545 853 78 
     20 2 142 739 457 
     21 3 993 9190707 
     22 3 89 7664635 
     23 2 405 602 157 
     24 2 161 409 90 
     25 4 147 517 5964842 
     26 2 63 537 126 
     27 2 66 548 168 
     28 4 285 894 3935514 
     29 2 73 190 79 
     30 5 166 628 6772755 
     31 3 234 3754561 
     32 4 233 840 7087425 
     33 5 254 645 1142777 
     34 1 93 849 1512897 
     35 1 196 734 8933528 
     36 4 318 345 6893431 
     37 1 313 852 6766637 
     38 5 88 721 5851536 
     39 5 653 693 8204128 
     40 3 681 5157061 
     41 2 137 686 537 
     42 2 115 524 39 
     43 4 17 519 756973 
     44 2 661 920 145 
     45 2 317 726 13 
     46 5 165 171 8367394 
     47 2 251 589 83 
     48 1 130 671 7515378 
     49 3 901 9130549 
     50 5 271 613 4778010 
     51 3 600 7773809 
     52 2 90 369 3 
     53 1 75 409 5832857 
     54 4 128 470 5749762 
     55 2 657 747 17 
     56 2 563 913 16 
     57 3 334 7251305 
     58 3 327 3781745 
     59 5 365 841 6236548 
     60 3 41 2138172 
     61 2 196 591 81 
     62 4 489 809 4990822 
     63 5 433 797 7185055 
     64 2 266 899 187 
     65 4 53 961 910294 
     66 1 147 670 7929649 
     67 4 345 523 1162014 
     68 2 306 730 194 
     69 5 115 769 3596408 
     70 4 489 913 1712364 
     71 1 169 583 3607185 
     72 5 226 805 5230062 
     73 4 251 898 1968754 
     74 4 521 745 3548534 
     75 5 177 696 1751000 
     76 5 357 965 3712428 
     77 5 525 829 333146 
     78 3 361 3256159 
     79 2 27 551 269 
     80 1 544 589 8821341 
     81 4 137 692 4567041 
     82 3 121 4554906 
     83 1 13 437 6807841 
     84 1 320 799 6782801 
     85 4 545 601 2752066 
     86 3 487 7250591 
     87 5 25 689 8262304 
     88 2 193 857 30 
     89 3 617 1407497 
     90 3 833 6348417 
     91 1 81 553 1208705 
     92 3 33 1325065 
     93 5 97 569 1626907 
     94 2 229 839 107 
     95 4 29 646 3364159 
     96 1 127 755 37121 
     97 3 397 3541281 
     98 1 272 317 4257517 
     99 5 215 834 3604560 
    100 3 924 9883041 
    101 5 275 816 5893776 
    102 1 259 637 3720061 
    103 2 689 985 222 
    104 2 313 861 64 
    105 1 641 795 4720001 
    106 2 720 825 23 
    107 5 4 390 9135802 
    108 1 273 690 6633821 
    109 1 24 614 1975294 
    110 4 132 571 2501042 
    111 2 134 564 335 
    112 1 312 912 4243745 
    113 3 373 8123403 
    114 2 659 881 118 
    115 1 55 568 3639287 
    116 5 143 977 2107530 
    117 5 113 740 367516 
    118 5 241 870 3566242 
    119 2 46 987 373 
    120 4 193 853 5412684 
    121 1 33 225 6418983 
    122 3 765 1826353 
    123 2 485 809 106 
    124 2 379 945 405 
    125 3 361 8742817 
    126 1 281 689 6681625 
    127 4 123 713 9653112 
    128 5 277 775 7922221 
    129 1 188 676 1195071 
    130 3 247 5825603 
    131 2 65 698 301 
    132 3 153 8781955 
    133 2 156 711 193 
    134 4 437 801 6808082 
    135 2 473 770 91 
    136 4 146 567 6778216 
    137 2 73 493 2 
    138 2 476 761 25 
    139 5 56 621 1805524 
    140 4 307 739 4467503 
    141 3 801 6046933 
    142 4 705 905 6771324 
    143 3 105 7040705 
    144 1 685 734 1570467 
    145 4 681 769 5342410 
    146 3 660 7472801 
    147 2 264 762 334 
    148 5 109 447 5895736 
    149 4 73 905 8254306 
    150 4 400 435 2115306 
    151 5 233 793 7921520 
    152 3 473 9896025 
    153 1 658 895 261769 
    154 2 65 903 416 
    155 1 29 661 8501683 
    156 3 669 9319861 
    157 3 221 218857 
    158 4 705 921 6919557 
    159 2 281 849 214 
    160 2 401 937 13 
    161 2 187 626 337 
    162 4 301 408 5986044 
    163 3 480 7217212 
    164 1 145 307 6447925 
    165 4 609 685 75866 
    166 5 4 668 9614034 
    167 3 753 4149889 
    168 4 232 872 9167224 
    169 4 244 730 398246 
    170 1 212 835 1329041 
    171 5 405 673 9451361 
    172 1 206 722 6335613 
    173 1 639 783 4427361 
    174 5 457 793 6181576 
    175 1 295 757 3541281 
    176 3 611 9897517 
    177 4 89 681 9324662 
    178 5 14 569 1284976 
    179 2 319 714 269 
    180 2 4 501 197 
    181 4 645 905 6202659 
    182 1 319 721 6781657 
    183 3 289 7740067 
    184 5 97 393 75913 
    185 4 306 939 5925218 
    186 4 527 761 5825762 
    187 4 239 850 1043498 
    188 4 193 707 7924247 
    189 3 425 7758339 
    190 5 473 703 3541384 
    191 4 292 669 8447458 
    192 5 643 697 7189430 
    193 3 1 6364929 
    194 3 453 2158337 
    195 5 3 658 8202018 
    196 3 623 8290081 
    197 5 367 489 9079161 
    198 3 367 5273956 
    199 3 751 8918006 
    200 5 421 841 8205980 
    201 1 140 614 7243681 
    202 3 649 9851073 
    203 5 235 830 9893392 
    204 3 225 800105 
    205 3 695 2484031 
    206 4 181 403 5239750 
    207 3 225 7767337 
    208 4 165 377 5748789 
    209 1 257 391 1159397 
    210 1 401 497 9900033 
    211 3 22 4808585 
    212 2 793 977 21 
    213 5 143 833 1723536 
    214 1 237 857 8346763 
    215 4 280 896 4718984 
    216 4 501 625 5891678 
    217 3 225 2702111 
    218 1 91 714 848449 
    219 3 769 7055773 
    220 5 125 653 7620207 
    221 5 257 433 3003978 
    222 1 145 229 4437465 
    223 3 561 2052993 
    224 2 45 745 245 
    225 1 179 816 3136641 
    226 1 717 913 8854529 
    227 1 47 477 1774209 
    228 4 305 533 274434 
    229 5 361 557 8116262 
    230 4 667 937 7586162 
    231 5 286 533 9937280 
    232 4 185 577 52050 
    233 4 307 762 8603000 
    234 4 81 832 852023 
    235 2 86 434 168 
    236 1 71 705 112801 
    237 2 312 965 501 
    238 2 266 874 315 
    239 3 685 5389169 
    240 3 585 3652621 
    241 4 232 778 5992486 
    242 5 11 407 4434419 
    243 3 743 116929 
    244 5 86 622 5892622 
    245 4 801 817 6372720 
    246 5 61 721 8050711 
    247 1 193 741 610240 
    248 3 245 5295735 
    249 3 529 6509008 
    250 3 288 6800545 
    251 2 89 269 45 
    252 1 173 793 848449 
    253 2 57 443 50 
    254 4 665 881 2604746 
    255 4 405 673 8272191 
    256 3 881 2908849 
    257 5 66 445 5158028 
    258 3 781 6734493 
    259 4 225 869 1971250 
    260 3 703 115813 
    261 1 121 205 3982623 
    262 3 581 7933811 
    263 1 265 301 6800545 
    264 1 42 785 4683067 
    265 2 89 281 34 
    266 4 313 745 4902610 
    267 4 175 667 7670790 
    268 1 26 523 7251305 
    269 3 237 1704569 
    270 1 108 496 7458955 
    271 3 356 5789733 
    272 2 262 852 514 
    273 4 201 813 1168104 
    274 5 809 881 2272502 
    275 2 905 968 61 
    276 1 625 983 2300784 
    277 2 291 815 412 
    278 2 113 517 77 
    279 5 385 749 2341812 
    280 1 49 501 8838437 
    281 3 153 9626153 
    282 4 93 121 4612409 
    283 4 273 794 3791714 
    284 4 65 793 3548561 
    285 5 605 693 6211712 
    286 5 82 567 4951356 
    287 2 174 635 217 
    288 5 125 737 7430568 
    289 5 217 823 8388280 
    290 3 873 8942433 
    291 2 193 749 404 
    292 1 604 801 9363081 
    293 1 927 965 58523 
    294 4 199 551 7467338 
    295 2 157 939 577 
    296 4 205 227 1822679 
    297 1 126 486 7351161 
    298 2 65 85 14 
    299 4 413 945 5029564 
    300 5 21 534 4603634 
    301 4 45 483 3763570 
    302 2 161 585 400 
    303 1 497 649 3235719 
    304 2 189 252 34 
    305 2 121 337 8 
    306 2 625 807 41 
    307 3 642 2270569 
    308 4 417 561 1337858 
    309 4 143 617 525142 
    310 3 649 8465125 
    311 5 489 497 3041632 
    312 3 877 3799405 
    313 3 305 9893473 
    314 5 214 755 619648 
    315 1 289 710 9766545 
    316 1 897 934 8511329 
    317 1 121 283 9640113 
    318 3 447 6244061 
    319 1 68 285 5456173 
    320 5 795 953 7367102 
    321 2 555 781 190 
    322 3 517 1410927 
    323 2 3 435 105 
    324 1 187 593 8771827 
    325 1 296 779 8742817 
    326 3 465 4215147 
    327 4 52 414 1783134 
    328 1 145 701 4558041 
    329 2 209 913 303 
    330 4 117 696 5092970 
    331 4 218 557 6210827 
    332 1 55 652 2606337 
    333 3 327 8661453 
    334 3 325 9458669 
    335 2 237 795 181 
    336 1 232 894 9244249 
    337 5 309 725 2603839 
    338 1 212 859 6815498 
    339 4 25 798 3084850 
    340 1 101 518 1812161 
    341 3 94 4923811 
    342 3 497 8493269 
    343 1 94 465 5576409 
    344 4 142 793 7573332 
    345 5 141 593 8248892 
    346 5 433 960 5625012 
    347 5 234 738 1321132 
    348 4 181 695 4078164 
    349 3 385 7929735 
    350 4 331 417 5973526 
    351 1 113 927 6756865 
    352 2 245 851 137 
    353 3 799 563233 
    354 1 351 783 3559899 
    355 2 51 193 106 
    356 4 135 762 8595496 
    357 5 169 809 1139751 
    358 5 385 839 7753513 
    359 3 667 6545153 
    360 4 855 953 5943824 
    361 4 317 833 2753326 
    362 4 249 521 8922702 
    363 1 253 377 8228212 
    364 4 193 587 2568322 
    365 4 141 723 2750037 
    366 5 523 589 9578780 
    367 1 273 769 1752857 
    368 1 225 481 1053685 
    369 2 226 756 421 
    370 5 129 502 3367086 
    371 3 857 5644593 
    372 5 210 564 3600990 
    373 4 169 981 9691200 
    374 2 25 248 29 
    375 5 6 65 4132350 
    376 3 373 2851785 
    377 4 102 593 5782678 
    378 5 33 93 4725408 
    379 4 176 718 331936 
    380 3 341 9821717 
    381 1 123 457 8438713 
    382 5 368 957 820074 
    383 1 179 775 5825603 
    384 5 329 941 3094352 
    385 3 573 8534193 
    386 3 33 2984321 
    387 5 118 540 4248596 
    388 2 228 778 368 
    389 2 33 627 521 
    390 3 441 7651039 
    391 1 14 371 3680876 
    392 4 163 690 1228591 
    393 5 95 748 9314500 
    394 3 391 6605317 
    395 1 50 637 8838437 
    396 5 65 974 9873388 
    397 3 789 6435845 
    398 5 465 577 5468916 
    399 2 771 929 48 
    400 5 161 899 2927358 
    401 2 301 863 546 
    402 3 619 1144309 
    403 2 116 532 246 
    404 1 279 662 6741817 
    405 4 817 949 2291826 
    406 2 479 841 224 
    407 2 332 926 308 
    408 4 545 969 7369914 
    409 3 281 3944193 
    410 5 643 997 4853408 
    411 3 865 6391807 
    412 2 257 737 62 
    413 1 239 561 2158337 
    414 3 593 2966368 
    415 2 598 791 2 
    416 1 12 482 5668737 
    417 2 130 773 115 
    418 2 497 924 9 
    419 1 229 671 1126531 
    420 2 277 892 399 
    421 5 303 823 7926342 
    422 4 1 745 7461666 
    423 3 561 1743273 
    424 2 171 755 43 
    425 5 187 703 9460612 
    426 3 881 8158165 
    427 5 70 467 3919716 
    428 4 61 901 5211380 
    429 3 93 1102279 
    430 1 108 480 7929735 
    431 2 633 825 131 
    432 5 183 762 2185466 
    433 4 189 378 8666288 
    434 1 195 649 1093417 
    435 5 171 921 6307598 
    436 3 979 3397089 
    437 1 229 891 4558041 
    438 3 910 3267953 
    439 3 137 3581625 
    440 5 55 550 1840497 
    441 2 40 588 459 
    442 4 47 519 7671796 
    443 4 124 555 7960694 
    444 2 247 601 164 
    445 5 56 462 1341200 
    446 4 103 213 5759266 
    447 3 801 2925058 
    448 2 181 553 155 
    449 1 93 137 7527425 
    450 5 212 791 5786884 
    451 2 245 917 588 
    452 4 233 661 5970972 
    453 5 324 804 5574954 
    454 4 33 567 3054144 
    455 3 392 8033759 
    456 4 245 893 9412695 
    457 3 235 3519197 
    458 4 193 233 8018330 
    459 1 553 697 9613845 
    460 5 277 543 5050 
    461 3 777 7090625 
    462 3 778 2472185 
    463 2 61 651 202 
    464 4 563 569 1533094 
    465 1 585 801 968773 
    466 3 849 8300175 
    467 5 249 879 836646 
    468 1 96 458 5473537 
    469 5 106 609 621934 
    470 1 275 758 4550785 
    471 5 457 669 43528 
    472 2 169 520 21 
    473 1 127 805 7873025 
    474 3 875 6038481 
    475 3 565 774625 
    476 4 745 948 4570368 
    477 4 174 734 940400 
    478 2 119 586 329 
    479 1 494 993 5853957 
    480 4 7 500 7629241 
    481 4 551 897 4049638 
    482 4 329 385 5608924 
    483 1 283 959 8819643 
    484 4 697 791 1137466 
    485 1 156 754 8819643 
    486 1 133 844 5407369 
    487 2 757 883 12 
    488 3 188 2775174 
    489 4 561 633 5883110 
    490 3 809 62139 
    491 5 20 430 6305500 
    492 1 73 915 2016187 
    493 4 199 865 3556600 
    494 1 189 833 2702111 
    495 1 82 233 548605 
    496 1 43 665 7959253 
    497 4 156 563 5855218 
    498 2 8 510 50 
    499 1 21 273 6447925 
    500 3 793 2260369 
    501 1 137 735 5630935 
    502 5 248 830 5598612
    View Code

    Output:

      1 7452966 
      2 6890873 
      3 536 
      4 5532575 
      5 908137 
      6 1802285 
      7 4683067 
      8 4283233 
      9 55185 
     10 7796897 
     11 130 
     12 112801 
     13 9556225 
     14 2964669 
     15 7654621 
     16 8114779 
     17 3180129 
     18 5961657 
     19 2573473 
     20 3243421 
     21 3931945 
     22 6279013 
     23 6781657 
     24 7079699 
     25 1143914 
     26 109 
     27 485 
     28 6890873 
     29 353 
     30 5852929 
     31 8209657 
     32 9687087 
     33 1053685 
     34 747948 
     35 5882305 
     36 324089 
     37 8369099 
     38 2625153 
     39 413 
     40 4783545 
     41 83049 
     42 205 
     43 5746369 
     44 2444069 
     45 503569 
     46 6243408 
     47 2108033 
     48 4981233 
     49 7188331 
     50 3178785 
     51 908137 
     52 422 
     53 1159397 
     54 5083521 
     55 3599185 
     56 1704097 
     57 149 
     58 5234529 
     59 1965055 
     60 3541401 
     61 1752857 
     62 3720061 
     63 334785 
     64 5197251 
     65 43 
     66 4558041 
     67 303 
     68 321 
     69 2749281 
     70 8264137 
     71 516339 
     72 54 
     73 1627571 
     74 1856925 
     75 3355545 
     76 3 
     77 18 
     78 3607185 
     79 5899169 
     80 136 
     81 7406137 
     82 1312304 
     83 65 
     84 3088767 
     85 9145087 
     86 269 
     87 116 
     88 2501041 
     89 7654621 
     90 231 
     91 5755465 
     92 193 
     93 2108033 
     94 376965 
     95 3572291 
     96 4071167 
     97 5407934 
     98 135 
     99 3738689 
    100 7364049 
    101 265 
    102 9645951 
    103 7923609 
    104 50 
    105 5083521 
    106 3607575 
    107 6804617 
    108 3559561 
    109 6772665 
    110 13490 
    111 1226324 
    112 1805855 
    113 4459923 
    114 6763225 
    115 7 
    116 5340257 
    117 6851841 
    118 5899169 
    119 8253651 
    120 2108033 
    121 7923609 
    122 5 
    123 5260803 
    124 549 
    125 6917377 
    126 4369613 
    127 307529 
    128 7621748 
    129 5981831 
    130 105 
    131 71617 
    132 9616033 
    133 9166737 
    134 393173 
    135 73 
    136 9458263 
    137 324 
    138 60 
    139 6188333 
    140 139 
    141 9321793 
    142 1289937 
    143 7165208 
    144 3781745 
    145 6194283 
    146 263 
    147 83049 
    148 5921449 
    149 5825601 
    150 1036033 
    151 7919657 
    152 3541401 
    153 8445581 
    154 7193825 
    155 8203649 
    156 9083506 
    157 8209657 
    158 340 
    159 9896025 
    160 5234529 
    161 5746369 
    162 19 
    163 96 
    164 827003 
    165 1728673 
    166 507 
    167 4713871 
    168 5882293 
    169 43 
    170 7621748 
    171 3004475 
    172 45 
    173 3608595 
    174 183 
    175 168 
    176 74 
    177 271853 
    178 8123403 
    179 7578993 
    180 9938282 
    181 46733 
    182 8595395 
    183 848449 
    184 4761601 
    185 7 
    186 7773809 
    187 5628917 
    188 5991205 
    189 4437465 
    190 5899169 
    191 6369431 
    192 8055537 
    193 24 
    194 2272207 
    195 38 
    196 1218762 
    197 2595465 
    198 8264761 
    199 5166813 
    200 1964993 
    201 42 
    202 25 
    203 329 
    204 1608681 
    205 4899937 
    206 7666721 
    207 375 
    208 302 
    209 8796045 
    210 1159397 
    211 2281987 
    212 8511329 
    213 85 
    214 7959253 
    215 1973637 
    216 2345289 
    217 414 
    218 4610043 
    219 3781745 
    220 3547435 
    221 6217361 
    222 4955761 
    223 5208149 
    224 7433157 
    225 8396573 
    226 7364049 
    227 175 
    228 1 
    229 7458955 
    230 7472801 
    231 1822173 
    232 277 
    233 5598757 
    234 5020799 
    235 4609855 
    236 3754561 
    237 9134692 
    238 41 
    239 4761601 
    240 460063 
    241 2921443 
    242 1332097 
    243 523537 
    244 3043145 
    245 628413 
    246 409 
    247 33 
    248 162 
    249 129 
    250 7373929 
    251 8749457 
    252 2387729 
    253 369 
    254 417 
    255 1774209 
    256 235 
    257 4713871 
    258 5083521 
    259 6206020 
    260 149 
    261 3607575 
    262 601 
    263 2606337 
    264 425 
    265 3080529 
    266 69 
    267 213 
    268 7569129 
    269 8250193 
    270 5627277 
    271 1329041 
    272 4075033 
    273 5969275 
    274 537 
    275 2709827 
    276 134 
    277 7305647 
    278 8595395 
    279 1143914 
    280 7756958 
    281 5937833 
    282 2749281 
    283 8921553 
    284 104 
    285 2563637 
    286 2749281 
    287 9585293 
    288 73 
    289 25 
    290 8055537 
    291 3375015 
    292 3607185 
    293 9690027 
    294 1325065 
    295 4139521 
    296 5778945 
    297 4730577 
    298 330195 
    299 293 
    300 827003 
    301 331 
    302 3095825 
    303 4257517 
    304 6987577 
    305 8594719 
    306 141 
    307 1226324 
    308 9319861 
    309 530 
    310 9883041 
    311 5471089 
    312 2931491 
    313 2930101 
    314 9786209 
    315 5956225 
    316 243 
    317 2281987 
    318 6772665 
    319 5629773 
    320 7364049 
    321 4858885 
    322 1480545 
    323 61 
    324 115813 
    325 270 
    326 1856925 
    327 257825 
    328 42 
    329 6772665 
    330 7929649 
    331 7458955 
    332 979161 
    333 9465759 
    334 3929651 
    335 5208149 
    336 309 
    337 7235953 
    338 2190266 
    339 8661453 
    340 40 
    341 6314297 
    342 271 
    343 1841645 
    344 8247265 
    345 7664635 
    346 7959253 
    347 5273956 
    348 1350145 
    349 5753681 
    350 4495233 
    351 40 
    352 5789733 
    353 8796045 
    354 5969275 
    355 5576409 
    356 3049985 
    357 9411095 
    358 8015241 
    359 139 
    360 11413 
    361 3375015 
    362 1525001 
    363 14 
    364 841237 
    365 201 
    366 628413 
    367 195 
    368 46733 
    369 841237 
    370 529 
    371 4561687 
    372 930607 
    373 6996401 
    374 277 
    375 7627393 
    376 4048801 
    377 5606545 
    378 594 
    379 1133761 
    380 535 
    381 357 
    382 1109347 
    383 5882293 
    384 6314641 
    385 165 
    386 3547435 
    387 154 
    388 9 
    389 504 
    390 5852929 
    391 1112597 
    392 180 
    393 327 
    394 5605263
    View Code
  • 相关阅读:
    CROW-5 WEB APP引擎商业计划书(HTML5方向)-微信网页版微信公众平台登录-水仙谷
    PowerShell~语法与运算符
    PowerShell和Bash的介绍
    MongoDB学习笔记~地图坐标的支持与附近点的查找
    Linux~Sh脚本一点自己的总结
    我在百度开放云编程马拉松上的一个创意
    JavaScript字符串插入、删除、替换函数
    社会化登录之豆瓣小结
    C#在64位操作系统上连接Oracle的问题和解决方案
    asp.net(C#)链接Oracle连接字符串
  • 原文地址:https://www.cnblogs.com/jimzeng/p/bzoj3196.html
Copyright © 2011-2022 走看看