BZOJ1064[NOI2008] 假面舞会

【BZOJ 1064】【NOI 2008】假面舞会 Description 一年一度的假面舞会又开始了,栋栋也兴致勃勃的参加了今年的舞会。今年的面具都是主办方特别定制的。每个参加舞会的人都可以在入场时选择一 个自己喜欢的面具。每个面具都有一个编号,主办方会把此编号告诉拿该面具的人。为了使舞会更有神秘感,主办方把面具分为k (k≥3)类,并使用特殊的技术将每个面具的编号标在了面具上,只有戴第i 类面具的人才能看到戴第i+1 类面具的人的编号,戴第k 阅读详情

原题链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1064

假面舞会

Description

一年一度的假面舞会又开始了,栋栋也兴致勃勃的参加了今年的舞会。今年的面具都是主办方特别定制的。每个参加舞会的人都可以在入场时选择一 个自己喜欢的面具。每个面具都有一个编号,主办方会把此编号告诉拿该面具的人。为了使舞会更有神秘感,主办方把面具分为k (k≥3)类,并使用特殊的技术将每个面具的编号标在了面具上,只有戴第i 类面具的人才能看到戴第i+1 类面具的人的编号,戴第k 类面具的人能看到戴第1 类面具的人的编号。 参加舞会的人并不知道有多少类面具,但是栋栋对此却特别好奇,他想自己算出有多少类面具,于是他开始在人群中收集信息。 栋栋收集的信息都是戴第几号面具的人看到了第几号面具的编号。如戴第2号面具的人看到了第5 号面具的编号。栋栋自己也会看到一些编号,他也会根据自己的面具编号把信息补充进去。由于并不是每个人都能记住自己所看到的全部编号,因此,栋栋收集的信 息不能保证其完整性。现在请你计算,按照栋栋目前得到的信息,至多和至少有多少类面具。由于主办方已经声明了k≥3,所以你必须将这条信息也考虑进去。

Input

第一行包含两个整数n, m,用一个空格分隔,n 表示主办方总共准备了多少个面具,m 表示栋栋收集了多少条信息。接下来m 行,每行为两个用空格分开的整数a, b,表示戴第a 号面具的人看到了第b 号面具的编号。相同的数对a, b 在输入文件中可能出现多次。

Output

包含两个数,第一个数为最大可能的面具类数,第二个数为最小可能的面具类数。如果无法将所有的面具分为至少3 类,使得这些信息都满足,则认为栋栋收集的信息有错误,输出两个-1。

Sample Input
【输入样例一】

6 5
1 2
2 3
3 4
4 1
3 5

【输入样例二】

3 3
1 2
2 1
2 3

Sample Output
【输出样例一】

4 4

【输出样例二】

-1 -1

HINT

100%的数据,满足n ≤ 100000, m ≤ 1000000。

题解

如果 A A 看见了B,那么就连 A→B A → B 的边,这样构完图了以后,最直观的感觉就是要找环,对于一个 10 10 元环,所有面具可以被分为 2,5,10 2 , 5 , 10 种,那么最大的种数就是所有环长度的 gcd g c d 了。

然而事情没有那么简单。

可以发现有一些不合法情况:

1.png

还有一些跟他们长得很像,但是合法的情况:

3.png

上面的情况都是没有环的,我们如何处理掉不合法情况并将合法情况纳入统计范围呢???

不妨将原图中存在的边权值设为 1 1 ,反向边权值设为−1,这样 dfs d f s 出环的时候两种不合法的情况环的权值为 1,2 1 , 2 ,合法情况的权值都是大于等于 3 3 的,取gcd的时候自然而然就将这些情况判掉了。

如果只有链的话,最大答案自然就是所有链的长度和,最小答案为 3 3 。

代码
#include<bits/stdc++.h>
using namespace std;
const int M=1e5+5;
struct sd{int to,val;};
vector<sd>mmp[M];
int dfn[M],ans,n,m,mind,maxd,len;
bool vis[M];
void dfs(int v,int val)
{
    if(vis[v]){ans=__gcd(ans,abs(val-dfn[v]));return;}
    vis[v]=1,dfn[v]=val,maxd=max(maxd,val),mind=min(mind,val);
    for(int i=mmp[v].size()-1;i>=0;--i)dfs(mmp[v][i].to,val+mmp[v][i].val);
}
void in(){int a,b;scanf("%d%d",&n,&m);for(int i=1;i<=m;++i)scanf("%d%d",&a,&b),mmp[a].push_back((sd){b,1}),mmp[b].push_back((sd){a,-1});}
void ac()
{
    for(int i=1;i<=n;++i)if(!vis[i])mind=maxd=0,dfs(i,0),len+=maxd-mind+1;
    if(!ans){len<3?puts("-1 -1"):printf("%d 3",len);return;}
    if(ans<3)puts("-1 -1"),exit(0);
    printf("%d",ans);for(int i=3;i<=ans;++i)if(ans%i==0)printf(" %d",i),exit(0);
}
int main(){in();ac();}
本地化部署dify,使用Database插件实现dify直连数据库报错No module named ‘MySQLdb‘解决方案 网上查阅各种资料,有说修改/dify-main/docker/volumes/sandbox/dependencies目录下的python-requirements.txt文件,添加了如下两行,试验后无效。,看到有人是其他报错,但是URI配置如下(在mysql后面加了pymysql),尝试后果真成功了。按照系统提示设置完数据库URI后保存出现错误。在工具市场查询Database,点击后进行授权。最后在该插件的项目地址获得灵感。 阅读详情

