QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#98892 | #6192. Interval Problem | tarjen | AC ✓ | 66ms | 28228kb | C++17 | 1.1kb | 2023-04-20 20:11:47 | 2023-04-20 20:11:52 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
const int maxn=4e5+10;
#define int long long
int l[maxn],r[maxn],n;
int ans[maxn];
int f[maxn],g[maxn],h[maxn],sum[maxn];
int d[maxn];
void solve()
{
memset(d,~0xcf,sizeof(d));
memset(sum,0,sizeof(sum));
for(int i=1;i<=n;i++){
d[r[i]]=l[i];
sum[r[i]]++;
}
for(int i=1;i<=2*n;i++)sum[i]+=sum[i-1];
for(int i=2*n;i>=1;i--)d[i]=min(d[i],d[i+1]);
for(int i=1;i<=n*2;i++){
if(d[i]>=i){
g[i]=i;
f[i]=h[i]=0;
}
else{
g[i]=g[d[i]];
h[i]=h[d[i]]+1;
f[i]=f[d[i]]+sum[i-1];
}
}
for(int i=1;i<=n;i++){
int x=d[l[i]];
ans[i]+=f[l[i]];
ans[i]-=sum[g[x]-1]*(h[l[i]]+1);
}
}
signed main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cin>>n;
for(int i=1;i<=n;i++)cin>>l[i]>>r[i],ans[i]=n-1;
solve();
for(int i=1;i<=n;i++){
l[i]=2*n+1-l[i];
r[i]=2*n+1-r[i];
swap(l[i],r[i]);
}
solve();
for(int i=1;i<=n;i++)cout<<ans[i]<<"\n";
return 0;
}
详细
Test #1:
score: 100
Accepted
time: 1ms
memory: 21668kb
input:
5 2 3 6 7 1 9 5 10 4 8
output:
7 5 4 5 5
result:
ok 5 number(s): "7 5 4 5 5"
Test #2:
score: 0
Accepted
time: 46ms
memory: 28228kb
input:
200000 342504 342505 248314 248317 259328 259334 234817 234821 225726 225732 371424 371425 260562 260565 34752 34753 132098 132100 262130 262134 7254 7255 228491 228492 43488 43492 188408 188410 11691 11692 350334 350335 327350 327352 360684 360685 182051 182052 72131 72135 194666 194668 61303 61313...
output:
12 21 17 6 16 33 2 1 1 19 6 0 25 19 7 11 2 20 14 8 2 11 0 1 0 2 38 35 28 6 4 0 23 22 17 10 26 10 5 9 1 16 14 24 7 1 2 40 18 18 19 13 4 26 2 28 0 0 39 19 0 37 4 13 18 19 23 14 2 4 0 40 10 0 1 6 52 7 1 18 3 6 1 40 7 24 16 13 31 43 4 10 23 20 1 0 4 4 0 1 8 3 1 17 37 14 43 5 17 32 60 0 0 0 28 0 18 16 7 ...
result:
ok 200000 numbers
Test #3:
score: 0
Accepted
time: 66ms
memory: 27540kb
input:
200000 26851 26856 258158 258160 332869 332878 28073 28074 65883 65898 181844 181847 162628 162633 293275 293276 107389 107398 302056 302072 95036 95038 311987 311988 279551 279552 86 87 161331 161332 3744 3747 231020 231024 42346 42352 37146 37153 294389 294406 265867 265873 246877 246881 197614 19...
output:
64 88 81 99 668 386 308 28 42 250 22 139 3979 331 623 312 1530 770 469 206 284 259 767 1503 221 130 686 331 98 232 865 162 1649 43 130 1144 94 413 889 1861 211 762 28 836 116 162 548 225 86 1561 319 617 4127 474 96 50 1580 1558 1435 86 465 1700 15 2 99 103 136 723 1510 12 1400 223 1271 37 61 597 27 ...
result:
ok 200000 numbers
Test #4:
score: 0
Accepted
time: 49ms
memory: 26680kb
input:
200000 337751 337758 110061 110077 324990 324993 352241 352247 325108 325115 134703 134717 25943 25962 121564 121573 42982 42983 248049 248087 60651 60657 332816 332828 246046 246055 304157 304158 392634 392640 111165 111171 247498 247513 86504 86506 185219 185235 69067 69083 251182 251183 279617 27...
output:
16419 361082 40617 418545 43244 82277 11271 258885 34898 614083 42296 147399 500813 314012 2834 277734 562298 80980 69570 394765 218205 1044173 15936 326857 97086 3675 156364 343907 125715 937181 353740 544767 183548 441107 59345 82190 185443 72848 247562 273053 495863 86049 444566 136148 356787 152...
result:
ok 200000 numbers
Test #5:
score: 0
Accepted
time: 60ms
memory: 27556kb
input:
200000 127219 127280 223345 223361 152880 152884 40178 40179 7991 8005 266310 266319 332397 332422 36392 36426 75573 75574 60879 60884 95868 95913 217855 217886 131673 131681 256534 256554 223529 223530 232350 232375 120809 120827 266098 266114 25711 25751 229072 229087 272840 272879 92506 92550 773...
output:
379221319 339344076 353506130 547752191 642034502 371778846 481200270 557918532 464406514 497231703 425782610 337490404 374130659 361866758 339437880 343683647 386790159 371580284 587088809 341994919 379226219 432022481 460538970 435287365 347076374 583445677 337619137 435205438 397389207 340450981 ...
result:
ok 200000 numbers
Test #6:
score: 0
Accepted
time: 55ms
memory: 26664kb
input:
200000 171936 172110 4591 4626 108508 108553 226874 226900 90791 90850 238982 238992 243153 243174 240390 240497 347627 347662 228287 228289 170781 170934 51097 51352 139750 139808 94804 94815 442 448 297474 297475 244036 244044 356100 356114 245963 245994 142149 142166 246792 246800 19022 19108 134...
output:
106189288 204472003 125920212 106000251 135642421 108056086 108997814 108214268 160512585 106193968 106360793 162247947 113429983 133438779 208813035 128560690 109094447 167473840 109589801 112792068 109898387 190365960 195890606 105339565 194960387 104526312 173066763 182424123 188124166 156349884 ...
result:
ok 200000 numbers
Test #7:
score: 0
Accepted
time: 61ms
memory: 26888kb
input:
200000 67879 67940 10416 10465 327752 327767 135984 135994 73978 74069 194780 195094 391551 391561 105509 105572 396552 396608 49997 50157 368719 368738 208681 208769 216212 216310 46486 46539 194253 194539 25014 25049 234319 234521 159508 159600 392891 393243 295417 295887 220115 220217 108196 1082...
output:
64734580 85174386 62791748 49363982 62670510 44740694 85882512 54835645 88015994 70235070 76674604 44894964 45118612 71297646 44847466 79519941 46079850 46733016 86455586 54596042 45354246 54277341 71781887 46735752 59856019 58595450 60747185 45149383 65402310 83057043 47809279 45603991 70890939 560...
result:
ok 200000 numbers
Test #8:
score: 0
Accepted
time: 50ms
memory: 26828kb
input:
200000 286770 286880 206693 206740 224293 224808 127509 127679 305483 305814 292326 292854 226829 226949 16092 16146 382375 383028 139098 139136 42306 42462 85808 85960 391657 391743 75339 75656 374612 374790 324858 325163 126952 127012 93957 94097 133574 133760 326872 326927 95947 96935 101356 1014...
output:
23436316 19895692 20084548 22447756 25407740 23973874 20137342 35924514 36421534 21647005 31664586 25936117 38296098 27283764 35181820 27792866 22385314 25166580 21898086 28045156 24849932 24493238 22857265 22519996 37724107 25514267 20496978 20449635 27284206 37166496 20312154 25408786 26557231 364...
result:
ok 200000 numbers
Test #9:
score: 0
Accepted
time: 60ms
memory: 26860kb
input:
200000 380316 380382 211990 212332 98342 98497 273741 274028 310348 310373 15880 16509 377455 377930 30217 30927 327310 327466 34478 35491 381454 382262 133424 133425 338230 338939 201253 201418 315547 316660 129756 129908 8865 8967 290213 290918 200810 201836 363765 364427 266183 267070 150404 1505...
output:
12162580 6900400 8749178 7780778 9122073 12431434 11974806 11726400 9719653 11557873 12154465 7729331 10087943 6877024 9233382 7736819 12994846 8272476 6874728 11469762 7572458 7377010 8961745 8556622 11978523 9234003 6777657 9352548 9264121 12714264 11147516 12713648 10666576 12615729 7939879 68755...
result:
ok 200000 numbers
Test #10:
score: 0
Accepted
time: 48ms
memory: 26672kb
input:
200000 94172 94549 378164 379641 98214 99014 32105 32115 161647 162954 150359 150544 310360 310419 354635 355536 165664 167834 82402 84493 325499 325550 307332 307497 332558 333000 38917 39174 346142 350743 91220 91402 214569 215415 177931 178010 197235 197762 68559 69705 376546 380294 127708 129140...
output:
4111828 5416403 4015502 5365302 3311594 3420049 4124495 4922006 3376096 4231851 4366457 4003214 4336910 5039206 4751726 4121666 3211927 3322124 3283548 4463047 5415273 3579780 4496188 3420213 3526465 3832293 4886321 4737354 5788810 4770208 3641455 3377048 3352478 4922204 3321986 3916692 4359401 5535...
result:
ok 200000 numbers
Test #11:
score: 0
Accepted
time: 49ms
memory: 26748kb
input:
200000 1072 3118 40071 43871 127286 133342 225846 229162 107755 108681 126692 126984 282893 289606 371786 372185 323077 326187 115603 116808 371356 373473 297233 297757 69577 69663 115940 116991 222525 223825 258843 260753 116418 117598 364675 364863 390718 392788 176166 182649 309256 312248 231780 ...
output:
2825812 2456257 1722533 1619155 1938198 1780319 1839986 2651546 2095849 1802614 2642653 1969729 2171015 1802669 1667585 1734749 1802593 2480030 2829784 1583490 1975708 1591427 1975008 1881362 2160968 2037564 2192449 2022100 1932643 1975777 2464278 2455552 1661653 1802541 1976558 1846501 1797272 2463...
result:
ok 200000 numbers
Test #12:
score: 0
Accepted
time: 50ms
memory: 28172kb
input:
200000 172930 174742 27463 29558 281470 282104 378322 381194 289478 290375 293078 317404 324947 325056 105107 111280 254153 254706 32188 37595 318055 321344 112598 118650 269551 270153 343739 345290 266354 271907 363821 369134 383270 389836 251225 265879 117980 126149 4042 14067 10229 11087 116790 1...
output:
741968 1125299 873370 1176638 867970 833651 980787 856194 800813 1116499 883021 856239 806684 1015473 791463 1119436 1180387 792430 823849 1149950 1154489 747812 973592 1113694 888796 974015 974926 739982 858574 774214 935522 822716 887233 740193 739779 1109462 1114910 1010604 872778 796867 1174921 ...
result:
ok 200000 numbers
Test #13:
score: 0
Accepted
time: 53ms
memory: 26932kb
input:
200000 396480 397307 35648 37415 256941 267156 135654 139714 126330 133123 237210 241635 9328 12129 138460 145503 292776 294347 51995 53415 327655 329591 367790 368757 41948 58528 12606 56450 224903 237674 47356 51357 177950 193567 16051 34504 25665 27391 392399 392798 21152 40393 12230 38747 292065...
output:
757703 687976 530266 498832 566176 517902 728283 503183 592078 605230 603367 685120 597626 584013 513710 603917 513028 679635 724620 730945 652828 675589 574078 726230 528058 607213 530516 499502 592079 516952 522796 590211 500171 724355 453484 597863 580815 603151 522371 503484 531015 756377 497243...
result:
ok 200000 numbers
Test #14:
score: 0
Accepted
time: 62ms
memory: 28160kb
input:
200000 172883 218174 30687 56660 211338 242591 318600 323262 63226 97641 269157 284103 33990 43988 192237 196395 247512 254586 33563 38944 83379 117561 10925 12071 262370 266422 100154 111153 238382 280045 192961 220350 297213 396676 265697 302673 296937 327287 370554 390222 71247 100334 384661 3954...
output:
362419 407362 369316 412008 367790 377817 415298 382767 381560 417652 367851 436485 383164 379539 364214 371254 351223 366756 379800 413831 370459 427185 326780 371524 430064 381207 370442 417530 386226 375423 383241 411644 360743 379011 375728 413952 365596 404176 371097 420988 382996 413505 370805...
result:
ok 200000 numbers
Test #15:
score: 0
Accepted
time: 46ms
memory: 27524kb
input:
200000 103349 264305 178051 198663 74656 100424 322291 333624 62219 116581 21852 44028 251919 277878 53240 87351 245100 265874 11996 40044 212372 225176 73628 149628 142790 310770 169496 247976 50308 180800 138992 330125 289117 338022 274751 382694 80345 101657 2111 76369 33407 71723 63648 118011 18...
output:
271317 340356 338924 356175 326660 362113 340270 339117 342221 364406 344791 313916 270169 312019 291326 260668 335469 315720 340553 338288 344095 326412 301682 297778 360096 315745 385982 257349 258225 300578 330067 230799 309768 321414 322127 310177 297449 266039 328487 368521 338380 345179 341038...
result:
ok 200000 numbers
Test #16:
score: 0
Accepted
time: 55ms
memory: 27120kb
input:
200000 118304 262258 30805 129796 105610 215004 73169 305825 16186 104979 162259 187539 265974 385486 186957 352497 64058 269854 9282 141856 216553 269728 24364 78747 172872 286230 71411 360129 142836 348733 232833 282395 45897 112265 137827 213006 38139 171233 24943 118081 43184 311266 22521 112855...
output:
242013 292713 257381 218694 309268 290166 289419 247559 226922 283711 281043 329730 254674 208770 229742 286364 306217 268277 267600 300285 213136 303829 280878 282830 338182 279645 280853 291142 226678 298078 264998 309417 233019 224610 274302 344537 258601 271299 311937 238976 212577 274349 234122...
result:
ok 200000 numbers
Test #17:
score: 0
Accepted
time: 49ms
memory: 27512kb
input:
200000 201425 347551 71476 137629 140154 376332 116590 341032 210807 331824 245972 388020 5575 334517 163518 251275 138978 227516 201756 383479 8395 372874 56793 233450 294485 318492 146791 396767 164811 285272 287563 307750 145795 341549 179229 186820 176893 223994 2860 199806 270613 351304 113107 ...
output:
254146 292218 225197 221335 261420 275659 205466 260965 261245 251184 201018 238547 316664 226860 250393 313980 230771 296931 277857 250070 294536 248236 218502 319837 356166 238661 299729 218683 209705 332155 343658 308842 269694 287381 268875 278393 310296 245233 340731 291962 299710 275388 279549...
result:
ok 200000 numbers