洛谷P1640 SCOI2010 連續攻擊遊戲

2021-08-10 01:38:21 字數 1093 閱讀 9215

lxhgww最近迷上了一款遊戲,在遊戲裡,他擁有很多的裝備,每種裝備都有2個屬性,這些屬性的值用[1,10000]之間的數表示。當他使用某種裝備時,他只能使用該裝備的某乙個屬性。並且每種裝備最多只能使用一次。遊戲進行到最後,lxhgww遇到了終極boss,這個終極boss很奇怪,攻擊他的裝備所使用的屬性值必須從1開始連續遞增地攻擊,才能對boss產生傷害。也就是說一開始的時候,lxhgww只能使用某個屬性值為1的裝備攻擊boss,然後只能使用某個屬性值為2的裝備攻擊boss,然後只能使用某個屬性值為3的裝備攻擊boss……以此類推。現在lxhgww想知道他最多能連續攻擊boss多少次?

輸入格式:

輸入的第一行是乙個整數n,表示lxhgww擁有n種裝備接下來n行,是對這n種裝備的描述,每行2個數字,表示第i種裝備的2個屬性值

輸出格式:

輸出一行,包括1個數字,表示lxhgww最多能連續攻擊的次數。

輸入樣例#1:

3

1 23 2

4 5

輸出樣例#1:

2

limitation

對於30%的資料,保證n < =1000

對於100%的資料,保證n < =1000000

典型的二分圖最大匹配,二話不說匈牙利。。。

附**:

#include#include#include#include#define maxn 1000010

using namespace std;

int n,c=1,f[maxn],head[maxn];

bool vis[maxn];

struct nodea[maxn<<1];

inline int read()

while(c>='0'&&c<='9')

return date*w;

}void add(int x,int y)

bool find(int x)}}

return false;

}int main()

for(int i=1;i<=n;i++)

}printf("%d\n",n);

return 0;

}

洛谷P1640 SCOI2010 連續攻擊遊戲

今天在看題解查如何縮減複雜度的時候看到乙個巨巨方法 用時間點來查重!由於每一次memset來實在是太慢了 直接記錄每一次進去的大小 比如第一次進入是 1 只需判斷vis i 是否為1就行 第二次進入是2 只需判斷vis i 是否為2就行!太巨了膜拜 我洛谷直接關注 include include d...

洛谷P1640 SCOI2010 連續攻擊遊戲

題目大意 有很多的裝備,每種裝備都有2個屬性,這些屬性的值用 1,10000 之間的數表示。每種裝備最多只能使用一次,且只能使用其中一種屬性。裝備所使用的屬性值必須從1開始連續。問最多能攻擊多少次?題解 每個裝備從屬性像編號連邊,匈牙利演算法,跑出匹配,若乙個匹配不了就結束 卡點 無 c code ...

P1640 SCOI2010 連續攻擊遊戲

link 好久沒寫過匈牙利演算法了,今天來複習一下。這題是典型的二分圖匹配問題。我們考慮怎麼建邊。因為每種裝備只能用一次。所以我們可以把裝備屬性和他的裝備序號連邊。然後從一開始匹配,第乙個匹配失敗的點的上乙個就是我們最終的答案。這個題 n 的範圍挺大的,所以我們不能寫網路流 網路流多好寫啊 匈牙利演...