相关推荐

Hadoop与Kafka集群部署与优化实践指南

分布式系统是现代大数据处理的核心架构,其中Hadoop作为分布式存储与计算框架,Kafka作为分布式消息队列系统,共同构成了实时数据处理的基础设施。通过HDFS实现海量数据存储,结合YARN进行资源调度,而Kafka则保障了数据流的实时传输与高吞吐。这种技术组合在电商用户行为分析、物联网数据采集等场景中表现卓越。部署过程中需关注硬件资源配置、关键参数调优以及集群监控方案,例如通过调整HDFS块大小和Kafka partition数量来优化性能。合理运用Flume、Spark Streaming等工具可实现系

weixin_29061997的博客 362

[NOI2008] 假面舞会

[NOI2008] 假面舞会 题目大意:有\(n\)个人,每个人都有一个标号,每种标号的人只能看见下一个标号的人(最后一种标号看见第一种),给定\(m\)个关系,求这个关系是否合法以及合法情况下最大和最小的方案数,要求方案数不能小于\(3\)。\(n⩽10^5\),$m⩽10^6 $ Solution 用染色的思想;关系构成有向图,图的样式要么是环形结构,要么是树形结构 考虑一条链,可以任意...

weixin_30296405的博客 135

本地大模型部署实战:LM Studio与Ollama的易用性与性能深度评测

本文对两款主流本地大模型部署工具LM Studio和Ollama进行了深度评测。LM Studio凭借图形化界面和内置模型库,为新手提供了开箱即用的便捷体验,并支持OpenAI兼容API,易于生态集成。Ollama则以命令行驱动,轻量高效,凭借其原生API和Modelfile自定义能力,在自动化集成和性能方面表现突出。文章从易用性、模型生态、性能及扩展性多维度对比,帮助用户根据自身技术背景和使用场景做出最佳选择。

weixin_29039773的博客 529

【BZOJ1064】【NOI2008】假面舞会

原题链接 1064: [Noi2008]假面舞会Time Limit: 10 Sec Memory Limit: 162 MB Submit: 1239 Solved: 612 [Submit][Status][Discuss] Description一年一度的假面舞会又开始了,栋栋也兴致勃勃的参加了今年的舞会。今年的面具都是主办方特别定制的。每个参加舞会的人都可以在入场时选择一 个自己

function2的博客 478

point transformer v3结构

分割结构: embedding->enc->dec embedding->enc0->enc1->enc2->enc3->enc4->dec3->dec2->dec1->dec0 embedding ->block0->block1 ->dow->block0->block1 ->dow->block0->block1 ->dow->block0->block1-&gt

weixin_45625419的博客 582

风电功率预测项目技术白皮书:短期、超短期、中长期全尺度算法详解与工程落地

聚焦风电功率预测的时间尺度与算法:短期(0~72h)以XGBoost/LightGBM/CatBoost及深度学习为主,超短期(0~4h)采用ARMA+LSTM,中长期用LightGBM等,并涵盖概率预测、多气象源融合、AI大模型+物理模型混合策略、极端天气应对及工程运维要点。

算法工程师 326

【NOI2008】假面舞会(图论,搜索)

题面Description一年一度的假面舞会又开始了,栋栋也兴致勃勃的参加了今年的舞会。今年的面具都是主办方特别定制的。每个参加舞会的人都可以在入场时选择一个自己喜欢的面 具。每个面具都有一个编号,主办方会把此编号告诉拿该面具的人。为了使舞会更有神秘感,主办方把面具分为k (k≥3)类,并使用特殊的技术将每个面具的编号标在了面具上,只有戴第i 类面具的人才能看到戴第i+1 类面具的人的编号,戴第k

小蒟蒻yyb的博客 470

微信支付接口「系统繁忙 SYSTEM_ERROR」/「文件不存在」报错分析与解决方案 接口开发实现SDK

