Layout(差束约分系统)

MLLayout:小型自动布局 MLLayout (swift版,自行添加桥接) 小型轻量级自动布局,基于UIView的分类。 对齐类型枚举,设置控件相对于父视图的位置 - TopLeft: 左上 - TopRight: 右上 - TopCenter: 中上 - BottomLeft: 左下 - BottomRight: 右下 - BottomCenter: 中下 - CenterLeft: 左中 - CenterRight: 右中 - CenterCenter: 中中 MLView 位于 view 内部,左上点对齐,大小 默认 设置nil MLView.ff_AlignInner(type: ff_AlignType.TopLeft, referView: view, size: nil) 垂直布局:相对于 view 的右上点对齐 ,大小默认 设置nil MLView.ff_Alig 立即下载

Description
Like everyone else, cows like to stand close to their friends when queuing for feed. FJ has N (2 <= N <= 1,000) cows numbered 1..N standing along a straight line waiting for feed. The cows are standing in the same order as they are numbered, and since they can be rather pushy, it is possible that two or more cows can line up at exactly the same location (that is, if we think of each cow as being located at some coordinate on a number line, then it is possible for two or more cows to share the same coordinate).

Some cows like each other and want to be within a certain distance of each other in line. Some really dislike each other and want to be separated by at least a certain distance. A list of ML (1 <= ML <= 10,000) constraints describes which cows like each other and the maximum distance by which they may be separated; a subsequent list of MD constraints (1 <= MD <= 10,000) tells which cows dislike each other and the minimum distance by which they must be separated.

Your job is to compute, if possible, the maximum possible distance between cow 1 and cow N that satisfies the distance constraints.
Input
Line 1: Three space-separated integers: N, ML, and MD.

Lines 2..ML+1: Each line contains three space-separated positive integers: A, B, and D, with 1 <= A < B <= N. Cows A and B must be at most D (1 <= D <= 1,000,000) apart.

Lines ML+2..ML+MD+1: Each line contains three space-separated positive integers: A, B, and D, with 1 <= A < B <= N. Cows A and B must be at least D (1 <= D <= 1,000,000) apart.
Output
Line 1: A single integer. If no line-up is possible, output -1. If cows 1 and N can be arbitrarily far apart, output -2. Otherwise output the greatest possible distance between cows 1 and N.
Sample Input
4 2 1
1 3 10
2 4 20
2 3 3
Sample Output
27
Hint
Explanation of the sample:

There are 4 cows. Cows #1 and #3 must be no more than 10 units apart, cows #2 and #4 must be no more than 20 units apart, and cows #2 and #3 dislike each other and must be no fewer than 3 units apart.

The best layout, in terms of coordinates on a number line, is to put cow #1 at 0, cow #2 at 7, cow #3 at 10, and cow #4 at 27.

前ML个条件是a和b最多差x,后面MD个条件是a和b至多差x,如果没有解输出-1,如果可以无穷远,输出-2,之外输出1到n的最远距离。

d[b] - d[a] <= x
d[b] - d[a] >= x
只要把第二个式子加一个负号就好了,在图里面表示就是反向边,用判负环的spfa跑一遍,最后检查是否有点进入n+次队列,如果有,肯定是没有解了(死循环,可以脑补想一下),如果没有,再看看d[n]是否是无穷大,再根据情况输出。

