hdu Rank of Tetris 并查集 + 拓扑排序

SRRC型号核准的模块豁免规则解析——如何利用完整型模块简化设备认证流程 本文详细解析了SRRC型号核准中模块豁免规则的应用,重点介绍了完整型模块的技术定义、豁免条件及实际应用场景。通过合理利用完整型模块,企业可显著简化设备认证流程,缩短上市周期并降低成本。文章还提供了模块选型指南和常见问题解决方案,帮助工程师高效应对SRRC认证挑战。 阅读详情

题意: 给出一些大小关系,问根据这些关系能不能确定排名,如果不能, 判断是信息不完全,还是信息冲突,

分析: 1,出现冲突的情况: 当且仅当图中存在环,才会出现冲突,如:a > b, b > c, c > a, 则是冲突, 这种情况可在拓扑排序时确定,下面简要说一下拓扑排序:

拓扑排序: 每次在有向图中找出一个入度为0的节点,加入队列,并删除该节点发出的所有边(在用队列实现的过程中,可直接把与之相连的节点的入度-1, 最后,如果还剩下节点未排序,则表示出现了环,因为环中没有节点入度为0.

2. 出现信息不完全的情况,如果某一时刻,有多个入度为0的点,那么信息肯定不完全,因为这样就没法确定这些入度为0的点之间的先后关系

3. 此题的难点在于如何处理相等的情况,这种情况不能用拓扑排序来处理,因为,如果把a==b==c处理成a>b>c的话,那么有可能出现e<a, e > b是正确的情况, 所以,正确的方法是把相等的节点用并查集处理成一个节点, 这样就能用拓扑排序解出此题了:

代码:

#include <cstdio>
#include <queue>
#include <vector>
#include <cstring>
using namespace std;
const int maxn = 1e5 + 10;
int fa[maxn], in[maxn], A[maxn], B[maxn], n, m, sum;
char op[maxn];
vector<int> G[maxn];

int findSet(int x)
{
    if (x != fa[x]) {
        fa[x] = findSet(fa[x]);
    }
    return fa[x];
}
void topSort()
{
    queue<int> Q;
    bool uncertain = false;
    for (int i = 0; i < n; i++) {
        if (in[i] == 0 && findSet(i) == i) Q.push(i);
    }
    while (!Q.empty())
    {
        if (Q.size() > 1) {
            uncertain = true;
        }
        int now = Q.front(); Q.pop();
        sum--;
        for (int i = 0; i < G[now].size(); i++) {
            if (--in[G[now][i]]==0) {
                Q.push(G[now][i]);
            }
        }
    }
    if (sum>0) puts("CONFLICT");
    else if(uncertain) puts("UNCERTAIN");
    else puts("OK");
}
int main()
{
 //   freopen("/Users/apple/Desktop/in.txt", "r", stdin);
    
    while (scanf("%d%d", &n, &m) != EOF)
    {
        for (int i = 0; i < n; i++) {
            fa[i] = i, in[i] = 0;
            G[i].clear();
        }
        sum = n;
        for (int i = 0; i < m; i++) {
            int a, b; char s[3]; scanf("%d%s%d", &a, s, &b);
            op[i] = s[0], A[i] = a, B[i] = b;
            if (s[0] == '=') {
                int fx = findSet(a), fy = findSet(b);
                if (fx != fy) {
                    fa[fx] = fy;
                    sum--;
                }
            }
        }
        for (int i = 0; i < m; i++) {
            if (op[i] == '=') continue;
            int a = findSet(A[i]), b = findSet(B[i]);
            if (op[i] == '>') {
                G[a].push_back(b);
                in[b]++;
            }
            else {
                G[b].push_back(a);
                in[a]++;
            }
        }
        topSort();
    }
    
    return 0;
}






 
CanOpen PDO映射实战:从原理到配置的完整指南 本文详细解析了CanOpen PDO映射的原理与配置流程,从基础通信机制到实战配置步骤,涵盖禁用PDO、清空映射、逐项映射和使能PDO等关键环节。特别针对西门子G120变频器、台达伺服和倍福CX控制器等不同厂商设备,提供了具体的配置技巧和常见问题排查指南,帮助工程师快速掌握多厂商设备间的PDO通信配置。 阅读详情

相关推荐

YOLOv8魔改网络后训练全零?别慌,关掉AMP混合精度训练试试

本文探讨了YOLOv8魔改网络后训练出现全零指标的问题,指出AMP混合精度训练与自定义网络结构的不兼容性。通过分析梯度消失现象和AMP工作原理,提供了关闭AMP、调整学习率等解决方案,并建议预防性开发实践以避免类似问题。

weixin_28338005的博客 321

HDU1811---Rank of Tetris (拓扑排序+并查集(好题))

题目来源:https://vjudge.net/problem/HDU-1811题意大致题意是经过m条信息能否得到全部的排名。若是不能,输出原因,冲突或者是不确定,当冲突和不确定都有时,输出冲突。思路感觉这道题最重要的是理解题意,理解‘=’的意思,比如1=2,那么题中有说明:如果两个人具有相同的Rating,那就按这几个人的RP从高到低来排。 这样是否就可以写成:2>1的形式了呢?答案是不能。

Crazy 340

基于FPGA进位链的TDC高精度延时链设计与实现

本文详细介绍了基于FPGA进位链的高精度TDC延时链设计与实现方法。通过利用FPGA的CARRY4硬件资源,构建了理论分辨率达13.25ps/级的延时链,并提供了Verilog代码实现、物理布局约束技巧以及温度补偿策略。文章还涵盖了标定方法、数据转换处理和系统验证方案,为激光测距、高能物理等需要精确时间测量的应用提供了实用解决方案。

weixin_28731223的博客 486

HDU1811 Rank of Tetris 拓扑+并查集

过的莫名其妙的一道题目,之前无限WA ,不知道改了什么地方就ac了 方法是拓扑+并查集  注意:如果信息中同时包含冲突且信息不完全,就输出"CONFLICT Rank of Tetris Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s

821

基于任务的后勤智能体:三段构建与演进设计探究

这是系统智能化的核心难点。例如,对于一个“加强连级滩头阵地防御”子任务,系统会根据防御时长、预期敌军攻击强度、地形等因素,计算出所需的弹药(不同弹种的具体数量)、构筑工事的器材、人员的给养和饮水量、以及医疗救护的药品和血包数量。首先进行分词、词性标注等基础处理,然后利用在军事语料库上训练的命名实体识别(NER)模型,提取出关键实体,如任务类型(“夺控作战”)、作战对象(“Y岛”)、时间约束(“D日H时”、“24小时内”)、成功标准(“建立稳固滩头阵地”)、保障重点(“弹药充足”、“及时救治”)等。

weixin_49042442的博客 1088

EXCEL实现分层自定义比例随机抽样(图+文教程)

EXCEL实现分层自定义比例随机抽样(图+文教程) 单一字段分层自定义比例随机抽样 多字段分层自定义比例随机抽样 单一字段分层自定义比例随机抽样 首先数据源如下,我们想随机抽张三的金额数据10%、李四金额20%、王五5%、哈哈15%、李六10% 首先第一步,添加辅助列,随机数 =RAND() 对数据进行高级排序 升序、降序都可以 添加辅助列...

可乐联盟 2万+

HDU-1811-Rank of Tetris

HDU-1811-Rank of Tetris 自从Lele开发了Rating系统,他的Tetris事业更是如虎添翼,不久他遍把这个游戏推向了全球。 为了更好的符合那些爱好者的喜好,Lele又想了一个新点子:他将制作一个全球Tetris高手排行榜,定时更新,名堂要比福布斯富豪榜还响。关于如何排名,这个不用说都知道是根据Rating从高到低来排,如果两个人具有相同的Rating,那就按这几个人...

qq_43750980的博客 358

Docker部署Nextcloud私有云:MariaDB、OnlyOffice与HTTPS全栈实践

Nextcloud作为主流开源私有云平台,其稳定部署依赖Docker容器化、MariaDB数据库优化、OnlyOffice在线协作集成及HTTPS安全加固四大核心技术。理解Docker Compose服务健康检查机制与依赖等待原理,可避免因启动时序导致的500/404错误;掌握MariaDB字符集配置与InnoDB参数调优,是保障Nextcloud全文搜索与大文件上传可靠性的底层基础;而OnlyOffice的JWT兼容性控制与Nginx路径重写规则,则直接决定文档协同功能是否可用。在家庭NAS、边缘服务器或

weixin_30328063的博客 514

HDU 1811 Rank of Tetris(拓扑排序+并查集)

链接: http://acm.hdu.edu.cn/showproblem.php?pid=1811 题目: Problem Description 自从Lele开发了Rating系统,他的Tetris事业更是如虎添翼,不久他遍把这个游戏推向了全球。 为了更好的符合那些爱好者的喜好,Lele又想了一个新点子:他将制作一个全球Tetris高手排行榜,定时更新,名

D_Double's Journey 3185

【100%通过率】2023华为od机试C卷【电脑病毒感染】C语言 实现

一个局域网内有很多台电脑,分别标注为 0 ~ N-1 的数字。相连接的电脑距离不一样,所以感染时间不一样,感染时间用t 表示。其中网络内一台电脑被病毒感染,求其感染网络内所有的电脑最少需要多长时间。如果最后有电脑不会感染,则返回-1.

MISAYAONE的博客 1042

ABAP CDS 货币与计量单位换算全攻略:CURRENCY_CONVERSION、UNIT_CONVERSION 与 DECIMAL_SHIFT 的工程化实践

本文介绍了SAP ABAP CDS中三种单位/货币换算函数(UNIT_CONVERSION、CURRENCY_CONVERSION、DECIMAL_SHIFT)的实战应用。重点包括:各函数的职责边界与适用场景,参数配置与精度控制策略,以及基于标准表(T006、TCUR*等)的换算规则来源。文章提供可运行的CDS示例,涵盖单位换算(如MI转KM)、货币汇率转换(含小数位处理)及纯小数位调整等典型场景,并强调生产环境中需注意的精度差异与审计风险控制。适用于企业报表、成本核算等需要统一口径的业务场景。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1554

HDU1811Rank of Tetris(并查集+拓扑排序)

Rank of Tetris Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 5683    Accepted Submission(s): 1622 Problem Description 自从Lele开发了Rating

青山绿水之辈 专栏 1193

利用插件扩展 Qt 应用程序

不仅 Qt 本身可以通过插件进行扩展,而且 Qt 应用程序也可以通过插件来扩展,这需要应用程序使用 `QPluginLoader` 检测和加载插件。

青春不老,奋斗不止! 1万+

HDU1811 Rank of Tetris【拓扑排序+并查集】

Rank of Tetris Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 14982 Accepted Submission(s): 4227 Problem Description 自从Lele开发了Rating系统,他的Te...

海岛Blog 637

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

hdu 1811 Rank of Tetris 并查集+拓扑排序★★

Problem Description 自从Lele开发了Rating系统,他的Tetris事业更是如虎添翼,不久他遍把这个游戏推向了全球。 为了更好的符合那些爱好者的喜好,Lele又想了一个新点子:他将制作一个全球Tetris高手排行榜,定时更新,名堂要比福布斯富豪榜还响。关于如何排名,这个不用说都知道是根据Rating从高到低来排,如果两个人具有相同的Rating,那就按这几个人的

爱梦者的心之旅 326

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

HDU 1811 Rank of Tetris 【并查集+拓扑排序】

Rank of Tetris Time Limit : 1000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Submission(s) : 23   Accepted Submission(s) : 11 Font: Times New Roman | Verdana | Georgi

Puya的博客 448

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

HDU 1811 Rank of Tetris (并查集+拓扑排序)

Rank of Tetris Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 12637    Accepted Submission(s): 3595   Problem Description 自从Lele开发了Rating系统...

pxlsdz的博客 1012

[HDU 1811]Rank of Tetris[拓扑排序][并查集]

题目链接:[HDU 1811]Rank of Tetris[拓扑排序][并查集] 题意分析: 给出的关系中是否存在矛盾,是否无法确定关系?两者都有,输出"矛盾"即可。 解题思路: 排名大小关系,很容易想到拓扑排序。问题在于,什么情况下是不确定的?当处理队列中有多个点时,就是不能确定的情况,因为后继操作可以选择多个不同的开始。需要注意的是本题存在等于的情况,这时需要将相等的两者合并,合并之后

闲停 518

【HDU - 1811 Rank of Tetris】 并查集+拓扑排序

B - Rank of Tetris 自从Lele开发了Rating系统,他的Tetris事业更是如虎添翼,不久他遍把这个游戏推向了全球。 为了更好的符合那些爱好者的喜好,Lele又想了一个新点子:他将制作一个全球Tetris高手排行榜,定时更新,名堂要比福布斯富豪榜还响。关于如何排名,这个不用说都知道是根据Rating从高到低来排,如果两个人具有相同的Rating,那就按这几个人

于心有愧丶 333

【HDU 1811 Rank of Tetris】 并查集+拓扑排序

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1811 题目大意:给你一些ranking的比值关系,然后利用这些比值关系进行排名,让你确定是否能制作出排行榜,是的话就输出"OK",否则就请你判断出错的原因,到底是因为信息不完全(输出"UNCERTAIN"),还是因为这些信息中包含冲突(输出"CONFLICT")。如果信息中同时包含冲...

baidui8622的博客 128

HDU Problem 1811 Rank of Tetris【拓扑排序+并查集】

Rank of Tetris Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 8484    Accepted Submission(s): 2429 Problem Description 自从Lele开发了Ra

博客已搬迁到http://www.cnblogs.com/cniwoq/ 764

HDU 1811 Rank of Tetris 【拓扑排序 + 并查集】

Rank of Tetris Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 11156    Accepted Submission(s): 3192 Problem Description 自从Lele开发了Ratin

Head_Hard的博客 212

hdu 1811 Rank of Tetris 拓扑排序+并查集

题目链接 题意:给出n个点,m个关系。判断是否能确定独一无二的先后顺序。 先用并查集把相等的点合并成一个点。然后用拓扑排序判断是否有环,是否同时出现多个入度为0的点。 #include #include #include #include #define N 11000 #define M 22000 using namespace std; struct node { int

弱菜zc 557

hdu 1811 Rank of Tetris - 拓扑排序 - 并查集

自从Lele开发了Rating系统,他的Tetris事业更是如虎添翼,不久他遍把这个游戏推向了全球。为了更好的符合那些爱好者的喜好,Lele又想了一个新点子:他将制作一个全球Tetris高手排行榜,定时更新,名堂要比福布斯富豪榜还响。关于如何排名,这个不用说都知道是根据Rating从高到低来排,如果两个人具有相同的Rating,那就按这几个人的RP从高到低来排。终于,Lele要开始...

adx33526的博客 176

HDU 1811 Rank of Tetris (并查集 + 拓扑排序)

HDU - 1811 同时复习了一下二者 这道题需要分析的情况比较复杂了 1, 如何处理等于号 把所有相等的点利用并查集缩成一个点 2, 如何判定UNCERTAIN 当队列中同时存在两及以上个点时,此时无法判断二者哪个更厉害 3, 如何判定OK / CONFLICT 这个和普通的toposort一样了,只需要判断读出了多少个点即可 #include&lt;iostream&gt...

STOP 243

HDU 1811 Rank of Tetris(并查集+拓扑排序)

Rank of Tetris Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Practice HDU 1811 Description 自从Lele开发了Rating系统,他的Tetris事业更是如虎添翼,不久他遍把这个游戏推向

叶孤心的专栏 640
上一篇: hdu A Bug's Life 并查集 关系标记
下一篇: hdu 1075 What Are You Talking About 字典树 或 stl map
吃掉吃掉
博客等级 码龄12年 7粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值