兩棵點集相同的樹,每個點有乙個權值 \(a[i](|a[i]|\le 1000)\) ,編號 \(1\) ~ \(n(n\le 100)\) 。找到乙個點集的子集使得這個子集在兩棵樹上都是連通塊。輸出最大的權值和。多組資料, \(t\le 50\)
考慮列舉兩棵樹的根 \(root\) ,則對於任意乙個點,選了它就必須選它的父親。
這就是乙個最大權閉合圖的模型了。
#includeusing namespace std;
template inline void read(t &x)
#define n 250
#define rep(i, a, b) for (int i = a; i <= b; i++)
#define inf 0x3f3f3f3f
int s, t, head[n], cur[n], tot = 1, q[n], dep[n];
struct edge e[1001];
inline void insert(int u, int v, int c)
inline void add(int u, int v, int c)
inline bool bfs()
} return 0;
}int dfs(int u, int dist)
if (!ret) dep[u] = -1;
return ret;
}inline void cpy()
inline void rec()
int dinic()
int n, thead[n], ttot, a[n];
struct tedge te[1001];
inline void tadd(int u, int v)
void dfs(int u, int fa, int t)
int main()
rep(i, 2, n)
int ans = 0;
rep(i, 1, n)
printf("%d\n", ans);
} return 0;
}
不知道哪來的題 Subsequence
給出兩個由小於等於 k 的正整數構成的數列 a 與 b 長度為 n 與 m 現在需要乙個由小於等於 k 的正整數構成的數列 c 使得 c 既不是 a 的子串行,也不是 b 的子串行。請求出 c 的最小長度。n,m,k le 4000 dp i j 表示 a 掃到 i b 掃到 j c 的最小長度。預...
我也不知道是什麼題
題意 給出平面上n個點 n 300 都在第一象限且沒有重複的,保證座標都是整數 合法的點集滿足如下要求 1 6個點,並且有4個點在x軸上 2 這六個點可以組成兩個三角形並且兩個底角都是銳角 3 乙個三角形被另乙個完全包含 畫張圖 有點醜 qaq 分析 我的第一想法是列舉座標軸上的4個點 然後想想就暴...
你不知道的 和
開發中,編寫有一定逼格的 是每個程式猿都追求的。經常用來判斷的符號 和 也經常用來定義變數哦,你知道嗎?邏輯與 在有乙個運算元不是布林值的情況下,就不一定返回布林值。比如以下情況 1 第乙個運算元是物件,返回第二個數 var myinfo console.log myinfo 2 輸出22 第二個運...