红色OI再临 @ 2019-07-20 16:43:19
WA了第三个点
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<queue>
#define ll long long
#define re register int
#define MN 1001
#define inf 1<<30
using namespace std;
int f[MN];
int a[MN];
struct tu{
int v,w,nxt;
}e[MN*2];
int cnt=1,head[MN];
int n,m,s,t,maxflow;
void add(int u,int v,int w){
e[++cnt].v=v;
e[cnt].w=w;
e[cnt].nxt=head[u];
head[u]=cnt;
}
struct front{
int u,edge;
}pre[2*MN];
int vis[MN],dep[MN];
bool bfs(){
memset(dep,0x3f3f3f3f,sizeof(dep));
memset(vis,0,sizeof(vis));
dep[s]=0;
queue<int>q;
q.push(s);
while(!q.empty()){
int u=q.front();
q.pop();
vis[u]=0;
for(re i=head[u];i;i=e[i].nxt){
int v=e[i].v;
if(dep[v]>dep[u]+1&&e[i].w){
dep[v]=dep[u]+1;
if(vis[v]==0){
q.push(v);
vis[v]=1;
}
}
}
}
return dep[t]!=0x3f3f3f3f;
}
int dfs(int u,int flow){//flow为当前路上最短边权
int rlow=0;
if(u==t)return flow;
for(re i=head[u];i;i=e[i].nxt){
int v=e[i].v;
if(e[i].w&&dep[v]==dep[u]+1){
if(rlow=dfs(v,min(flow,e[i].w))){
e[i].w-=rlow;
e[i^1].w+=rlow;
return rlow;
}
}
}
return 0;
}
int dinic(){
int lowflow;
while(bfs()){
while(lowflow=dfs(s,inf))maxflow+=lowflow;
}
return maxflow;
}
int main(){
scanf("%d",&n);
for(re i=1;i<=n;i++)
scanf("%d",&a[i]),f[i]=1;
s=0;t=2*n+1;
for(re i=2;i<=n;i++)
for(re j=1;j<i;j++)
{
if(a[j]<=a[i])f[i]=max(f[i],f[j]+1);
}
int ans1=0;
for(re i=1;i<=n;i++)
ans1=max(ans1,f[i]);
printf("%d\n",ans1);
if(ans1==1){
printf("%d\n",n);
printf("%d\n",n);
return 0;
}
for(re i=1;i<=n;i++)
add(i,i+n,1),add(i+n,i,0);
for(re i=1;i<=n;i++)
{
if(f[i]==1)add(s,i,1),add(i,s,0);
if(f[i]==ans1)add(i+n,t,1),add(t,i+n,0);
}
for(re i=1;i<=n;i++)
for(re j=1;j<i;j++)
if(a[j]<=a[i]&&f[i]==f[j]+1)add(j+n,i,1),add(i,j+n,0);
printf("%d\n",dinic());
add(1,n+1,inf);add(n+1,1,0);
add(s,1,inf);add(1,s,0);
if(f[n]==ans1)add(n,n*2,inf),add(n*2,n,0),add(n*2,t,inf),add(t,n*2,0);
printf("%d\n",dinic());
return 0;
}
by 红色OI再临 @ 2019-07-20 16:44:00
INPUT:
478
585 595 596 596 597 597 598 599 587 588 590 591 592 594 594 577 579 579 580 580 581 584 584 569 569 570 571 571 572 574 575 554 555 555 558 558 560 562 565 548 549 550 550 551 551 552 553 542 542 542 545 546 547 548 548 532 533 535 535 537 537 539 539 509 511 512 515 519 519 528 530 498 502 504 504 505 506 507 508 488 491 492 492 493 493 493 494 479 482 482 483 484 485 487 487 468 470 471 472 473 474 474 477 454 456 457 457 458 460 463 464 448 448 449 450 450 451 451 452 428 434 434 435 438 440 444 446 421 422 424 425 425 426 426 428 406 408 415 417 417 420 420 421 400 401 401 402 402 403 404 406 392 393 394 395 396 398 398 399 375 380 381 382 386 388 389 391 366 366 367 367 369 371 372 374 354 355 356 360 360 362 364 365 348 348 348 349 349 350 350 352 342 343 343 343 344 345 347 347 333 333 336 336 336 338 340 341 322 322 324 324 325 327 331 332 317 317 318 319 321 321 322 322 302 305 305 307 308 311 312 313 297 298 298 298 299 299 299 300 291 293 294 294 294 296 296 296 281 281 282 282 287 287 288 289 270 270 271 275 275 275 277 278 255 256 257 259 259 262 263 266 246 247 248 248 250 253 253 253 233 233 235 236 238 243 245 246 226 226 229 231 231 232 232 233 217 217 217 219 219 219 222 224 201 207 208 210 210 212 215 216 194 194 195 195 197 199 200 200 192 192 192 192 192 192 193 194 184 185 186 186 187 190 190 190 175 175 175 177 178 178 183 184 165 165 165 166 167 170 171 173 150 150 154 156 157 160 161 162 142 142 144 144 145 145 145 149 128 129 130 135 136 137 137 139 120 123 123 123 125 125 127 128 107 109 109 115 116 117 118 119 98 100 101 102 103 105 105 106 93 93 94 95 95 96 96 97 81 81 83 83 87 90 92 92 71 72 72 73 76 78 78 80 60 62 62 63 64 64 64 66 53 53 54 54 55 57 57 59 44 46 48 48 48 49 51 53 38 39 40 42 42 42 42 43 27 27 29 30 33 34 35 36 17 18 20 22 25 25 26 8 8 8 9 10 12 12 26
by Lovable_Wind @ 2019-07-20 16:44:01
qndmx
by 红色OI再临 @ 2019-07-20 16:44:32
output:
8
58
60
by LordLeft @ 2019-07-20 16:44:47
E? 网络流巨佬 AWSL
by 红色OI再临 @ 2019-07-20 16:45:07
我输出 8 0 1
by 红色OI再临 @ 2019-07-20 16:45:26
@LordLeft 帮我改题
by JerryC @ 2019-07-20 16:55:06
@红色OI再临 帮你改题不是别人的义务
by JerryC @ 2019-07-20 16:55:26
不要把这个想成理所当然之事
by 红色OI再临 @ 2019-07-20 16:56:37
@JerryC 我没有,只是他是同机房dalao所以叫一下
by foxdemon @ 2019-07-20 16:56:57
@JerryC 万一他们认识呢...