UVALive 3211 Now or later

Zephyr,设备树概述 Zephyr使用设备树(DTS)描述硬件配置,通过设备树源码和绑定文件生成C头文件供开发使用。设备树采用树状结构,节点对应硬件设备,属性描述硬件特性。示例展示了I2C总线及其外设的节点层级关系,包括单元地址、兼容性标识等关键属性。构建系统将设备树转换为devicetree.h中的宏,使开发者能通过DT_前缀宏访问硬件信息,同时保留Kconfig覆盖默认值的能力。 阅读详情

每架飞机有早晚起降两种方式,给定n架飞机两种方式的起落时间,为每架飞机安排起落时间(早或晚),使得所有飞机起降时间按照早到晚的顺序之间的间隔时间最小值尽量大。

分析:

最小时间尽量大应该采用二分的方法比较好,然后就变成了判别某个时间间隔m是不是符合要求的了。为没加飞机设立一个变量xi,0表示早,1表示晚,然后每架飞机i用两个点2*i,2*i+1表示,前者如果被标记表示早,后者被标记表示晚降。 然后对不同的飞机的起降时间中间隔小于m的i,j建立约束条件,例如:i架飞机早降间隔和j架飞机的早降时间间隔小于m,那么约束条件就可以在图中这样表示:建立两条边2*i—>2*j+1, 2*j->2*i+1,表示如果i早降则j必须晚降,j早降i必须晚降。

代码:

#include <iostream>
#include <sstream>
#include <cstdio>
#include <climits>
#include <cstring>
#include <cstdlib>
#include <string>
#include <stack>
#include <map>
#include <cmath>
#include <vector>
#include <queue>
#include <algorithm>
#define esp 1e-6
#define pi acos(-1.0)
#define pb push_back
#define mp(a, b) make_pair((a), (b))
#define in  freopen("in.txt", "r", stdin);
#define out freopen("out.txt", "w", stdout);
#define print(a) printf("%d\n",(a));
#define bug puts("********))))))");
#define stop  system("pause");
#define Rep(i, c) for(__typeof(c.end()) i = c.begin(); i != c.end(); i++)
#define pragma comment(linker, "/STACK:102400000, 102400000")
#define inf 0x0f0f0f0f

using namespace std;
typedef long long  LL;
typedef vector<int> VI;
typedef pair<int, int> pii;
typedef vector<pii,int> VII;
typedef vector<int>:: iterator IT;
const int maxn = 2222;
int E[maxn*2];
struct TwoSAT
{
    int n, mark[maxn*2], S[maxn*2];
    VI g[maxn*2];
    int c;
    void init(int n)
    {
        this->n = n;
        for(int i = 0; i < maxn*2; i++)
            g[i].clear();
        memset(mark, 0, sizeof(mark));
    }
    bool dfs(int x)
    {
        if(mark[x^1]) return false;
        if(mark[x]) return true;
        mark[x] = true;
        S[c++] = x;
        for(int i = 0; i < g[x].size(); i++)
            if(!dfs(g[x][i])) return false;
        return true;
    }
    void add_clause(int x, int xval, int y, int yval)
    {
        x = 2*x+xval;
        y = 2*y+yval;
        g[x^1].pb(y);
        g[y^1].pb(x);
    }
    bool solve(void)
    {
        for(int i = 0; i < 2*n; i += 2)
            if(!mark[i] && !mark[i+1])
            {
                c=0;
                if(!dfs(i))
                {
                    while(c) mark[S[--c]] = false;
                    if(!dfs(i+1)) return false;
                }
            }
        return true;
    }
} Sat;
int main(void)
{
    int n;
    while(~scanf("%d", &n))
    {
        int l = inf, r = 0, m;
        for(int i = 1; i <= n; i++)
        {
            scanf("%d%d", E+2*i-2, E+2*i-1);
            l = min(l, min(E[2*i-2], E[2*i-1]));
            r = max(r, max(E[2*i-2], E[2*i-1]));
        }
        r= r-l+1;
        l = 0;
        while(l < r - 1)
        {
            m = (l+r)>>1;
            Sat.init(n);
            for(int x = 0; x < n; x++)
                for(int y = x+1; y < n; y++)
                    for(int xval = 0; xval < 2; xval++)
                        for(int yval = 0; yval < 2; yval++)
                            if(abs(E[2*x+xval] - E[2*y+yval]) < m)
                            {
                                Sat.add_clause(x, 1-xval, y, 1-yval);
                            }
            if(!Sat.solve())
                r = m;
            else l = m;
        }
        printf("%d\n", l);
    }
    return 0;
}
生态位宽度计算&可视化展示(R语言) 物种的生态位越宽,该物种的特化程度就越小,倾向于泛化种(generalist species);物种的生态位越窄,倾向于是一个特化种(specialists species)。生态位宽度是指物种(或其它生物单位)在群落中所利用的各种不同资源的总和。本篇所使用为生态位宽度指数即**Levins的生态位宽度指数。 阅读详情

