【LOJ2391】港口设施

2023-10-30 04:18
文章标签 设施 港口 loj2391

本文主要是介绍【LOJ2391】港口设施,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目传送门


题目描述
题目译自 JOISC 2017 Day1 T2「港湾設備 / Port Facility」

JOI 港口虽然很小,却非常繁忙。
JOI 港口放置集装箱的结构可视为两个本质不同的栈。每天从船上卸下的集装箱会被压入某个栈,而被运出港口的集装箱则从栈顶弹出。
今天 JOI 港口会迎来 个集装箱,它们在今天内会被运出港口。今天出入口有 条记录,每条记录都表示一个集装箱到港或离港。
第 个集装箱 的到港记录为 ,离港记录为 。
我们把 个集装箱分别放在哪个栈称为一个方案。求放置集装箱的方案数 。

输入格式
第一行有一个整数 。 在接下来的 行中,第 行 有两个整数 ,用空格分隔。

输出格式
一个整数,表示放置集装箱的方案数 。

样例

样例输入 1

4
1 3
2 5
4 8
6 7

样例输出 1

4

样例说明 1
为了方便叙述,将这两个栈分别称为 A 和 B 。
四种方案分别为:ABAA(第 个集装箱放在 A,第 个集装箱放在 B,以此类推),ABAB,BABA,BABB。


首先我们根据样例1画出
根据样例1
根据样例1
分析
观察上图,我们可以发现,当两个箱子进入港口和离开港口的区间向交叉(并不包含),则他们必定是不能存在同一个栈内的,因为这样无法实现所要求的出入栈顺序(仔细思考一下)。
于是我们可以将符合这个条件的两个箱子都连起来,表示这两个箱子必须分开。这不就是二分图吗?那我们就由此建立二分图:建立二分图
我们发现这个二分图种有两个连通块,每个连通块都有两种染色方案(如1-2-3可以染成A-B-A或者B-A-B),因此这个二分图总的染色方案有2^2种,即箱子有4种放置方案。

解体思路
先对符合要求的点进行连边,再进行染色,如果不是二分图,则不符合要求直接输出0;若是二分图,计算二分图内连通块的数量n,答案即为2^n。


代码
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int N=10000005;
const int mod=1e9+7;
vector<int> e[N];//存边 
int col[N];//各箱子颜色 
int nxt[N],fa[N],le[N],id[N<<1],a[N],cnt;//nxt和fa用于防止重复连边 筛去包含的情况 
int n;									//le表示箱子到达位置,a存到达顺序 
ll ans=1;								//id存各个时刻进入或出去的箱子 //可以对每个维护一个nxt表示向右最大的同色的位置//从左往右用并查集维护
void qm(int a,int b)//快速幂
{while(b>0){if(b%2==1)ans=(ans*a)%mod;b=b/2;a=(1ll*a*a)%mod;}
}inline int find(int x)
{return fa[x]==x?x:fa[x]=find(fa[x]);
}inline void addedge(int u,int v){//加边 e[u].push_back(v),e[v].push_back(u);
}int dfs(int u){//染色 for(int i=0;i<e[u].size();i++){int v=e[u][i];if(col[v]!=0&&col[v]==col[u])return 0;if(col[v]==0){col[v]=-col[u];if(!dfs(v))return 0;}}return 1;
}int main(){int l,r;cin>>n;for(int i=1;i<=n;i++){scanf("%d%d",&l,&r);id[l]=id[r]=i;}for(int i=1;i<=n;i++)nxt[i]=i,fa[i]=i;//初始化nxt fa fa[n+1]=n+1;for(int i=1;i<=2*n;i++){int p=id[i];if(!le[p])a[++cnt]=p,le[p]=cnt; else{//已有左端点,进行加边操作 int u=le[p];fa[u]=find(u+1);for(int j=fa[u],k;j<=cnt;j=k)addedge(a[j],p),k=find(nxt[j]+1),nxt[j]=cnt;}}int cnt=0;memset(col,0,sizeof(col));for(int i=1;i<=n;i++)//对各连通块染色 if(col[i]==0){col[i]=1;if(dfs(i))cnt++;else {puts("0");return 0;}}qm(2,cnt);cout<<ans;return 0;
}

这篇关于【LOJ2391】港口设施的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/305537

相关文章

产教融合,唯众打造智慧型设施农业实训室建设方案

一、引言 1.1 产教融合的背景与意义 在全球经济转型升级的大背景下,产教融合作为一种重要的教育改革策略,旨在加强教育与产业之间的联系,从而更好地培养适应现代社会需求的高素质技术技能人才。随着科技进步和产业结构调整的加速,企业对人才的需求越来越多元化和专业化。因此,深化产教融合不仅是国家战略的重要组成部分,也是推动经济社会发展、提升国家竞争力的关键途径之一。 产教融合强调的是教育链、人才