微信支付的“平台证书模式”只有5年的有效期,过期后微信支付将不再签发新的平台证书,转而要求开发者使用“微信支付公钥”来处理敏感信息加密及回调签名验证。然而,由于以下几点原因,许多开发者在调用 获取平台证书。尽管微信支付在技术迭代上有其必要性,但报错设计过于不友好。诸如“系统繁忙”这样的提示很难直接关联到平台证书失效或公钥切换问题。这样的信息表达,开发者不仅看不懂,还需要花费大量时间分析排查,非常影响效率。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 789

bzoj 1064 假面舞会

这是一道不错的题,膜拜题解 一个很巧妙的处理:搜索拓扑图最长链时,设反向边的长度是-1,那么任选一个节点开始dp就能获得正确答案。  #include#include#include#include#include#define md#define ll long long#define inf (int) 1e9#define eps 1e-8#define N 100010#define

heheda_is_an_OIer的博客 472

基于情感分析+聚类分析+LDA主题分析对服装产品类的消费者评论分析

本研究旨在通过对服装产品类的消费者评论进行综合分析,为企业提供更全面、更深入的市场洞察和决策支持。同时,本研究的方法和结果也可以为其他领域的消费者评论分析提供借鉴和参考。

m0_64336780的博客 2万+

淘宝滑块验证码破解:Python模拟鼠标轨迹过关详解

本文全面解析了淘宝滑块验证码的破解流程,从机制分析、图像处理、轨迹模拟到自动化实现,提供了完整的Python解决方案。随着2026年风控技术的升级,单纯依靠轨迹模拟已经难以达到高通过率,未来趋势是结合强化学习生成更自然的轨迹,并利用深度神经网络进行端到端的验证码绕过。此外,各大平台正逐步推广"无感验证"和"行为式验证码",将验证融入到用户正常操作中,这对爬虫技术提出了更高的挑战。技术本身是中立的,关键在于使用者的目的。希望本文能帮助开发者更好地理解验证码对抗技术,从而设计出更安全的防御系统。

2201_76125261的博客 97

【BZOJ 1064】 [Noi2008]假面舞会

非常巧妙的图论~ 详细题解~

Regina8023 1438

Hermes 教程 05:多 Agent 编排

本文介绍了Hermes v0.13.0中的四种多Agent协作模式:1)delegate_task快速子任务模式,适合2-3个独立并行任务;2)spawn子Agent模式,实现零成本并行多步流水线;3)tmux交互子Agent模式,支持长期自主任务;4)全新Kanban看板系统,提供持久化AI团队协作框架。各模式在隔离级别、时长、工具访问和适用场景上存在差异,其中spawn模式通过独立上下文窗口实现零上下文成本。文章详细说明了每种模式的使用方法、限制条件和典型应用场景,并提供了具体代码示例和可视化流程图。K

程序猿_三产 537

BZOJ1064【NOI2008】【假面舞会】

BZOJ1064【NOI2008】【假面舞会】Description一年一度的假面舞会又开始了,栋栋也兴致勃勃的参加了今年的舞会。今年的面具都是主办方特别定制的。每个参加舞会的人都可以在入场时选择一 个自己喜欢的面具。每个面具都有一个编号,主办方会把此编号告诉拿该面具的人。为了使舞会更有神秘感,主办方把面具分为k (k≥3)类,并使用特殊的技术将每个面具的编号标在了面具上,只有戴第i 类面具的人才...

ykhrg的博客 428

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

【BZOJ1064】[Noi2008]假面舞会 DFS树

【BZOJ1064】[Noi2008]假面舞会 Description 一年一度的假面舞会又开始了,栋栋也兴致勃勃的参加了今年的舞会。今年的面具都是主办方特别定制的。每个参加舞会的人都可以在入场时选择一 个自己喜欢的面具。每个面具都有一个编号,主办方会把此编号告诉拿该面具的人。为了使舞会更有神秘感,主办方把面具分为k (k≥3)类,并使用特殊的技术将每个面具的编号标在了面具上,只有戴第i ...

weixin_30737433的博客 91

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

[bzoj1064][NOI2008]假面舞会

1064: [Noi2008]假面舞会Time Limit: 10 Sec Memory Limit: 162 MB Submit: 1580 Solved: 768 [Submit][Status][Discuss] Description一年一度的假面舞会又开始了,栋栋也兴致勃勃的参加了今年的舞会。今年的面具都是主办方特别定制的。每个参加舞会的人都可以在入场时选择一 个自己喜欢的面具。

Vampire 737

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

BZOJ 1064 NOI2008 假面舞会

