POJ 3694 Network

 

大意:让你求无向图的桥(割边)

思路:一次查询,重建一次图,然后求一次割边,TLE。去网上开了看资料,可以用LCA暴力查询,唔,改天看看LCA。

TLE CODE:

#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <cstring>
#include <queue>
using namespace std;

#define MAXN 100010
#define MAXM 500010

struct Edge
{
    int v, next;
}edge[MAXM];

int first[MAXN], low[MAXN], dfn[MAXN];

int n, m;
int cnt;
int scnt, top, tot;
int nbridge;

void init1()
{
    cnt = 0;
    for(int i = 1; i <= n; i++) first[i] = -1;
}

void init2()
{
    scnt = top = tot = nbridge = 0;
    for(int i = 1; i <= n; i++) dfn[i] = 0;
}

void read_graph(int u, int v)
{
    edge[cnt].v = v;
    edge[cnt].next = first[u], first[u] = cnt++;
}

void Tarjan(int u, int fa)
{
    int v;
    low[u] = dfn[u] = ++tot;
    bool repeat = 0;
    for(int e = first[u]; e != -1; e = edge[e].next)
    {
        v = edge[e].v;
        if(v == fa && !repeat)
        {
            repeat = 1;
            continue;
        }
        if(!dfn[v])
        {
            Tarjan(v, u);
            low[u] = min(low[u], low[v]);
            if(dfn[u] < low[v]) nbridge++;
        }
        low[u] = min(low[u], dfn[v]);
    }
}

void solve()
{
    init2();
    Tarjan(1, -1);
    printf("%d\n", nbridge);
}

int main()
{
    int times = 0;
    while(scanf("%d%d", &n, &m) && (n || m))
    {
        init1();
        while(m--)
        {
            int u, v;
            scanf("%d%d", &u, &v);
            read_graph(u, v);
            read_graph(v, u);
        }
        int Q;
        scanf("%d", &Q);
        printf("Case %d:\n", ++times);
        while(Q--)
        {
            int u, v;
            scanf("%d%d", &u, &v);
            read_graph(u, v);
            read_graph(v, u);
            solve();
        }
        printf("\n");
    }
    return 0;
}

 

 

转载于:https://www.cnblogs.com/g0feng/archive/2012/11/04/2754245.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/474880.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode MySQL 1308. 不同性别每日分数总计(累加/变量/窗口函数)

文章目录1. 题目2. 解题1. 题目 表: Scores ------------------------ | Column Name | Type | ------------------------ | player_name | varchar | | gender | varchar | | day | date | | score_points | int | -----------------------…

Power Bi:DAX函数总结

文章目录日期与时间函数筛选器函数逻辑判断函数逻辑函数统计函数文本函数日期与时间函数 1.计算年初至今累计--TOTALYTD函数例如计算年初至今累计的销售金额&#xff1a; [年累计金额]&#xff1a; TOTALYTD([销售金额],日历年[日期]) # 如果要加上一个时间截止点&#xff0c;…

javascript “||”、“”的运用

你是否看到过这样的代码&#xff1a;aa||""; 可能javascript初学者会对此感到茫然。今天就跟大家分享一下我的一些心得。 其实,以下三种方式是完全等价的 aa||"defaultValue"; if(!a){a"defaultValue";} if(anull||a""||aundefined){…

MySql:函数总结

文章目录字符串函数数学函数日期和时间函数流程函数其他函数字符串函数 数学函数 日期和时间函数 流程函数 其他函数

endnote怎么和word关联_endnote x9怎么和word关联?Word中用EndNote X9教程

刚刚接触EndNote X9这款文献写作管理软件&#xff0c;不能熟练的在Word中用EndNote X9引入文献&#xff0c;不知道endnote x9怎么和word关联。这里小编为大家带来了Word中用EndNote X9教程&#xff0c;一起来看看吧&#xff01;下载安装好 word2019与endnote X9打开系统偏好设置…

[Hands On ML] 6. 决策树

文章目录1. 训练与可视化2. 分类预测3. 模型参数4. 回归5. 不稳定性本文为《机器学习实战&#xff1a;基于Scikit-Learn和TensorFlow》的读书笔记。 中文翻译参考 《统计学习方法》决策树笔记 决策树可以分类&#xff0c;也可以回归&#xff0c;还有多输出任务 是随机森林的基…

【转载】KMP算法详解

如果机房马上要关门了&#xff0c;或者你急着要和MM约会&#xff0c;请直接跳到第六个自然段。 我们这里说的KMP不是拿来放电影的&#xff08;虽然我很喜欢 这个软件&#xff09;&#xff0c;而是一种算法。KMP算法是拿来处理字符串匹配的。换句话说&#xff0c;给你两个字符…

