先做出最小生成树,然后对每个点dfs判断树边是否可删.....

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;const int maxn = 3005;
const int maxm = 6005;
const int INF = 0x3f3f3f3f;struct Edge
{int v;Edge *next;
}E[maxm], *H[maxn], *edges;int g[maxn][maxn];
int is[maxn][maxn];
int lowc[maxn];
int pre[maxn];
int dis[maxn];
int vis[maxn];
int n;void init()
{edges = E;memset(H, 0, sizeof H);memset(is, 0, sizeof is);
}void addedges(int u, int v)
{edges->v = v;edges->next = H[u];H[u] = edges++;
}void Prim()
{memset(vis, 0, sizeof vis);vis[1] = true;for(int i = 1; i <= n; i++) lowc[i] = g[1][i], pre[i] = 1;for(int i = 1; i < n; i++) {int minc = INF;int p = -1, t = -1;for(int j = 1; j <= n; j++) if(!vis[j] && minc > lowc[j]) {minc = lowc[j];p = j;t = pre[j];}vis[p] = true;for(int j = 1; j <= n; j++) if(!vis[j] && lowc[j] > g[p][j]) {lowc[j] = g[p][j];pre[j] = p;}is[p][t] = is[t][p] = true;}}void dfs(int u, int fa)
{for(Edge *e = H[u]; e; e = e->next) if(e->v != fa) {int v = e->v;dfs(e->v, u);dis[u] = min(dis[u], dis[v]);}if(g[fa][u] >= dis[u]) is[fa][u] = is[u][fa] = 0;
}void debug()
{for(int i = 1; i <= n; i++) {for(int j = 1; j <= n; j++)printf("%d ", is[i][j]);printf("\n");}
}void work()
{scanf("%d", &n);for(int i = 1; i < n; i++)for(int j = 1; j <= n - i; j++) {int x;scanf("%d", &x);g[i][i+j] = g[i+j][i] = x;}for(int i = 1; i <= n; i++) g[i][i] = 0;Prim();for(int i = 1; i <= n; i++)for(int j = 1; j <= n; j++)if(is[i][j]) addedges(i, j);for(int i = 1; i <= n; i++) g[0][i] = INF;for(int i = 1; i <= n; i++) {for(int j = 1; j <= n; j++) {if(is[i][j]) dis[j] = INF;else dis[j] = g[i][j];}dfs(i, 0);}int ans = 0;for(int i = 1; i <= n; i++)for(int j = 1; j <= n; j++)ans += is[i][j];printf("%d\n", ans / 2);
}int main()
{//freopen("data", "r", stdin);int _;scanf("%d", &_);while(_--) {init();      work();}return 0;
}

HDOJ 5483 Nux Walpurgis相关推荐

  1. hdu 5483 Nux Walpurgis(最小生成树+dfs)

    题目链接:hdu 5483 Nux Walpurgis 解题思路 先求一下最小生成树.然后枚举起点,遍历整棵树,维护树边能被替换的最小权值. 代码 #pragma comment(linker, &q ...

  2. 并查集 HDOJ 1232 畅通工程

    题目传送门 1 /* 2 并查集(Union-Find)裸题 3 并查集三个函数:初始化Init,寻找根节点Find,连通Union 4 考察:连通边数问题 5 */ 6 #include <c ...

  3. 【HDOJ 3652】B-number

    [HDOJ 3652]B-number 给一整数n 找<=n的整数中能被13整除且含有13的 数位dp 记忆化! . 一入记忆化深似海. ..再也不想用递推了...发现真的非常好想 仅仅要保证满 ...

  4. 【HDOJ】4343 Interval query

    最大不相交集合的数量. 思路是dp[i][j]表示已经有i个不相交集合下一个不相交集合的最右边界. 离散化后,通过贪心解. 1 /* 4343 */ 2 #include <iostream&g ...

  5. 【HDOJ】4579 Random Walk

    1. 题目描述 一个人沿着一条长度为n个链行走,给出了每秒钟由i到j的概率($i,j \in [1,n]$).求从1开始走到n个时间的期望. 2. 基本思路 显然是个DP.公式推导也相当容易.不妨设$ ...

  6. AC自动机 HDOJ 5384 Danganronpa

    题目传送门 1 /* 2 题意:多个文本串,多个模式串在每个文本串出现的次数 3 AC自动机:这就是一道模板题,杭电有道类似的题目 4 */ 5 /************************** ...

  7. 构造 HDOJ 5400 Arithmetic Sequence

    题目传送门 题意:问有多少个区间,其中存在j使得ai + d1 == ai+1(i<j) && ai + d2 == ai+1 (i>j) 构造:用c1[i], c2[i] ...

  8. Kruskal HDOJ 1233 还是畅通工程

    题目传送门 1 /* 2 最小生成树之kruskal算法--并查集(数据结构)实现 3 建立一个结构体,记录两点和它们的距离,依照距离升序排序 4 不连通就累加距离,即为最小生成树的长度 5 */ 6 ...

  9. HDOJ 5373 The shortest problem 【数论】

    HDOJ 5373 The shortest problem [数论] 题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=5373 题目给一个初始数据和重复 ...

最新文章

  1. appium IOS真机测试
  2. 实例讲解决策树分类器
  3. 基于SpringBoot和Vue的个人博客系统
  4. 黑马程序员之SQL server基础学习笔记(三)
  5. CDH页面中Oozie的调度告警邮箱设置
  6. 以软件开发周期来说明不同的测试的使用情况
  7. picsart旧版本_picsart旧版本中文下载-picsart老版本软件8.5.6 历史版本-东坡下载
  8. Linux下安装及配置Discuz论坛
  9. Node.js学习笔记——模块加载机制及npm指令详解
  10. MAC 扩展屏,颜色描述文件
  11. addEventListener()
  12. Linux下更改时间、时区
  13. 【Accumulation】The definition of SISR
  14. 月薪30K的90后程序员,下班后都在干什么?
  15. Firefox手机浏览器 v65.0.1
  16. 远程访问MySql数据库
  17. 西南交大计算机专硕薪资,考研高校就业和薪酬数据统计:西南交通大学
  18. 【云原生】Docker Compose 构建 Jenkins
  19. 电商系统中微服务体系中的分层设计和领域划分
  20. [灵敏度]底噪的计算

热门文章

  1. 证券公司需在主办存管银行开立法人资金交收过渡账户用
  2. 2021年中国职工医疗互助发展分析:在政策的引导下,职工医疗互助将迎来高质量发展阶段[图]
  3. 在html中定义有序列表的标签为,HTML列表标签
  4. 屏蔽双绞线(UTP)与非屏蔽双绞线(STP)的区别
  5. 各种误差区别总结: 方差、标准差、均方差、均方误差、均方根误差
  6. 电脑如何设置自动开机
  7. html5 table样式css,css表格样式的布局篇
  8. SAP ABAP 业务对象 BUS1113 CostElementGroup 成本要素组 BAPI 清单和相关 TCODE
  9. VUE+ElementUI+PHP+MySQL实现仿照印记中文网站(2)----前端架构
  10. Use a dynamically-generated, random IV.