HoloLens再添一应用领域!Microsoft和Trimble联手开启设施管理新篇章!

随着虚拟现实(VR)领域的发展,电子游戏只会成为该行业的一小部分,而商业,教育和行业有关的应用程序占VR、AR(增强现实)、MR(混合现实)应用程序的比重会大得多。因此,HoloLens即将在财产和设施管理方面大展身手。 HoloLens是构成Microsoft和Trimble之间试点项目的一部分,这使得企业房地产所有者和设施管理人员能够尝试新技术,并了解如何在维护工作流的可视化功能与

热点资讯|充电设施建设迎来新高峰,绿色出行未来可期

&nbsp;【重点政策】国务院印发《深入实施以人为本的新型城镇化战略五年行动计划》,其中指出加快公共领域充电设施建设 7月31日,国务院印发《深入实施以人为本的新型城镇化战略五年行动计划》(以下简称《行动计划》)。 其中指出,加快居住区充电设施建设,推动公共停车场、具备条件的加油(气)站在确保安全的前提下配建快充、换电和加氢设施,开展公共领域车辆全面电动化试点。 随着汽车电动化加

视频孪生技术在智慧港口场景中的应用展示

随着新一轮科技革命和信息技术飞速发展,安全生产信息化程度不断提升,港口运营模式正在发生转变,尤其是港口安全生产管理正在向数字化、智能化方向变革。 系统基于三维地理(3D GIS)引擎,综合运用了人工智能、大数据、计算机图形学等新一代空间信息技术,深度挖掘IoT、监控视频等物联传感设备数据的空间结构化价值,建立区域安防识别、车辆人员定位、集装箱管理、岸桥管理、能耗监测和智慧巡检等子系统,实现对港口

中国港口年鉴(2000-2023年)

数据年限:2000-2023(齐全) 数据格式:pdf、excel 数据内容: 一、记述和反映了中国大陆江、海、河港口在深化改革、调整结构、整合资源、开拓经营、加快建设等方面所取得的成就和发展进程,香港特别行政区、澳门特别行政区、台湾地区港口发展的概况专门列述。 二、本版以每个省(自治区、直辖市)为单位,编排省内各港情况,并在一城一港的基础上编排各市港口情况,然后在各市港口下再列入大型港口企业集团

Y1大型游乐设施修理精选历年真题(附答案)

1、(判断题)可以用紧急断电开关代替任何正常操纵和断电开关。参考答案:错误 2、(判断题)沿架空轨道运行的车辆,应设防倾翻装置。车辆连接器应结构合理,转动灵活,安全可靠。参考答案:正确 3、(判断题)开始运行时,要隔2~3个吊厢再上人,以免造成过分偏载。参考答案:正确 4、(判断题)凡是液压单向阀只允许油液向一个方向流动。参考答案:正确 5、(判断题)《大型游乐设施安全监察规定》规定,运营

申报水文设施设计专项乙级资质有哪些要求条件?

申报水文设施设计专项乙级资质,主要需要满足以下条件: 企业法人资格:申请单位必须具备独立法人资格,持有有效的工商行政管理部门核发的企业法人营业执照。 技术人员配置: 至少拥有一定数量的水利专业技术人员,具体数量根据最新的资质标准确定。包括注册水利水电工程师、注册结构工程师等关键岗位人员,这些人员的专业背景和注册资质需符合规定要求。可能还需要其他专业如水文、地质、电气、水土保持等技术人员,具体

新办水文设施设计乙级资质有什么要求?

新办水文设施设计乙级资质,需要满足一系列具体要求,以下是一些基于之前信息整理的关键点,但请注意,具体要求可能会随政策更新而有所变化,务必参考最新的官方标准: 企业法人资格:申请单位必须是具有独立法人资格的企业,拥有工商行政管理部门核发的有效企业法人营业执照。 注册资本:实缴注册资本通常需要达到一定数额,例如不少于50万元或150万元人民币,具体数额需依据最新的资质标准确定。 技术人员配置:

城镇污水处理设施运维服务认证

初次申请认证时需提交的文件/资料 1、通用文件/资料(证明文件复印件需签字盖公章) ☐ 营业执照复印件、统一社会信用代码/组织机构代码证复印件 ☐ 增值税一般纳税人资格证复印件,或其他增值税一般纳税人资格认定文件复印件 ☐ 资质 或 许可证 复印件(法律法规规定需要资质或许可证) ☐ 服务项目执行标准(若执行企业标准,需提供企业标准

基于Hadoop的港口物流大数据应用研究

基于Hadoop的港口物流大数据应用研究 “A Study on Port Logistics Big Data Application based on Hadoop” 完整下载链接:基于Hadoop的港口物流大数据应用研究 文章目录 基于Hadoop的港口物流大数据应用研究摘要第一章 引言1.1 研究背景1.2 研究目的与意义1.3 国内外研究现状1.4 研究内容和方法1.5 论文