多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > php開源 > php教程 > Codeforces Round #286 (Div. 1) C、D

Codeforces Round #286 (Div. 1) C、D

來源:程序員人生   發(fā)布時(shí)間:2015-02-04 09:25:49 閱讀次數(shù):3405次

C:題目中步數(shù)看似很多,其實(shí)最多就增長250步左右,由于移動(dòng)的步數(shù)為1 + 2 + 3 + .. n,所以大概只會(huì)有sqrt(n)步,所以dp[i][j]表示在i位置,增長為j步的值,然后轉(zhuǎn)移便可

D:這題其實(shí)對(duì)1個(gè)聯(lián)通塊,最多只需要n條邊,最少要n - 1條,那末判斷的條件,就是這個(gè)聯(lián)通塊是不是有環(huán),利用拓?fù)渑判蛉ヅ斜憧?/p>

代碼:

C:

#include <cstdio> #include <cstring> #include <algorithm> using namespace std; const int N = 30005; int n, d, cnt[N], dp[N][500]; int dfs(int u, int cha) { if (u > 30000) return 0; if (dp[u][cha] != ⑴) return dp[u][cha]; int tmp = d + cha - 250; dp[u][cha] = cnt[u]; int ans = 0; if (tmp > 1) ans = max(ans, dfs(u + tmp - 1, cha - 1)); ans = max(ans, dfs(u + tmp, cha)); ans = max(ans, dfs(u + tmp + 1, cha + 1)); dp[u][cha] += ans; return dp[u][cha]; } int main() { scanf("%d%d", &n, &d); int tmp; for (int i = 0; i < n; i++) { scanf("%d", &tmp); cnt[tmp]++; } memset(dp, ⑴, sizeof(dp)); printf("%d ", dfs(d, 250)); return 0; }

D:

#include <cstdio> #include <cstring> #include <vector> #include <queue> using namespace std; const int N = 100005; int n, m, du[N], vis[N], have[N], hn; vector<int> g[N], g2[N]; void dfs(int u) { have[hn++] = u; vis[u] = 1; for (int i = 0; i < g[u].size(); i++) { int v = g[u][i]; if (vis[v]) continue; dfs(v); } } bool find() { queue<int> Q; for (int i = 0; i < hn; i++) if (!du[have[i]]) Q.push(have[i]); while (!Q.empty()) { int u = Q.front(); Q.pop(); int sz = g2[u].size(); for (int i = 0; i < sz; i++) { int v = g2[u][i]; du[v]--; if (!du[v]) Q.push(v); } } for (int i = 0; i < hn; i++) if (du[have[i]]) return true; return false; } int main() { scanf("%d%d", &n, &m); int u, v; while (m--) { scanf("%d%d", &u, &v); du[v]++; g[u].push_back(v); g[v].push_back(u); g2[u].push_back(v); } int ans = n; for (int i = 1; i <= n; i++) { if (!vis[i]) { hn = 0; dfs(i); if (!find()) ans--; } } printf("%d ", ans); return 0; }


生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 最近中文字幕最新在线视频 | 亚洲精品美女久久久久 | 成 人 a v免费视频 | yellow中文字幕官网是什么 | 亚洲视频在线观看免费视频 | 蜜芽一区二区国产精品 | 一区二区三区中文 | 大香伊在人线免费 | 99国产国人青青视频在线观看 | 国产自在自拍 | 亚洲国产一区二区三区 | 午夜免费影院 | 亚洲精品高清国产一久久 | 伊人国产精品 | 成人精品视频一区二区三区 | 永久免费看片 | 亚1州区2区三区4区产品 | 中文字幕亚洲精品 | 韩国全部三级伦在线 | 国产一区自拍视频 | 精品一区精品二区 | 国产亚洲一区二区在线观看 | 啪啪网站视频 | 欧美成人影院免费观 | 图片区小说区欧洲区 | 欧美精品久久久久久久小说 | 男人午夜小视频 | 成人欧美一区二区三区在线观看 | 日本护士做xxxxx视频 | 亚洲国产毛片 | free性日韩 | 午夜色影院 | 综合亚洲欧美日韩一区二区 | 国产毛片久久久久久国产毛片 | 99精品大香线蕉线伊人久久久 | 亚洲欧美日韩不卡 | 五月婷婷在线免费观看 | 欧美日韩一区二区三区视视频 | 国产欧美精品一区二区三区 | 亚洲 欧美 字幕 一区 在线 | 春色视频免费版高清在线观看 |