#include<cstdio>
#include<cstring>
#include<iostream>
#include<queue>
#include<vector>
#include<algorithm>
#include<string>
#include<cmath>
#include<set>
#include<map>
#include<vector>
using namespace std;
typedef long long ll;
const int inf = 0x3f3f3f3f;
const int maxn = 1005;
int head[1005],n,ml,md;
int ans[1005];
ll d[1005];
bool leap[1005];
struct Node
{
    int u,v,next;
    ll w;
}node[20050];
void add_edge(int u,int v,ll w,int tot)
{
    node[tot].u = u;node[tot].v = v;
    node[tot].w = w;
    node[tot].next = head[u];
    head[u] = tot;
}
void spfa()
{
    for(int i = 1;i <= n;i++)leap[i] = false;
    for(int i = 1;i <= n;i++)d[i] = inf;
    for(int i = 1;i <= n;i++)ans[i] = 0;
    d[1] = 0;leap[1] = true;ans[1] = 1;
    queue<int>p;
    p.push(1);
    while(p.size())
    {
        int u = p.front();p.pop();
        leap[u] = false;
        for(int i = head[u];i != -1;i = node[i].next)
        {
            int v = node[i].v;
            if(d[v] > d[u] + node[i].w)
            {
                d[v] = d[u] + node[i].w;
                if(!leap[v])
                {
                    ans[v]++;
                    if(ans[v] <= n)
                    {
                        leap[v] = true;p.push(v);
                    }
                }
            }
        }
    }
}
bool check()
{
    for(int i = 1;i <= n;i++)
    {
        if(ans[i] > n)
            return false;
    }
    return true;
}
int main()
{
    #ifdef LOCAL
    freopen("C:\\Users\\巍巍\\Desktop\\in.txt","r",stdin);
    //freopen("C:\\Users\\巍巍\\Desktop\\out.txt","w",stdout);
    #endif // LOCAL
    while(scanf("%d%d%d",&n,&ml,&md) != EOF)
    {
        memset(head,-1,sizeof(head));
        int cnt = 1;
        for(int i = 1;i <= ml;i++)
        {
            int u,v;ll w;
            scanf("%d%d%lld",&u,&v,&w);
            add_edge(u,v,w,cnt++);
        }
        for(int i = 1;i <= md;i++)
        {
            int u,v;ll w;
            scanf("%d%d%lld",&u,&v,&w);
            add_edge(v,u,-w,cnt++);
        }
        spfa();
        if(check())
        {
            if(d[n] == inf)
                printf("-2\n");
            else
                printf("%d\n",d[n]);
        }
        else
            printf("-1\n");
    }
    return 0;
}
智能车‘大脑’的诞生:揭秘电磁循迹代码背后的控制论与系统思维 本文深入探讨智能车电磁循迹系统的核心架构与控制原理,揭示了其作为精密闭环系统如何通过模块化设计、信号处理、PID控制算法及电机驱动实现自主导航。重点分析了电磁信号采集与处理流程框架,为开发者提供从理论到实践的全面指南。 阅读详情

相关推荐

硬件原理图:从软件思维到硬件接口的嵌入式开发破局指南

本文为软件开发者提供了读懂硬件原理图的嵌入式开发破局指南。文章将硬件原理图类比为“硬件系统的架构图”,引导读者将软件API调用思维迁移到硬件接口理解上,详细解析了电阻、电容、二极管等常见元器件的“硬件API”功能与选型逻辑,并通过实战电路拆解,阐述了从原理图分析到驱动代码编写的完整思维链条,帮助开发者建立软硬件协同的系统级视角。

lg888的博客 493

Layout系列模型(LayoutLM,LayoutLMv2,LayoutXLM)

Layout LM 联合建模文档的layout信息和text信息,预训练文档理解模型。 模型架构 使用BERT作为backbone,加入2-D绝对位置信息,图像信息,分别捕获token在文档中的相对位置以及字体、文字方向、颜色等视觉信息。 2-D Position Embedding. 将文档页面视为坐标系统(左上为原点), 使用2张embedding table构造4种位置嵌入,横纵轴各使用1张嵌入表; Image Embedding. 将文档页面图像分割成小图片序列,基于Faster R-CNN建

十里清风 9246

LVDS高速ADC接口, xilinx fpga实现

FPGA实现lvds高速ADC数据接口,窗口对齐算法,Verilog源码

kuangxin的博客 6万+

【poj3169】Layout 差分约束

DescriptionLike everyone else, cows like to stand close to their friends when queuing for feed. FJ has N (2 <= N <= 1,000) cows numbered 1..N standing along a straight line waiting for feed. The cows a

DQS的树洞 1256

EFR32BG22 Thunderboard开发板 使用SPI 读取加速度计

Simplicity Studio v5 创建Silicon Labs蓝牙SoC EFR32BG22 Thunderboard模块的加速度计工程,模块上有一个ICM-20648 6轴运动跟踪设备,集成3轴加速度计和3轴陀螺仪功能,使用SPI接口跟EFR32BG22芯片连接。 我尽量以图片的形式展示(少打字): 将EFR32BG22的Thunderboard模块通过USB线插入到电脑,打开Simplicity Studio v5软件。 下面看重点: 点击搜索到的IO Stream: USART,点击Ins

