日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[bzoj]1930 pacman吃豆豆

發布時間:2024/9/5 编程问答 34 如意码农
生活随笔 收集整理的這篇文章主要介紹了 [bzoj]1930 pacman吃豆豆 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Description

兩個PACMAN吃豆豆。一開始的時候,PACMAN都在坐標原點的左下方,豆豆都在右上方。PACMAN走到豆豆處就會吃掉它。PACMAN行走的路線很奇怪,只能向右走或者向上走,他們行走的路線不可以相交。 請你幫這兩個PACMAN計算一下,他們倆加起來最多能吃掉多少豆豆。

Input

第一行為一個整數N,表示豆豆的數目。 接下來 N 行,每行一對正整數,表示第i個豆豆的坐標。任意兩個豆豆的坐標都不會重合。

Output

僅有一行包含一個整數,即兩個PACMAN加起來最多能吃掉的豆豆數量

Sample Input

8

8 1

1 5

5 7

2 2

7 8

4 6

3 3

6 4

Sample Output

7

HINT

N < = 2000

Source

拼盡全力優化,最后還是超時1個點。。。

裸的費用流

 #include<iostream>
#include<cstdio>
#include<cstring>
#include<queue>
#include<algorithm>
using namespace std; const int INF=0x7fffffff; struct Edge
{
int from,to,v,c,next;
}E[];
int node=;
int head[],from[],dis[],vis[]; int n,ans,S,T;
struct point
{
int x,y;
}P[]; int read()
{
int x=,f=;char ch=getchar();
while(ch<''||ch>''){if(ch=='-')f=-f;ch=getchar();}
while(ch>=''&&ch<=''){x=x*+ch-'';ch=getchar();}
return x*f;
} void ins(int from,int to,int v,int c)
{
node++;
E[node]=(Edge){from,to,v,c,head[from]};
head[from]=node;
} void insert(int from,int to,int v,int c)
{
ins(from,to,v,c);ins(to,from,,-c);
} bool spfa()
{
queue<int> Q;
for(int i=;i<=T;i++) dis[i]=-INF;
Q.push();dis[]=;vis[]=;
while(!Q.empty())
{
int q=Q.front();Q.pop();
for(int i=head[q];i;i=E[i].next)
if(E[i].v>&&dis[q]+E[i].c>dis[E[i].to])
{
dis[E[i].to]=dis[q]+E[i].c;
from[E[i].to]=i;
if(!vis[E[i].to])
{
Q.push(E[i].to);
vis[E[i].to]=;
}
}
vis[q]=;
}
return dis[T]!=-INF;
} void mcf()
{
int x=INF;
for(int i=from[T];i;i=from[E[i].from])
x=min(E[i].v,x);
for(int i=from[T];i;i=from[E[i].from])
{
ans+=x*E[i].c;
E[i].v-=x;E[i^].v+=x;
}
} bool cmp(point a,point b)
{
return a.x<b.x||(a.x==b.x&&a.y<b.y);
} int main()
{
n=read();T=*n+;S=T-;
for(int i=;i<=n;i++)
P[i].x=read(),P[i].y=read();
sort(P+,P+n+,cmp);
insert(,S,,);
for(int i=;i<=n;i++)
{
insert(S,i,,);
insert(i,i+n,,);
insert(i,i+n,,);
insert(i+n,T,,);
}
for(int i=;i<=n;i++)
{
int inf=INF;
for(int j=i+;j<=n;j++)
{
if(P[i].y<=P[j].y)
{
if(P[j].y<inf)
insert(i+n,j,,);
inf=min(inf,P[j].y);
}
}
}
while(spfa())
mcf();
printf("%d",ans);
return ;
}

總結

以上是生活随笔為你收集整理的[bzoj]1930 pacman吃豆豆的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 男人天堂成人 | 秋霞在线视频观看 | √天堂资源地址在线官网 | 日韩久久高清 | 国产三区在线播放 | 伊人一级片 | 免费看黄色一级视频 | 999黄色片| 国产专区一区 | 亚洲精品九九 | 好吊妞精品视频 | 成人在线网 | 日本免费精品 | 亚洲国产一区二区在线观看 | 森泽佳奈作品在线观看 | 久操久操久操 | 69精品人人 | 丰满的人妻hd高清日本 | 日韩av网站在线 | 欧美影院久久 | 日日骚视频 | 日本强好片久久久久久aaa | 日韩精品一区二区三区丰满 | 视频在线 | 污网站在线播放 | 播金莲一级淫片aaaaaaa | av有声小说一区二区三区 | 18禁网站免费无遮挡无码中文 | 成人a级片 | 中文字幕高清一区 | 欧美极品一区二区三区 | 激情五月开心婷婷 | 国产一区一一区高清不卡 | 国产国语性生话播放 | 91视色| 国产性―交一乱―色―情人 | 日本视频免费在线播放 | 91成人看片 | 有码一区| 人人爽人人爽人人片 | 日韩久久一级片 | jizzjizz日本人 | www,日韩| youjizz视频| 韩日av片 | 天天操人人 | 日本少妇激情视频 | 最新国产露脸在线观看 | 色综合五月 | 日本在线观看视频网站 | av视屏在线 | 黄色.com | a午夜| 丰满人妻在公车被猛烈进入电影 | 中国黄色一级视频 | 免费在线看黄网址 | 久久久激情视频 | 精品在线观看视频 | 国产鲁鲁视频在线观看免费 | 国产精品一卡二卡三卡 | 欧美成人精品在线视频 | 国产69精品久久久 | 婷婷亚洲五月 | 校园春色亚洲激情 | 中国免费看的片 | 日本人妖在线 | 成人国产精品免费观看视频 | 91精品人妻一区二区三区蜜桃2 | 东京热一本视频一区 | 18视频在线观看网站 | 国产高清视频免费观看 | 狠狠操五月天 | 日本黄色性视频 | 综合网在线视频 | 香蕉爱爱视频 | 欧美一区二区三区免费在线观看 | 国产麻豆免费观看 | 久久精品无码中文字幕 | 国产欧美视频在线播放 | 色中色av | 国产一级一片 | 秋霞中文字幕 | 性色视频 | 喷水少妇 | 亚洲制服丝袜av | 免费观看在线视频 | 天堂av8在线| 久久伊人免费视频 | 日韩欧美一本 | 国产情趣视频 | 国产一区二区三区自拍 | 男女做激情爱呻吟口述全过程 | 中文不卡视频 | 丰满岳妇乱一区二区三区 | 一本久久综合亚洲鲁鲁五月天 | 亚洲天堂男人av | 国产精品夜夜 | 国产91一区在线精品 | 午夜久久 |