博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVAlive 3211 Now or Later
阅读量:5309 次
发布时间:2019-06-14

本文共 975 字,大约阅读时间需要 3 分钟。

题目大意:

有n架飞机需要着陆。每架飞机都可以选择”早着陆“和”晚着陆“两种方式之一,且必须选择一种。第i架飞机的早着陆时间为Ei,晚着陆时间为Li,不得在其他时间着陆。你的任务是为这些飞机安排着陆方式,是的整个着陆计划尽量安全。换句话说,如果把所有飞机的师姐着陆时间按照从早到晚的顺序排列,相邻两个着陆时间间隔的最小值(称为安全间隔)应尽量大。

题目链接:

思路:

利用2-SAT+二分,不断去找中值,将它代入2-SAT图中来进行判断这个值能否使每台飞机都能成功安排时间起飞

这里的二分函数:

bool findMid(int mid){    init();    for(int i=0;i

把所有能够建立关系的点连成有向图,然后通过这个图来进行判断

#include 
#include
#include
using namespace std;#define N 2005*2#define max(a,b) a>b?a:bint c,S[N],time[2005][2],n;bool mark[N];vector
G[N];int abs(int a){ return a>0?a:-a;}bool dfs(int u){ if(mark[u^1]) return false; if(mark[u]) return true; mark[u]=true; S[c++]=u; for(int i=0;i
0) mark[S[--c]]=0; if(!dfs(i^1)) return false; } } } return true;}bool findMid(int mid){ init(); for(int i=0;i
View Code

 

转载于:https://www.cnblogs.com/CSU3901130321/p/3894677.html

你可能感兴趣的文章
和小哥哥一起刷洛谷(1)
查看>>
遇麻烦,Win7+Ubuntu12.10+Archlinux12.10 +grub
查看>>
SqlBulkCopy大批量导入数据
查看>>
pandas 修改指定列中所有内容
查看>>
「 Luogu P2285 」打鼹鼠
查看>>
lua语言入门之Sublime Text设置lua的Build System
查看>>
vue.js基础
查看>>
电脑的自带图标的显示
查看>>
[转载] redis 的两种持久化方式及原理
查看>>
C++ 删除字符串的两种实现方式
查看>>
ORA-01502: 索引'P_ABCD.PK_WEB_BASE'或这类索引的分区处于不可用状态
查看>>
Java抽象类和接口的比较
查看>>
开发进度一
查看>>
MyBaits学习
查看>>
管道,数据共享,进程池
查看>>
CSS
查看>>
[LeetCode] 55. Jump Game_ Medium tag: Dynamic Programming
查看>>
[Cypress] Stub a Post Request for Successful Form Submission with Cypress
查看>>
程序集的混淆及签名
查看>>
判断9X9数组是否是数独的java代码
查看>>