相关推荐

护网日志分析基础

简要介绍日志分析,给出日志分析的步骤和思路。要求根据日志中的字符串特征,识别攻击者的攻击工具;根据日志中的行为特征,确定攻击者可能的攻击手段等。总结归纳护网中常见的中间件Tomcat、Apache、Weblogic、Nginx、Apache、IIS、MySQL、SQL Server、Oracle的日志路径和日志配置文件路径等。

m0_59302403的博客 3698

uvalive3211+uvalive3713

题意: 两题2-sat问题,解法是一样的 思路: 先贴一下2-sat问题的统一解法和自己的理解 代码: int init() { for(int i=0; i<n*2; i++) g[i].clear(); memset(mark, 0, sizeof(mark)); memset(s, 0, sizeof(s)); } void add(int x, int a, int y,

deepquiet的博客 286

ENSP:小型企业网络拓扑设计

包含的技术:ospf、dhcp中继、ac+ap、vrrp+mstp、acl、浮动路由、静态路由、vlan划分

weixin_45921302的博客 1万+

UVaLive3211

UVALive3211 Description有NN架飞机,每架飞机有两个时间可以降落,一早一晚。现在给出每架飞机可以降落的两个时间,问所有相邻时间降落的飞机中的最小时间间隔最大是多少。多组测试数据。Input每组数据第一行:一个整数NN表示飞机数。接下来NN行:每行两个整数ee、ll表示早的时间和晚的时间(别问我为什么时间长这样)。Output几个数据就几行:每行一个整数,最小时间间隔的最大。so

YKgsmUDq的博客 407

【Java 实战】通过Redis实现购物车功能

以上就是今天要讲的内容,本文仅仅简单介绍了如何通过Redis实现购物车功能,以上方法亲测有效,希望能给大家一个参考。

~~~~~~~BUG FLY~~~~~~~~~ 9969

你知道几种数字地与模拟地连接方式及优缺点?

频率选择性:磁珠的阻抗特性随频率变化,只对某个频点的噪声有显著抑制作用,对于频率不确定或无法预知的情况,可能不是最佳选择。在实际应用中,选择合适的连接方式需要根据具体的电路频率、信号类型、设计要求等因素综合考虑,以达到最佳的电磁兼容效果.高频信号干扰:在高频电路中,单点接地可能导致信号回流路径过长,增加地线电感,从而引入高频噪声。限制噪声电流:0欧姆电阻相当于一个非常窄的电流通路,能够有效地限制环路电流,使噪声得到抑制。抑制高频信号:电感对高频信号有较大的阻碍作用,可以有效抑制高频噪声。

linkking27的博客 801

UVAlive3211 Now or later(2-SAT)

题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=33799   【思路】        2-SAT。        二分安全间隔x,先到为1后到为0,则唯一的限制即两个不同的时间a b如果其间隔小于x则不能满足(a=1 and b=1),即满足 (a or b)=1,如果满足所有的约束条件则x可行。    

hahalidaxin的专栏 341

MFC Windows 程序设计[105]之彩色滚动条(附源码)

MFC是微软公司提供的一个类库(class libraries),用以减少应用程序开发人员的工作量。其中包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。有很多初学MFC的小伙伴们都觉得MFC比较难学,看书吧,看了就忘了,网上的一些教程又是写的含糊不清,故而学习起来很吃力...... 故此,本专栏亲自研究,实践,由易到难,层层深入,将调试过程中所遭所遇进行详细讲解,注意事项进行一一列举,希望能够帮助到各位初学MFC的小伙伴,避免走弯路,费时费力。

hnjzfwy的博客 518

【二分答案+2-SAT】Now or later UVALive - 3211

题目链接:https://cn.vjudge.net/contest/209473#problem/J 题目大意: 有n架飞机,每架飞机有两个可降落时间点a,b(a<b)(即一架飞机可以选择在时间a降落或者时间b降落),设计一个方案,当n架飞机降落后,相邻两架飞机的最小间隔时间最大。 解题思路: 最小XX最大问题或者最大XX最小问题,很容易就能想到二分的方法,所...

angjin2880的博客 168

Spring Boot 调用豆包大模型如何开启联网搜索?

场景推荐方案有权限创建 Bot + 需强集成✅ 使用bot-xxxx无 Bot 权限 / 追求通用性✅ 自行集成搜索引擎 + 普通豆包模型仅需基础对话❌ 无需考虑联网豆包大模型确实支持联网搜索,但前提是:你用的是“智能体 Bot”,且它被配置了“网页搜索”插件,并调用正确的 API 端点。希望本文能帮你少走弯路,快速构建出真正“知天下事”的智能助手!

lpfasd123的博客 1123

面向企业级应用的 SAP UI5 troubleshooting 全景指南:从日志与调试到性能与可测试性

本指南系统化介绍了SAP UI5应用排错的完整流程和工具链。从基础的浏览器开发者工具使用,到SAP UI5专用调试工具(Technical Information Dialog、Support Assistant、Diagnostics Window),再到性能优化和日志管理,提供了一套工程化的解决方案。重点推荐组合使用UI5 Inspector扩展、Test Recorder测试工具以及性能测量模块,并强调将常见问题整理成团队知识库。通过制度化的排错步骤和工具组合,开发者可以快速定位、复现和修复问题,将调

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

UVALive 3211 2-SAT问题

http://vjudge.net/contest/view.action?cid=48477#problem/A

ACM,再见! 919

高斯过程的数学理解

G澳大利亚的过程是有益的,特别是当我们有少量数据时。当我在制造业担任数据科学家时,我们的团队使用这种算法来揭示我们接下来应该进行哪些实验条件。但是,此算法不如其他算法流行。在这篇博客中,我将通过可视化和 Python 实现来解释高斯过程 [1] 的数学背景。

gongdiwudu的专栏 3606

UVALive3211 Now or later

2-SAT + 二分 作为第二道2-SAT没什么好说的很简单,相对LA3211已经显示出基本模型了 #include using namespace std; const int MAXN = 2000; struct TwoSAT { int n; vector G[MAXN * 2 + 10]; bool mark[MAXN * 2 + 10]; i

hlq07的专栏 457

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

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

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

UVALive - 3211 - Now or later(图论——2-SAT)

Problem UVALive - 3211 -Now or later Time Limit: 9000 mSec Problem Description Input Output Sample Input 10 44 156 153 182 48 109 160 201 55 ...

weixin_30716141的博客 151

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

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

UVALive 3211 Now or later 二分+Twosat

题目链接:https://vjudge.net/problem/UVALive-3211题意:每架飞机有早晚起降两种方式,给定n架飞机两种方式的起落时间,为每架飞机安排起落时间(早或晚),使得所有飞机起降时间按照早到晚的顺序之间的间隔时间最小值尽量大。解法:最小时间尽量大应该采用二分的方法比较好,然后就变成了判别某个时间间隔m是不是符合要求的了。为没加飞机设立一个变量xi,0表示早,1表示晚,然后每

I good vegetable a! 455

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

UVAlive 3211 Now or Later

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

weixin_30861459的博客 93

uvalive 3211 Now Or Later

题意: 一座飞机场要降落飞机,每架飞机有两种降落方式:早降落和晚降落。 现在要安排飞机的降落使得两个飞机降落时间的最小值最大。 输出这个最小值。 思路: 最小值最大化,可以想到答案需要二分。 然后就是如何判断一个时间是否满足条件。一个飞机要么早降落,要么晚降落,所以就是一个为真,另一个一定为假,这就是著名的2-SAT问题(lrj的dfs模板)。 枚举两架飞机,假设有|Li – Ej|...

weixin_30877181的博客 145

UVALIVE 3211 Now or later(2-sat)

题意:有n架飞机需要着陆,每架飞机都可以选择“早着陆”或“晚着陆”两种方式,第i架飞机早着陆时间为Ei,晚着陆时间为Li,不得在其他时间着陆。你的任务是为这些飞机安排着陆方式,使得整个着陆计划尽量安全。换言之,如果把所有飞机的实际着陆时间从小到大排序,相邻两个着陆时间间隔的最小值应尽量大。 思路:二分判定可能的时间t,用布尔变量xi表示飞机i是否早着陆,对于一个t,判定任意两架飞机要满足

GODSPEED 918

UVALive 3211 Now or later(2-sat)

2-sat问题,一种在两种可能性中选择必然关系的问题。 推荐两篇论文,也是学2-sat公认比较好的材料。前者较好理解,后者需耐心看。 http://www.google.com.hk/url?sa=t&rct=j&q=2-sat&source=web&cd=6&ved=0CEUQFjAF&url=http%3a%2f%2fbbs%2eb...

aizhengcuo9261的博客 168

Uvalive 3211 - Now or later(2-SAT)

题目链接 https://vjudge.net/problem/UVALive-3211 【题意】 有n架飞机需要着陆,每架飞机可以选择早着陆E或晚着陆L两种方式,必须选一种,不得在其它时间着陆。你的任务是安排这些飞机的着陆方式,使得整个计划尽量安全,也就是说把所有飞机的着陆时间升序排列后,相邻两个着陆时间间隔的最小值应尽量大。 【思路】 大白书325页例题,最小值最大化的问题可以采用二分...

Change the world by program. 281

UVALive - 3211 Now or later(2-sat)

题意:有n架飞机。每架飞机都可以选择早着陆和晚着陆两种方式之一,且必须选择一种。任务就是安排所有飞机着陆时,相邻两个着陆时间间隔的最小值尽量大。 解:直接套模板,二分*(2-sat)O(n^2)建图 #include #include #include #include #include #include #include #include #include #inc

MR CODER 239

UVALive3211- Now or later(二分+2-SAT)

题目链接 题意:有n架飞机。每架飞机都可以选择早着陆和晚着陆两种方式之一,且必须选择一种。任务就是安排所有飞机着陆时,相邻两个着陆时间间隔的最小值尽量大。 思路:用二分处理最小值尽量大。该题目可以转化为是否存在一个调度方案,使得相邻两个着陆时间差总是不小于P,进一步转化为任意两个着陆时间差总是不小于P。,假设布尔变量xi表示第i架飞机是否早着陆,唯一限制就是“时间差小于P的

懒人一枚。 1234

UVALive - 3211 Now or later (二分+2SAT)

题目链接 题意:有n架飞机,每架飞机有两个着陆时间点可以选,要求任意两架飞机的着陆时间之差不超过k,求k的最大值。 解法:由于每架飞机都有两个选择,并且必选且只能选其中一个,时间冲突也是发生在两架飞机之间的,因此二分答案,对冲突的时间建边处理,然后跑2SAT即可。 1 #include<cstdio> 2 #include<cstring> 3 #inc...

weixin_30284355的博客 122
上一篇: UVA - 11324 The Largest Clique
下一篇: UVALive - 3713 Astronauts
rootial
博客等级 码龄15年 2粉丝 93原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值