Uva(11324)(The Largest Clique)

链接:https://vjudge.net/problem/UVA-11324
思路:还是一道有向图的强连通分量+缩点+DAG动态规划问题,首先主要还是熟悉tarjan的强连通分量,双连通分量(点双,边双)的不同写法。这道题有所不同,缩点的时候还要统计每个强连通分量有多少个点,把点数作为权值在新图上进行DAG的动态规划,顺便补了一下DAG的动态规划的写法,如果不清楚tarjan写法的可以看我其他几篇tarjan的题的博客,有详解
代码:

#include
#include
#include
#include
#include
using namespace std;

int t,n,m;
const int maxn = 1001;
vector G[maxn];
int dfn[maxn],low[maxn],dp[maxn],sccno[maxn],scount[maxn];
int ntime,scc_cnt;
deque qq;
int NG[maxn][maxn];

void tarjan(int u){
    dfn[u] = low[u] = ++ntime;
    qq.push_back(u);
    for(int i=0;i

你可能感兴趣的:(Uva(11324)(The Largest Clique))