C. Celex Update(数学题)

news2025/7/19 0:58:49

C. Celex Update(数学题)

  • 一、问题
  • 二、分析
  • 三、代码

一、问题

在这里插入图片描述

二、分析

这道题简单的来说就是在图上给定我们起点和终点,从起点到终点会有很多路径,不同的路径会经过不同的点,一条路径上经过的点可以计算出一个和,现在我们需要找出所有的和不同的路线条数。

根据题目中的要求,我们一个点要么向右走,要么向下走,同时根据图中的规律我们会发现,**向右走的数字必定小于向下的数字。**而且必定差1。

这个结论的证明也很简单,如果沿着对角线看的话,我们向右和向下的两个点在对角线上是相邻的,而每个对角线上的点都是从右上角到左下角依次递增的。所以对角线上相邻的两个点必定是差1的,并且右上的大。

接着我们借用一下题解的图:

由于我们向右走到达的点比我们向下走到达点少1,因此我们就从起点开始一直向右走,走到行的尽头的时候,我们此时只能选择向下走,如下图所示。这种情况下,我们的路径和必定是最小值
在这里插入图片描述
接着我们可以走出最小值加1的路线,我们可以从2到5再到8。

如下图所示:
在这里插入图片描述
接着,我们还可以走出最小值+2的路线,如下图所示:
在这里插入图片描述
那么能否再继续增大呢?答案是可以的,我们可以从5到9,然后再到13。而后续的过程其实就和上面的过程是一样的了。

我们现在总结一下,再第一行的时候,我们需要做出两次选择。当到该行的最后一次选择的时候,我们已经到了第二行,到了第二行我们依旧可以做2种选择。推广到一般情况:对于任意的起点: ( x 1 , y 1 ) (x_1,y_1) (x1,y1),终点: ( x 2 , y 2 ) (x_2,y_2) (x2,y2)。我们在每一行可以做: ∣ x 1 − x 2 ∣ |x_1-x_2| x1x2此选择,共有 ∣ y 1 − y 2 ∣ |y_1-y_2| y1y2行允许我们去做选择。所以我们一共能做出 ∣ x 1 − x 2 ∣ ∗ ∣ y 1 − y 2 ∣ |x_1-x_2|*|y_1-y_2| x1x2y1y2次选择,而我们还要加上一开始的初始状态。

所以最终的答案就是: ∣ x 1 − x 2 ∣ ∗ ∣ y 1 − y 2 ∣ + 1 |x_1-x_2|*|y_1-y_2|+1 x1x2y1y2+1

三、代码

#include<bits/stdc++.h>
#define endl '\n'
#define INF 0x3f3f3f3f
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
const int N = 1e5 + 10;

void solve()
{
	int x1, y1, x2, y2;
	cin >> x1 >> y1 >> x2 >> y2;
	cout << (ll)abs(x1 - x2) * abs(y1 - y2) + 1 << endl;	
}

int main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int t;
	cin >> t;
	while(t --)
		solve();
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/404957.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第十一届——8走方格(找规律,规律总结)

题目&#xff1a;试题 H: 走方格时间限制: 1.0s 内存限制: 256.0MB 本题总分&#xff1a;20 分【问题描述】在平面上有一些二维的点阵。这些点的编号就像二维数组的编号一样&#xff0c;从上到下依次为第 1 至第 n 行&#xff0c;从左到右依次为第 1 至第 m 列&#xff0c;每一…

计算机科学导论笔记(八)

十、软件工程 软件工程是指合理利用工程方法和原则写出能在真实机器上工作的可靠软件的过程。 10.1 软件生命周期 软件生命周期是软件工程中的基础概念&#xff0c;软件和其他产品一样&#xff0c;周期性地重复着一些阶段。 软件开发完成之后&#xff0c;通常需要使用一段时…

【25】Verilog进阶 - 序列检测

VL25 输入序列连续的序列检测 本题并不难【中等】难度给高了 【做题关键】 (1)需要使用移位寄存器的思路。其实reg型是寄存器,也可以当做是移位寄存器,重要的是对其的处理,使用的是移位寄存器的思路 (2)注意新移入数据存放在低位 1 题目 + 代码 + TestBench 很简单,没…

大数据集群保姆级安装教程——Centos集群(vagrant+virtualbox篇)

大数据集群保姆级安装教程——Centos集群&#xff08;vagrantvirtualbox篇&#xff09; 操作系统与软件版本介绍&#xff1a; 项目版本操作系统windows 10 x64Vagrantvagrant_2.2.19_windows_amd64.msiVirtualBoxVirtualBox-6.1.42-155177-Win.exe 一、Vagrant 安装教程 1.1…

一天搞定《AI工程师的PySide2 PyQt5实战开发手册》

PySide2/PySide6、PyQt5/PyQt6&#xff1a;都是基于Qt 的Python库&#xff0c;可以形象地这样说&#xff0c;PySide2 是Qt的 亲儿子(Qt官方开发的) &#xff0c; PyQt5 是Qt还没有亲儿子之前的收的 义子 &#xff08;Riverbank Computing这个公司开发的&#xff0c;有商业版权限…

vscode通过ssh连接ubuntu系统

折腾了好久&#xff0c;终于能够远程连上了&#xff0c;开心的记录一下哈哈( •̀ ω •́ )✧ 1.Ubuntu端 先把虚拟机网络适配器改为桥接模式。 通过ifconfig命令查看虚拟机的IP地址&#xff0c;如果没有该命令则先安装net-tools&#xff0c;记录当前的IP地址。 rootRobotM…

ROS项目的GDB调试