1064: [Noi2008]假面舞会 Time Limit:10 SecMemory Limit:162 MBSubmit:2284Solved:1101[Submit][Status][Discuss] Description 一年一度的假面舞会又开始了,栋栋也兴致勃勃的参加了今年的舞会。今年的面具都是主办方特别定制的。每个参加舞会的人都可以在入场时选择...

157

【bzoj1064】【NOI2008】【假面舞会】【dfs】

Description 一年一度的假面舞会又开始了,栋栋也兴致勃勃的参加了今年的舞会。今年的面具都是主办方特别定制的。每个参加舞会的人都可以在入场时选择一 个自己喜欢的面具。每个面具都有一个编号,主办方会把此编号告诉拿该面具的人。为了使舞会更有神秘感,主办方把面具分为k (k≥3)类,并使用特殊的技术将每个面具的编号标在了面具上,只有戴第i 类面具的人才能看到戴第i+1 类面具的人的编号

sunshinezff的专栏 2737

【bzoj1064】 NOI2008 假面舞会 图论好题

膜太神计划正式启动,这道题不是平常的图论傻逼题,感觉还是值得一做的。第一眼感觉可能要用最短路什么的,然后想一想没有办法处理,那么我们考虑两种情况:当图中有环时,k必定是环长度的约数,那么答案就是全部环的最大公约数和最小的大于3的公约数,若最大公约数小于3则无解;当图中没有环时,k最大就是所有联通块最长链的和,这里的联通块是指把边建成双向后的联通块,最小就是3。 还有一个小问题,就是A->B,C-

Oxer的专栏 1654

[BZOJ1064][Noi2008]假面舞会

OLZ BYVOID神犇题解: https://www.byvoid.com/blog/noi-2008-party/顶点标号的技巧很巧妙OLZ

Zvezda_的博客 1156

BZOJ1064: [Noi2008]假面舞会

Description 一年一度的假面舞会又开始了,栋栋也兴致勃勃的参加了今年的舞会。今年的面具都是主办方特别定制的。每个参加舞会的人都可以在入场时选择一 个自己喜欢的面具。每个面具都有一个编号,主办方会把此编号告诉拿该面具的人。为了使舞会更有神秘感,主办方把面具分为k (k≥3)类,并使用特殊的技术将每个面具的编号标在了面具上,只有戴第i 类面具的人才能看到戴第i+1 类面具的人的编号

wxh010910 594

[bzoj1064][Noi2008]假面舞会

题意:有n个人,每个人都有一个标号,每种标号的人只能看见下一个标号的人(最后一种标号看见第一种),给定m个关系,求这个关系是否合法以及合法情况下最大和最小的方案数。$n\leqslant 10^{5},m\leqslant 10^{6}$ 题解:如果有环的话,答案最大就是环的长度的gcd,最小是gcd的最小的大于2的因数。如果没有环的话,答案是最长链长度之和,最小是3.然后我们直接暴力染色就好啦...

weixin_30245867的博客 170

bzoj 1064 noi2008 假面舞会题解

莫名其妙的变成了我们的noip互测题... 其实这题思想还是比较简单的,只是分类不好分而已 其实就是一个dfs的事 首先,非常明显,原题目中的所有关系可以抽象成一个图(这是...显而易见的吧...) 接下来,我们仅需在图上讨论即可 当然,这个图有几个部分组成其实并没有那么重要,毕竟,这些部分基本是互不干扰的。 所以接下来我们只需要对每一个块分别处理即可 我们来分类: 首先,如果所有...

lleozhang的博客 250

【BZOJ1064 】[NOI2008] 假面舞会(图上DFS)

点此看题面 大致题意:有k种面具(k是一个未知数且k≥3,每种面具可能有多个),已知戴第i种面具的人能看到第i+1种面具上的编号,特殊的,戴第k种面具的人能看到第1种面具上的编号,现在用x和y来表示戴着第x号的面具的人能看到第y号面具的编号,给你m组x和y(信息可能并不完整),请你求出至多和至少有多少个面具。 这道题可以近似地看作一个有向图,但是有向图在这道题目中是极难操作的,因此我们可以用一...

CXR的博客 294

BZOJ1064 NOI2008 假面舞会 图论

传送门 将一组关系\((A,B)\)之间连一条边,那么显然如果图中存在环长为\(len\)的环,那么面具的种数一定是\(len\)的因数。 值得注意的是这里环的关系除了\(A \rightarrow B \rightarrow C \rightarrow D \rightarrow A\)类型以外,\(A \rightarrow B \rightarrow C \rightarrow D + A...

weixin_30375247的博客 58
上一篇: BZOJ2199[Usaco2011 Jan] 奶牛议会
下一篇: CF1041A Heist
ShadyPi
博客等级 码龄9年 1万+粉丝 637原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ShadyPi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值