poj 3180 有向图的强连通分量 模板

电源完整性之仿真设计原理 电源完整性(Power Integrity),简称为PI,也就是大家平常听说的PI。PCB板上的电源设计也是非常重要的,不当的设计也会引起很重要的影响。所以电源完整性PI和信号完整性SI,是我们互连设计人员应该同等重视的问题。今天整理本人接触的电源完整性PI的一些原理,从不的角度去看PI,会有不同的理解,下面开始喽!!! 提到互连的电源设计,可能首先想到的电源分配网络(Power Distribution Nets),因为互连电源会有许多种,直流DC和交流AC,还有不同的电压调节模块(VRM)与不同的负载端 阅读详情

链接

http://poj.org/problem?id=3180

解析


找有多少个强连通分量中点的个数大于1,将强连通分量染色,染色为第几个强连通分量。然后计算同一个强连通分量的点的个数。


代码

#include <iostream>
#include <cstdio>
#include <cstring>
#include <queue>
#include <algorithm>
#include <map>
#include <vector>
#include <stack>
#include <cmath>
using namespace std;
const int inf=0x3f3f3f3f;
const int maxn = 10000+100;
typedef long long LL;

int dfn[maxn], low[maxn], ans[maxn];
stack<int>s;
int scc_cnt;
int sccno[maxn];
int dfs_clock;
vector<int>g[maxn];

void init() {
    scc_cnt = 0;
    dfs_clock = 0;
    while (!s.empty())
        s.pop();
    for (int i=0; i<maxn; i++)
        g[i].clear(), dfn[i] = 0, low[i] = 0, sccno[i]=0;
}

void tarjan(int u) {
    dfn[u] = low[u] = ++dfs_clock;
    s.push(u);
    for (int i=0; i<g[u].size(); i++) {
        int v = g[u][i];
        if (!dfn[v]) {
            tarjan(v);
            low[u] = min(low[u], low[v]);
        }
        else if (!sccno[v])  
            low[u] = min(dfn[v], low[u]); 
    }
    if (dfn[u] == low[u]) {
        scc_cnt++;
        for (;;) {
            int x = s.top();
            s.pop();
            sccno[x] = scc_cnt;
            if (x == u)
                break;
        }
    }
}


int main()
{
    int n, m;
    while (scanf("%d%d", &n, &m)!=EOF) {
        init();
        memset(ans, 0, sizeof(ans));
        for (int i=0; i<m; i++) {
            int u, v;
            scanf("%d%d", &u, &v);
            g[u].push_back(v);
        }
        for (int i=1; i<=n; i++) {
            if (!dfn[i])
                tarjan(i);
        }
        for (int i=1; i<=n; i++)
            ans[sccno[i]]++;
        int res=0;
        for (int i=1; i<=scc_cnt; i++) 
            if (ans[i] > 1)
            res++;
        printf("%d\n", res);
    }
    return 0;
}
RAP BDL 里的 field ( readonly ) 到底控制了什么?——从语法到运行时的全景解析 RAP行为定义中的只读字段控制 摘要:该代码片段展示的是RAP(ABAP RESTful Application Programming)行为定义语言(BDL)中的字段控制语法,用于声明业务对象中需由框架自动维护的只读字段。field ( readonly )语句将订单ID和审计字段(CreatedBy/CreatedAt等)标记为只读,确保这些字段在更新阶段不可修改。在managed场景下,RAP框架会自动处理这些行政性数据的写入:创建时填充创建信息,更新时刷新变更记录,并利用LocalLastChang 阅读详情

相关推荐

大模型量化技术全解析:从INT8到GPTQ/AWQ,降低部署成本实战指南

模型量化是一种通过降低神经网络权重和激活值的数据精度(如从FP16降至INT8/INT4),从而大幅减少模型内存占用和计算开销的核心模型压缩技术。其原理基于线性变换,将高精度浮点数映射到低精度整数表示,在硬件层面能利用专用低精度计算单元实现显著加速。这项技术的核心价值在于解决了大模型(如千亿参数LLM)部署时面临的高昂显存成本和推理延迟问题,使其能在消费级GPU和边缘设备上高效运行。当前,后训练量化(PTQ)因其无需重新训练的特性成为主流,衍生出GPTQ、AWQ、SmoothQuant等多种方法,广泛应用于

weixin_33804582的博客 631

poj3180 强连通

题意:给定一张 n 点 m 边的有向图,问有多少个强连通分量点数大于等于2 。 题意看懂基本就没有问题了。 1 #include<stdio.h> 2 #include<string.h> 3 #include<stack> 4 #include<queue> 5 using namespace std; 6 ...

weixin_33994444的博客 146

单片机:实现MPU6050的卡尔曼滤波算法(附完整源码)