qq_25727979的博客 1494

STM32 HAL库 实现基于SPI模式的SD卡、TF卡FATS文件系统+模拟U盘的应用笔记

很多单片机不带SDIO接口,所以在使用SD卡时必须使用SPI模式进行读写。 想做一个基于SPI的SD卡文件系统读写SD卡上的文件,再配合USB接口做一个模拟U盘。只能利用业余时间慢慢更新,也不知道能不能坚持下去。 我会把从零开始开发一个程序需要经历的过程一一的记录下来。做成一个奶妈级的单片机开发笔记。 一、硬件简介 1.SD卡和MicroSD卡(TF卡)的区别 由下图可以很容易的看出TF卡只是比SD卡少了一个3脚Vss脚,其它的管脚顺序

KyleKuang的博客 8332

hdu3169

Layout Time Limit:1000MS Memory Limit:65536K Total Submissions:5492 ...

Phoebe_Wu2016的博客 286

基于STM32L4XX 、HAL库的TMC2226-SA-T步进电机驱动器驱动程序应用设计

集成的功率MOSFET可处理高达2A RMS的电机电流,并具备保护与诊断功能,确保运行稳健可靠。作为业界最先进的STEP/DIR步进电机驱动系列,该芯片通过升级设计实现无噪音、高精度运行,为用户提供高性价比且极具竞争力的解决方案。// 用于PDN_UART单线通信。// HAL_UART_Transmit - 注意PDN_UART是单线,收发共线。.huart = &huart1, // PDN_UART连接的USART。均方根步进/方向控制接口,提供8、16、32或64微步针设置,

PP_Cottage的博客 621

POJ-3169的题解

题目:Layout Like everyone else, cows like to stand close to their friends when queuing for feed. FJ has N (2 &lt;= N &lt;= 1,000) cows numbered 1..N standing along a straight line waiting for feed...

AlphaWA的博客 679

Unreal5从入门到精通之EnhancedInput增强输入系统详解

从Unreal5开始,老版的输入系统,正式替换为EnhancedInput增强型输入系统,他们之间有什么区别呢?如果有使用过Unity的同学,大概也知道,Unity也在2020版本之后逐渐把输入系统也升级成了新版输入系统,为什么Unreal和Unity都热衷于升级输入系统呢?这之间又有什么联系呢?官方:增强输入EnhancedInput希望这篇文章能够对你有所帮助。

TxNet 943

构建个体结构脑网络的另一种方法

这篇文献提出了一种构建个体结构脑网络的方法即Morphometric INverse Divergence (MIND),通过T1像数据即可对每个被试构建一个脑网络,且通过多个特征进行构建而非单一的特征。即可获得由4个特征得到的个体结构网络矩阵,可以根据自己的需求采用不同的特征组合得到网络矩阵,也可以结合T1/T2像得到髓鞘化相关的网络矩阵,后续可修改代码批量处理自己的数据。这是文献贴出来的代码。在终端直接克隆到本地。2.修改路径运行代码。

weixin_52073820的博客 822

POJ - 3169(最短路水题)

反思:这道题的思维量还可以,可以算作一道好题吧。剖析一下模型,发现是一道最短路的题。难点可能在构图。构图的时候要注意以下几点: 1.由于后面的点的位置一定要大于等于前面的,所以我加了n-1条路径,这些路径的值都是0,是由i指向i-1的,这样在求最短路的时候,所有dis[i-1]大于dis[i]的情况都会被这些边松弛为dis[i-1]=dis[i],解决了这方面的问题。 2.什么时候就表示1不能...

Ema1997的博客 564

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

POJ - 3169 差分约束 判负环 SPFA 图论 抽象最短路 邻接表

题目 题解思路 难点在用差分约束的条件建图,今天才学了点差分约束。 结论 证明和有关差分约束的详解 我们只要将题目的条件不等式符号,全转化为<=号,然后跑最短路,如果存在负环就是不能到达的,如果最短路跑不过去,那就是无限大。 AC代码 #include <cstdio> #include <iostream> #include <vector> #include <queue> using namespace std; int const

从你的全世界路过 166

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

MLLayout 开源项目教程

