題意不太明確......
這題的n需要一上來就+1。就是求乙個可交最小路徑覆蓋,二分答案即可。
不知道為什麼我的常數那麼大,別人幾乎300ms就完事了,我需要800ms。
#include #include #include using namespace std;
inline char gc()
return *s++;
}inline int read()
return x;
}inline void print(int x)
int dgt[20], now = 0;
while(x)
for(; now; --now) putchar('0' + dgt[now]); puts("");
}int n, m, f[510][510], v[510], b[510]; bool can[510];
int match[510], vis[510];
bool dfs(int x) }}
return false;
}inline int check(int tot)
return tot - res;
}int main()
for(int k = 1; k <= m; ++k)
for(int i = 1; i <= m; ++i)
for(int j = 1; j <= m; ++j) f[i][j]|= f[i][k] & f[k][j];
memcpy(b, v, sizeof(b)); sort(b+1, b+m+1); b[m + 1] = 1e9 + 1;
int l = 1, r = m + 1, ans = 0;
while(l <= r)
else r = mid - 1;
for(int i = 1; i <= m; ++i) can[i] = 1;
}if(ans == 1e9 + 1) puts("ak");
else print(ans);
return 0;
}
2018D1T2 貨幣系統
記貨幣種類為 n 面額陣列為 a 1.n 的貨幣系統為 n,a 貨幣系統 n,a 與 m,b 等價,當且僅當對於 forall x in mathbf n x 要麼均可以被兩個貨幣系統表示,或者不能被任何乙個表示。給定乙個貨幣系統 n,a 求與其等價的貨幣系統 m,b 並使 m 盡可能小。我們把貨幣...
NOIP2018D1T2 貨幣系統
題面 這道題我是親自在考場上考過的 先說題解吧 乙個貨幣系統中 x xx是沒用的,當且僅當他能被系統中別的貨幣表示 我們拿rmb rmbrm b來舉個例子 發現所有的錢都能被一分錢表示出來 所以只留乙個一分錢的就好了 啪咳咳 不鬧了 題面可以簡述為 給你乙個貨幣系統a aa 讓我們可以給他簡化 使得...
NOIP2018 D1T1 鋪設道路
目錄春春是一名道路工程師,負責鋪設一條長度為 n 的道路。鋪設道路的主要工作是填平下陷的地表。整段道路可以看作是 n 塊首尾相連的區域,一開始,第 i 塊區域下陷的深度為 di。春春每天可以選擇一段連續區間 l,r 填充這段區間中的每塊區域,讓其下陷深度減少 1。在選擇區間時,需要保證,區間內的每塊...