单片机:实现MPU6050的卡尔曼滤波算法(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 798

POJ 3180

The Cow Prom Time Limit:1000MS Memory Limit:65536K Total Submissions:1132 Accepted:713 Description The N (2 <= N <= 10,000) cows are so excited: it's prom nig...

weixin_30621919的博客 263

手把手教你学Simulink——基于Simulink的模糊自适应PI调节FOC电流环

本文提出基于模糊自适应PI控制的FOC电流环优化方案,针对传统PI控制参数固化、抗扰性差等问题,通过模糊逻辑在线调整PI参数。方案采用双输入(电流误差及变化率)和三输出(ΔKp/ΔKi/PI调节)结构,实现动态响应时间<30μs(提升38%)、超调<5%(降低71%)、参数摄动下误差<±0.4A(精度提升73%)。详细介绍了Simulink建模步骤,包括模糊规则设计(7语言变量、49条规则)、隶属度函数配置及自适应PI实现逻辑,并提供实机部署建议。仿真结果表明,该方法显著提升系统鲁棒性,特

MHD0815的博客 79

Taro React组件使用(5) —— RuiPasswordInput 密码输入框显示隐藏和清空

初始化时,需要将传入的 value 赋值给当前组件的 value, 不能直接修改 props 的 value;在组件内输出组件内的变量时,最好先判断输出函数是否定义,再输出,否则很容易引起报错。

止于至善 891

poj 3180 The Cow Prom 强连通分量tarjan

题目链接:http://poj.org/problem?id=3180 题意:有N头奶牛,和M个绳索。每个绳索从一头奶牛处发出,射向另一头奶牛。现在奶牛们想要跳舞,如果沿着射向它的绳索往回找,找到另一头牛,并如此找下去,最后能找到自己发出的绳索,那么这头奶牛就跳舞成功了,并且在寻找过程中,串起来的这些奶牛属于同一个集合。问最后这M个绳索连出了几个集合? 就是求元素大于1的强连通分量数,

弱菜zc 735

使用FPGA实现MIPI DSI接口

通过使用FPGA,我们可以实现MIPI DSI接口,并在FPGA上生成相应的时序和电平转换电路。通过使用FPGA,我们可以实现MIPI DSI接口,并在FPGA上生成相应的时序和电平转换电路。在本文中,我们将探讨如何使用FPGA实现MIPI DSI接口,并提供相应的源代码。根据不同的发送状态,我们设置相应的输出信号。请注意,这只是一个基本的示例,用于说明如何使用FPGA实现MIPI DSI接口的发送功能。请注意,这只是一个基本的示例,用于说明如何使用FPGA实现MIPI DSI接口的发送功能。

ZdqDeveloper的博客 1704

【POJ3180 奶牛舞会】

题目大意:   约翰的N(2≤N≤10000)只奶牛非常兴奋,因为这是舞会之夜!她们穿上礼服和新鞋子,别上鲜花,她们要表演圆舞。   只有奶牛才能表演这种圆舞.圆舞需要一些绳索和一个圆形的水池.奶牛们围在池边站好,顺时针顺序由1到N编号.每只奶牛都面对水池,这样她就能看到其他的每一只奶牛.为了跳这种圆舞,她们找了M(2≤M≤50000)条绳索.若干只奶牛的蹄上握着绳索的一端,绳索沿顺...

527

Open3D 计算点云基本特征

在 Open3D 中,可以通过 PCA(主成分分析)来求得点云的特征值和特征向量。然后基于这些特征值,进一步计算各种几何特征,如线性、平面性、球度等。

纵马踏花向自由 1606

哨兵1号回波数据(L0级)FDBAQ压缩算法详解

本文介绍哨兵1号用的FDBAQ算法,它实现非整数可变bit压缩,大部分数据仅需 3bit输出,少数高反射率数据需4bit输出,使得平均输出比特率刚超过3bit,比熵约束分块自适应量化 (ECBAQ)压缩算法所需的3.7bit更低。也就是说FDBAQ压缩完,除了要记录分块尺寸和各块的均值码(对应哨兵1号数据包里的THIDX)外,还需要记录霍夫曼码字的长度(对应哨兵1号数据包里的BRC)。唯一不同的就是量化后的编码规则使用了霍夫曼编码,相当于在传统的BAQ压缩流程的后面又加了一个步骤。

2303

POJ - 3180 The Cow Prom ( korasaju 算法模板)

The Cow Prom POJ - 3180 题意: 奶牛圆舞:N头牛,M条有向绳子,能组成几个歌舞团(团内奶牛数 n >= 2)?要求顺时针逆时针都能带动舞团内所有牛。 分析: 所谓能带动,就是舞团构成一个强连通分量,就是赤裸裸的SCC。 代码实现:很好的一道题,有利于理解 korasaju 算法 #include<iostream> #include<qu...

橘嘉禾 252

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

The Cow Prom(POJ 3180)---求强连通分量模板题

题目链接 题目描述 The N (2 <= N <= 10,000) cows are so excited: it’s prom night! They are dressed in their finest gowns, complete with corsages and new shoes. They know that tonight they will each tr...

weixin_43960284的博客 262

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

[POJ 3180] The Cow Prom Tarjan求强连通分量 模板题

题目传送门:【POJ 3180】 题目大意:给你 N 个点和 M 条边,求大小 >1 的强连通分量的个数。(省略多余描述)(2 ≤ N ≤ 10000,1 ≤ M ≤ 50000) 题目分析: 题目都描述到这么明显的地步了,直接用 Tarjan 或 Kosaraju 求强连通分量就可以了,求解的同时维护每个强连通分量的大小,最后输出大小 >1 的强连通分量的个数即可。

江澤妮可 559

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

强连通分量分解 -Popular Cows POJ - 2186 / The Cow Prom POJ - 3180 /Network of Schools POJ - 1236

                                                强连通分量分解 强连通分量: 图中一个具有以下性质的子图,子图图每一点之间都能直接或间接到达,再加入一点后不再满足上一条性质 解决办法:两遍dfs,第一遍dfs后序遍历,将点存入vs中,然后利用vs,从后往前是跑反向dfs,并且拓扑标号,同一强连通分量标一个号。 模板: int n,m; ve...

点滴 339

The Cow Prom POJ - 3180 (Tarjan求强连通分量)

The N (2 &lt;= N &lt;= 10,000) cows are so excited: it's prom night! They are dressed in their finest gowns, complete with corsages and new shoes. They know that tonight they will each try to perform ...

日月 191

POJ 3180 (Tarjan)

题意:给n给点,m条边,求连通分量&gt;=2的强联通分量数;思路:直接上模板即可scc_cnt为SCC的计数器,sccno[i]为i所在的SCC编号。#include &lt;iostream&gt; #include &lt;algorithm&gt; #include &lt;cstring&gt; #include &lt;cstdio&gt; #include &lt;vector&gt...

Avalon_cc的博客 346

POJ 3180 强联通分量

点击打开链接 题意:英语并没有过六级,出这么长的英文题真是没爱了......看看讨论竟然让我求强联通的节点数>=2的个数,为什么题目非要写的人类理解不了...... 思路:那还要什么思路啊,强联通模版敲完,找一下就行了#include #include #include #include #include #include using namespace std; typedef

Dan__ge的博客 912

The Cow Prom POJ - 3180(Tarjan)

The Cow Prom POJ - 3180   题意就是求强联通分量点数量大于等于2的个数。直接套Tarjan模板 #include<iostream> #include<cstring> #include<algorithm> #include<vector> #include<stack> using namespace std;...

qq_43560101的博客 147

POJ 3280 The Cow Prom (强连通分量)

http://poj.org/problem?id=3180 题意:n个点,m条边,求节点数大于1的强连通分量数。 强连通分量的模板题,只需要计数每个强连通分量的点数,找出大于1的即可。 #include&amp;lt;iostream&amp;gt; #include&amp;lt;cstdio&amp;gt; #include&amp;lt;stack&amp;gt; #include&amp;lt;algorithm&amp;gt;

sdxtcqs的博客 174

linux tree显示文件夹,Linux下的tree命令 --Linux下文件夹树查看

C&num;异常处理性能测试异常处理性能测试 using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq ...C&num;—打开文件一.打开图片 ps:必须先在pictureBox中导入一张图片 private void button4_Click(obje...

weixin_36370029的博客 220

【图论】强连通专题总结

强连通总结 定义:一个有向图中,一个图可以分成几个分支,每个分支的任意两个结点如果都有路径使得互相可达,那么称这个分支为强连通分支 现在要给一个有向图,求出强连通分支,可以利用Tarjan发明的算法 求出强连通分支之后,可以根据题目,把每个强连通分支进行缩点,缩点之后的图会变成一个有向无环图(DAG),就可以进行一些算法(如DP, 最短路,最小生成树之类的) 模板:

Remilia's 2598

图的最大独立集

相关链接: http://blog.youkuaiyun.com/whosemario/article/details/8513836之后在整理。

NLSQQ的博客 1739

哈密顿回路

哈密顿回路:通过图的每个节点一次。 存在哈密顿回路的图就是哈密顿图。 判定条件:图中任意两个不同的节点的度数之和大于等于n。 代码:求hamilton回路 void Hamilton(int ans[maxn], bool map[maxn][maxn], int n) {     int s=1, t;     int i, j;     int ansk = 2;     in

NLSQQ的博客 1348

最近公共祖先 LCA

一、基本算法        1、 Tarjan算法基于深度优先搜索的框架,对于新搜索到的一个节点,首先创建有这个节点构成的集合,再对当前节点的每一个子树进行搜索,每搜索完一个子树,则确定子树内的LCA询问都已解决。其他的LCA询问的结果必然在这个子树之外,这时把子树所形成的集合与当前节点的集合合并,并将当前节点设为这个集合的祖先。之后继续搜索下一棵子树。        2、伪代码:  

NLSQQ的博客 949
上一篇: hdu 4081 次小生成树
下一篇: hdu 3861 强量通分量+最小路径覆盖
nielaishan
博客等级 码龄11年 7粉丝 94原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值