LeetCode MySQL 1459. 矩形面积

文章目录1. 题目2. 解题1. 题目 表: Points ------------------------ | Column Name | Type | ------------------------ | id | int | | x_value | int | | y_value | int | ------------------------ id 是该表主键. 每个点都表示…

mesh和wifi中继的区别_小米官方科普路由器Mesh功能,它和普通的中继有什么区别...

原标题&#xff1a;小米官方科普路由器Mesh功能&#xff0c;它和普通的中继有什么区别不知道各位在选购路由器的时候会不会关注路由器的Mesh组网功能&#xff0c;也可能有许多小伙伴在购买选购路由器的时候没有很关注过相关的功能和参数。而最近&#xff0c;小米就将其旗下的AX…

STP分析--保险公司客户分类分析(采用SPSS进行分析)

文章目录研究目的&#xff1a;精准营销研究内容&#xff1a;客户分类维度数据获取与处理设计调查问卷及确定调研计划数据处理数据分析架构客户细分目标客户选择目标客户定位数据分析与输出结果确定分类维度分类维度的消减适应性检验因子提取因子旋转因子命名计算因子得分设置因…

详解Objective-C消息传递机制

Objective-C获取消息工作机制是本文要介绍的内容&#xff0c;看name mangling的时候&#xff0c;也讲到了Objective-C的name mangling&#xff0c;于是又重新读了一下Objective-C 2.0 programming Language以及Objective-C 2.0 Runtime Reference里的相关内容,自己归纳一下 。…

vuedraggable示例_vuedraggable快速入门

value和list这两个都可以给一个draggable注入数据源&#xff1a;/*value注入数据源*/export default {data() {return {list:[{name:aaa,id:1,},{name:bbb,id:2,}]};}}/*list注入数据源头*/export default {data() {return {list:[{name:aaa,id:1,},{name:bbb,id:2,}]};}}它们的…

LeetCode MySQL 1468. 计算税后工资

文章目录1. 题目2. 解题1. 题目 Salaries 表&#xff1a; ------------------------ | Column Name | Type | ------------------------ | company_id | int | | employee_id | int | | employee_name | varchar | | salary | int | ----------…

ETL详解

ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程&#xff0c;目的是将企业中的分散、零乱、标准不统一的数据整合到一起&#xff0c;为企业的决策提供分析依据。 ETL是BI项目重要的一个环节。 通常情况下&#xff0c;在BI项目中ETL会花掉整个项目至少1/3的时…

博客园

为更好的分享本人的博客&#xff0c;本人在博客园地址&#xff1a;http://www.cnblogs.com/blogyuan/&#xff0c;里面也有博文&#xff0c;本博客将不定期将两个博客上的博文同步&#xff0c;欢迎转载&#xff01; 转载于:https://www.cnblogs.com/blogyuan/archive/2012/11/0…

LeetCode MySQL 1421. 净现值查询

文章目录1. 题目2. 解题1. 题目 表: NPV ------------------------ | Column Name | Type | ------------------------ | id | int | | year | int | | npv | int | ------------------------ (id, year) 是该表主键. 该表有…

apache大师+伪静态_Apache开启伪静态示例

Apache开启伪静态示例环境&#xff1a;系统 WindowsApache 2.2加载Rewrite模块&#xff1a;在conf目录下httpd.conf中找到LoadModule rewrite_module modules/mod_rewrite.so这句&#xff0c;去掉前边的注释符号“#”&#xff0c;或添加这句。允许在任何目录中使用“.htaccess”…

从入门到深入Fiddler 2 (二)

AutoResponder 快速引用 今天我们来看一下Fiddler的AutoResponder选项卡的强大功能。 Fiddler的AutoResponder 选项卡允许你使用本地硬盘的文件来作为返回内容&#xff0c;而不是把请求发往服务器。 创建AutoResponder 规则。 使用AutoResponder选项卡&#xff0c;你可以创建一…

探索性数据分析EDA及数据分析图表的选择

文章目录一、探索性数据分析EDA二、数据分析图表的选择一、探索性数据分析EDA 探索性数据分析(Exploratory Data Analysis&#xff0c;简称EDA)&#xff0c;指对数据分析的过程中尽量不加入先验假设&#xff0c;而是通过作图表和统计等方式来探索数据结构和规律。 在EDA中你可…

LeetCode MySQL 608. 树节点

文章目录1. 题目2. 解题1. 题目 给定一个表 tree&#xff0c;id 是树节点的编号&#xff0c; p_id 是它父节点的 id 。 ---------- | id | p_id | ---------- | 1 | null | | 2 | 1 | | 3 | 1 | | 4 | 2 | | 5 | 2 | ---------- 树中每个节点属于以下三种类…