某程筆試T2,最小點覆蓋

2022-08-15 06:12:12 字數 1112 閱讀 6201

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 將所有的選票進行從小到大排序 快排解決 然後將陣...