MLLayout 开源项目教程 项目介绍 MLLayout 是一个由 Molon 开发的高级布局库,旨在简化 Android 应用程序中的复杂布局设计。该库提供了丰富的布局管理工具,支持动态调整、响应式设计以及一些高级布局特性,从而让开发者能够更加高效地构建流畅且灵活的用户界面。 项目快速启动 要迅速开始使用 MLLayout,首先确保你的开发环境已配置了 Android Studio,并安装了...

gitblog_00464的博客 699

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

POJ_3169_Layout【差分约束】

Description Like everyone else, cows like to stand close to their friends when queuing for feed.  FJ has N (2   The cows are standing in the same order as they are numbered, and since they can be

持之以恒_fighting 424

POJ 3169 Layout

Language: Default Layout Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5164   Accepted: 2479 Description Like everyone else, cows like to stand close t

I am a slow walker, but I never walk backwards! 2461

Layout POJ - 3169(差分约束+SPFA)

Like everyone else, cows like to stand close to their friends when queuing for feed. FJ has N (2 &lt;= N &lt;= 1,000) cows numbered 1..N standing along a straight line waiting for feed. The cows are s...

码农的一亩三分地 441

LayoutLM、LayoutLMV2、LayoutXLM、LayoutLMV3

微软一代LayoutLM 用途:表单理解、票据理解、文档图像分类。也就是进行实体识别及分类。 paper: https://github.com/microsoft/unilm/tree/master/layoutlm 简介: https://www.msra.cn/zh-cn/news/features/layoutlm code: https://github.com/microsoft/unilm/tree/master/layoutlm 注意:https://github.com/m

北落师门XY的博客 1万+

POJ3169-Layout

Layout Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6582   Accepted: 3182 Description Like everyone else, cows like to stand close to their friends when que

mowayao的专栏 882

Poj 3169 Layout【差分约束+SPFA】

Layout Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 10278   Accepted: 4946 Description Like everyone else, cows like to stand close to their friends whe

mengxiang000000 3803

Layout(最短路)

原题链接 Layout Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 10248 Accepted: 4933 DescriptionLike everyone else, cows like to stand close to their friends when queuing for fee

HowieMen的博客 541

Layout(POJ 3169)

POJ 3169 Layout 题目大意 约翰养了NNN头牛,编号从111到NNN,现在,它们要进食,按照编号顺序排成一排。牛之间存在一些关系,所以希望彼此之间至少要满足某个距离,此外,可能存在多头牛挤在同一个位置上。现在有MLMLML个关系好的牛的信息(AL,BL,DL)(AL,BL,DL)(AL,BL,DL)以及MDMDMD个关系不好的牛的信息(AD,BD,DD)(AD,BD,DD)(AD,B...

Psychosocial的博客 413

POJ 3169 Layout(差分约束+SPFA)

Layout Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 4641   Accepted: 2240 Description Like everyone else, cows like to stand close to their friends when que...

weixin_34032827的博客 186

POJ3169 Layout 差分约束

我审题果然不仔细,一直不出sample原来是看错了 求成了最小值,题目中要我们求最大值。。。。。。 这道题是一道差分约束,这题的约束关系非常的明显 ML   S[b]-S[a] MD  S[b]-S[a]>=c   转化后  S[a]-S[b] 还有相邻的两只牛之间的距离   S[i]-s[i-1]>=0  转化后  S[i-1]-S[i] 我们要求最长的排队距离就是要解出这个关系

1162

POJ 3169_Layout

大早上水一发=。= 题意: n头牛按编号顺序站成一列,给定n头牛之间的位置关系,求出第n头牛和第一头牛之间的最大距离。 分析: 差分约束系统,这题不等式关系还是挺好找的。注意因为按照顺序排列,所以有d[i+1]>=d[i] 代码: #include<cstdio> #include<iostream> using ...

An55511的博客 199

差分约束系统

O興~ « 上一篇: PKU 1963 Cave Exploration,一道搞了我很久的模拟题,强调常数级的优化 下一篇: PKU 3146 Interesting Yang Hui Triangle,2006 ACM/ICPC 上海赛区的第I题 » 差分约束系

linliwen123的专栏 747
上一篇: 0 or 1(最短路转化)
下一篇: K Smallest Sums(优先队列+思维推广)
Techay
博客等级 码龄11年 11粉丝 174原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值