首先安装gdb和xterm sudo apt install xterm Ubuntu系统一般默认自带gdb&#xff0c;通过 gdb -v 看看有没有输出&#xff0c;有版本输出则已安装&#xff0c;就不用再安装了 sudo apt install gdb 开启编译选项 使用Debug调试&#xff0c;首先需要在程序编译时 加上debu…

自主HttpServer实现(C++实战项目)

文章目录项目介绍CGI技术概念原理设计框架日志文件TCPServer任务类初始化与启动HttpServerHTTP请求结构HTTP响应结构线程回调EndPoint类EndPoint主体框架读取HTTP请求处理HTTP请求CGI处理非CGI处理构建HTTP响应发送HTTP响应接入线程池简单测试项目扩展项目介绍 该项目是一个基…

Python 算法交易实验53 Step2.1 Signals 信号生成

说明 上次提到了基于传统的趋势法构建一组基础信号的方法&#xff0c;并做了简单的交易测算。本次计划对方法和测算做一下Review&#xff0c;同时明确接下来基于ADBS(Step2)进行承接时需要计算的数据。 内容 1 方法回顾 传统的趋势方法(SMA-LMA)采用“短线上升且突破长线买…

Spring Security Oauth2以及整合sso

Oauth2认证 第三方认证技术方案最主要是解决认证协议的通用标准问题&#xff0c;因为要实现跨系统认证&#xff0c;各系统之间遵循一定的接口协议。 Oauth协议为用户资源授权提供了一个安全的&#xff0c;开放的而又简单的标准&#xff0c;同时&#xff0c;任何第三方都可以使用…

【Linux系统编程】08:信号量

信号量 OVERVIEW信号量1.mmap内存映射2.semget信号量获取3.semctl信号量控制4.semop信号量操作5.使用案例1.mmap内存映射 mmap映射的是磁盘中的文件&#xff0c;而共享内存是将内存映射到用户的进程空间中 原型&#xff1a;void *mmap(void *addr, size_t length, int prot, …

DHCP中继配置

1. 实验目的 熟悉DHCP中继的应用场景掌握DHCP中继的配置方法2. 实验拓扑 DHCP中继配置实验拓扑如图15-10所示: 图15-10:DHCP中继配置 3. 实验步骤 IP地址的配置AR1的配置 <Huawei>system-view

VCO pulling

这次调试项目 目前复现的问题 2.4g干扰到5g 问题就是2.4g 5g 同时发包&#xff0c;5g evm直接从37-38变成33-34 于是我对vco-pulling做了一个小结 VCO pulling是指当一个外部信号对振荡器的频率产生影响时&#xff0c;振荡器的频率将被拉动或偏移。这种现象通常会在无线电通…

SpringBoot嵌入式Servlet容器 相关学习笔记

大家都知道SrpingBoot是内嵌Servlet容器的&#xff0c;并且默认是Tomcat&#xff0c;本文主要讲一下其中原理。   首先&#xff0c;SpringBoot是支持其它容器的&#xff0c;除了Tomcat外&#xff0c;还有Undertow&#xff0c;Netty以及Jetty。并且这些容器经过封装&#xff0c…

KAT: A Knowledge Augmented Transformer for Vision-and-Language

Paper name KAT: A Knowledge Augmented Transformer for Vision-and-Language Paper Reading Note URL: https://arxiv.org/pdf/2112.08614.pdf TL;DR 2022 NAACL 论文&#xff0c;提出了 Knowledge AugmentedTransformer (KAT)&#xff0c;提出了一种同时利用显式和隐式…

记录第一次安装部署datadonphon遇到的坑和解决办法

故事开始之前&#xff0c;我在3台服务器里新建了一个abin用户&#xff0c;3台服务器都用abin和root账号做了免密登录。故事开始了......按照官网文档一顿操作猛如虎到了配置集群了。那就配置呗&#xff0c;点它。仔细阅读了提示&#xff0c;嗯&#xff0c;明白它的意思了。来吧…

Python进阶-----高阶函数->filter() 函数

目录 前言&#xff1a; filter() 函数介绍 filter() 函数使用示例 1.与循环对比 2.与lambda函数综合使用 3.使用None过滤False 4.过滤字典相关数据 前言&#xff1a; 家人们&#xff0c;当你们获取了一个序列的时候&#xff0c;想要把一些内容去掉&#xff0c;保留一部分…

《JavaEE》进程和线程的区别和联系

&#x1f451;作者主页&#xff1a;Java冰激凌 &#x1f4d6;专栏链接&#xff1a;JavaEE 目录 进程是什么&#xff1f; 线程是什么&#xff1f; 进程和线程之间的联系~ ps1&#xff1a;假设我们当前的大兴国际机场有一条登机口可以登入飞机 ps2&#xff1a;我们为…

运动员最佳匹配问题(详解)

一、问题描述 羽毛球队有男女运动员各n人。给定2个nn矩阵P和Q。 P[i][j]是男运动员i的女运动员j配对组成混合双打的男运动员竞赛优势&#xff1b;Q[i][j]是女运动员i和男运动员j配对的女运动员竞赛优势。由于技术配合和心理状态等各种因素影响&#xff0c;P[i][j]不一定等于Q[…

LearnOpenGL-光照-6.多光源

本人刚学OpenGL不久且自学&#xff0c;文中定有代码、术语等错误&#xff0c;欢迎指正 我写的项目地址&#xff1a;https://github.com/liujianjie/LearnOpenGLProject 文章目录前言例子代码没有聚光灯效果有聚光灯效果前言 此节目的 综合2.5投光物&#xff0c;在此节实现一个场…