n*m 01矩陣,每次可以刪去一行或者一列,問刪去所有的1最少操作次數
poj3041原題
二分圖,行當成乙個點放左邊,列當成乙個點放右邊
即求最小點覆蓋 == 最大匹配
好久不做題腦子快生鏽了
好多人吐槽這vector的格式
不知道用自己寫的板子算不算作弊
#include
using
namespace
std;
const
int n = 1111;
struct hungary
inline
void addedge(const
int &u, const
int &v)
bool find(int x)
}return
false;
}inline
int hungary(const
int &n, const
int &m)
//for (int i = 0; i < m; i++) printf("girl[%d] = %d\n", i, girl[i]);
//printf("all = %d\n", all);
return all;
}} hg;
int calculate(int rows, int cols, vector
< vector
< int > > matrix)
}int match = hg.hungary(rows, cols);
//printf("%d\n", match);
//int ans = rows + cols - match;
return match;
}/******************************結束寫********************************/
int main()
}res = calculate(_matrix_rows, _matrix_cols, _matrix);
cout
<< res << endl;
return
0;}
1021上午考試T2
題目大意 n個莊家。你可以到莊家那邊下注,每次可以猜大猜小,猜一次一元錢。每一次開彩前,你都可以到任意個莊家那裡下賭注。如果開彩結果是大,你就可以得到你之前猜大的莊家相應的ai元錢。如果開彩結果是小,你就可以得到你之前猜小的莊家相應的bi元錢。你可以在同乙個莊家那裡既猜大又猜小 這樣是兩塊錢 也可以...
0928考試T2 亂搞
題目大意 給定k個數字序列,請將它們合併為乙個,滿足本來在同一序列中的兩個數的相對位置不變。定義乙個序列a的不和諧度為序列中使得a i a i 1 成立的i的總數,請輸出一種合併方案,使得合併後的序列不和諧度最小。考場上算錯時間複雜度了,以為可以切了的,沒想到拿了80。我想的是貪心 假設已經填入 i...
5 11返校測試T2
有k k第一行乙個整數n。第二行有n個正整數,每個數字代表一張選票所選的人的編號。每行乙個正整數,為優勝者的編號,由小到大。如果沒人獲勝,則輸出 no such person.8 5 2 3 6 2 5 2 72優勝者為2號。下面是這個題的思路qwq 將所有的選票進行從小到大排序 快排解決 然後將陣...