当前位置: 首页 > news >正文

蓝桥杯 (C++ 求和 等差数列 顺子日期 灌溉)

目录

1、求和

题目: 

思路:

代码:

2、等差数列 

题目:

思路:

 代码:

3、顺子日期

题目: 

思路: 

代码:

4、灌溉

题目:

代码: 



1、求和

题目: 

a10994d10cf944fca4587200a03f3181.png

思路:

1、首先想到的是两重遍历,累加和。但是当n取200000时,会超时,所以暴力的遍历没有办法通过全部案例。

2、将公式变形得到S=a1*(a2+....+an)+a2*(a3+....+an)+.....+an.

3、所以先求所有项的累加和sum,从第一项开始每次将sum减去一项自身ai乘以自身ai,再将这些和相加得到结果。

代码:

#include<iostream>
using namespace std;
int main()
{int n,a[200010];cin >> n;long long sum = 0;for (int i = 0; i < n; i++){cin >> a[i];sum += a[i];}long long ans = 0;for (int i = 0; i < n; i++){sum -= a[i];ans += a[i] * sum;}cout << ans;
}

2、等差数列 

题目:

b3af1879ea7f4b38bd1c176f42eda1b6.png

思路:

1、求等差数列,一开始想到直接找它们的最小差作为公差,但实际上是不行的,这可能没有办法构成等差数列。(比如:15、5、1这三个数,如果取5-1的差4为公差,会发现1、5、9、13、17,15不在等差数列中,所以不可取。)

2、通过上面的例子我们可以发现,我们要求的公差是可以满足一个数可以等于从另一个数加公差的倍数。所以我们要求的公差,是将所有数从小到大排序,所有相邻两数差的最大公约数。(比如:1、5、15,差有4、10,它们的最大公约数为2,所以公差为2,构成1、3、5、7、9、11、13、15的等差数列。)

3、最后得到公差,个数即位最大的数减去最小的数/公差+1;有一种情况比较特殊,当公差为0,即每个数都相等的时候,个数即为n。

 代码:

#include<iostream>
#include<algorithm>
using namespace std;
long long gcd(int a, int b)//辗转相除,求最大公约数
{if (b == 0)return a;elsereturn gcd(b, a % b);
}
int main()
{int n;cin >> n;long long a[100010];for (int i = 0; i < n; i++)cin >> a[i];sort(a, a + n);long long d = a[1] - a[0];for (int i = 2; i < n; i++){d = gcd(d, a[i] - a[i - 1]);}if (a[n - 1] == a[0])cout << n;elsecout << ((a[n - 1] - a[0]) / d )+ 1;
}

3、顺子日期

题目: 

aac965a693504de3b78531c344c1c22b.png

思路: 

1、判断每一天是否存在顺子序列:012、123、234.......,只要存在一个顺子序列即为顺子日期。

代码:

#include<iostream>
#include<algorithm>
using namespace std;
int judge(int t[])
{int flag = 0;for (int i = 3; i <= 5; i++){if (t[i] == (t[i + 1] - 1) && (t[i + 1] == t[i + 2] - 1)){flag = 1;break;}}return flag;
}
int main()
{int day[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };int t[8] = { 2,0,2,2 },ans = 0;for (int i = 1; i <= 12; i++){t[4] = i / 10;t[5] = i % 10;for (int j = 1; j <= day[i]; j++){t[6] = j / 10;t[7] = j % 10;if (judge(t)){ans++;//for (int i = 0; i < 8; i++)//cout << t[i];//cout << endl;}}}cout << ans;
}

4、灌溉

题目:

e79ac57a4b52496991e99d79a98a78ed.png

代码: 

#include<iostream>
#include<cmath>
using namespace std;
int n, m, t, r[110], c[110];
int main()
{cin >> n >> m >> t;for (int i = 1; i <= t; i++)cin >> r[i] >> c[i];int k;cin >> k;int cnt = 0;for (int i = 1; i <= n; i++){for (int j = 1; j <= m; j++){for (int l = 1; l <= t; l++){int d = abs(r[l] - i) + abs(c[l] - j);if (d <= k){cnt++;break;}}}}cout << cnt << endl;
}

相关文章:

蓝桥杯 (C++ 求和 等差数列 顺子日期 灌溉)

目录 1、求和 题目&#xff1a; 思路&#xff1a; 代码&#xff1a; 2、等差数列 题目&#xff1a; 思路&#xff1a; 代码&#xff1a; 3、顺子日期 题目&#xff1a; 思路&#xff1a; 代码&#xff1a; 4、灌溉 题目&#xff1a; 代码&#xff1a; 1、求和…...

Spring AOP基于XML方式笔记整理

XML AOP 加载流程 ClassPathXmlApplicationContext#refreshAbstractApplicationContext#obtainFreshBeanFactoryAbstractRefreshableApplicationContext#refreshBeanFactory创建DefaultListableBeanFactoryAbstractApplicationContext#loadBeanDefinitions(beanFactory)创建Xm…...

Docker HTTP(S) Proxy代理方式连接互联网

Docker HTTP(S) Proxy 是一种在 Docker 容器内部设置 HTTP(S) 代理的方法&#xff0c;以便于容器内的应用程序可以方便地通过代理访问互联网。设置 HTTP(S) 代理的方法主要有两种&#xff1a;使用 Dockerfile 配置和在使用 docker run 时添加参数。 以下是使用 Docker HTTP(S) …...

华纳云:centos系统中怎么查看cpu信息?

在CentOS系统中&#xff0c;我们可以使用一些命令来查看CPU的详细信息。下面介绍几个常用的命令&#xff1a; 1. lscpu lscpu命令可以显示CPU的架构、型号、核心数、线程数、频率等信息。 # lscpu 执行以上命令后&#xff0c;会输出类似以下内容&#xff1a; 2. cat /proc/…...

如何选择微信管理系统?

如何选择微信管理系统&#xff1f; 1、不用下载安装软件&#xff0c;不越狱不刷机 2、不绑定手机或电脑&#xff0c;不对电脑或手机做限制&#xff0c;也不受电脑、手机关闭、关机影响 3、能更新迭代&#xff0c;不限制版本 4、使用安全登录&#xff0c;保障账号安全的 5、不用…...

文字的力量

不知道以前的时代的年轻人有没有这样的感受。现在我觉得自己是不是出现了认知偏差&#xff0c;发现在很多描写现在的二十几岁年轻人的成长经历的文字下面都会出现很多共鸣&#xff0c;包括我自己也有&#xff0c;就让我有一个错觉:是不是中国所有的和我同龄的年轻人都是这样过来…...

荒野大镖客emp.dll文件丢失的怎么办,快速修复游戏dll问题

在玩荒野大镖客这款游戏的过程中&#xff0c;我遇到了一个令人困扰的问题——emp.dll文件丢失。emp.dll是荒野大镖客游戏中的一个动态链接库文件&#xff0c;它负责管理游戏中的一些功能模块。当这个文件丢失时&#xff0c;游戏可能无法正常运行&#xff0c;导致一些功能无法使…...

力扣labuladong——一刷day20

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言差分数组工具类一、力扣370. 区间加法二、力扣1109. 航班预订统计三、力扣1094. 拼车 前言 差分数组的主要适用场景是频繁对原始数组的某个区间的元素进行增减…...

XSpirit 2智能边缘计算机使用测评

博客主页&#xff1a;https://tomcat.blog.csdn.net 博主昵称&#xff1a;农民工老王 主要领域&#xff1a;Java、Linux、K8S 期待大家的关注&#x1f496;点赞&#x1f44d;收藏⭐留言&#x1f4ac; 目录 拆箱过程介绍视频使用感受 我之前就参加过 Spirit 1 第一代智能边缘计…...

python实现MC协议(SLMP 3E帧)的TCP服务端(篇二)

python实现MC协议&#xff08;SLMP 3E帧&#xff09;的TCP服务端是一件稍微麻烦点的事情。它不像modbusTCP那样&#xff0c;可以使用现成的pymodbus模块去实现。但是&#xff0c;我们可以根据协议帧进行组包&#xff0c;自己去实现帧的格式&#xff0c;而这一切可以基于socket模…...

nodejs express uniapp 图书借阅管理系统源码

开发环境及工具&#xff1a; nodejs&#xff0c;mysql5.7&#xff0c;HBuilder X&#xff0c;vscode&#xff08;webstorm&#xff09; 技术说明&#xff1a; nodejs express vue elementui uniapp 功能介绍&#xff1a; 用户端&#xff1a; 登录注册 首页显示轮播图&am…...

从零开始的目标检测和关键点检测(一):用labelme标注数据集

从零开始的目标检测和关键点检测&#xff08;一&#xff09;&#xff1a;用labelme标注数据集 1、可视化标注结果2、划分数据集3、Lableme2COCO&#xff0c;将json文件转换为MS COCO格式 前言&#xff1a;前段时间用到了mmlab的mmdetction和mmpose&#xff0c;因此以一个小的数…...

【JVM经典面试题(五十二道)】

文章目录 JVM经典面试题&#xff08;五十二道&#xff09;引言1.什么是JVM 内存管理2.能说一下JVM的内存区域吗&#xff1f;3.说一下JDK1.6、1.7、1.8内存区域的变化&#xff1f;4.为什么使用元空间替代永久代作为方法区的实现&#xff1f;5.对象创建的过程了解吗&#xff1f;6…...

高效管理:在文件夹名称左边添加关键字,实现批量重命名

在高效的文件管理中&#xff0c;对文件夹进行合理命名和重命名是十分关键的。有时候&#xff0c;我们可能需要在一批文件夹的名称左边添加特定的关键字&#xff0c;以便更好地组织和管理这些文件夹。为了实现这个目标&#xff0c;我们可以使用云炫文件管理器一些简单的步骤来实…...

Leetcode1122. 数组的相对排序

Every day a Leetcode 题目来源&#xff1a;1122. 数组的相对排序 解法1&#xff1a;哈希 用集合 set 存储 arr2 中的元素。 遍历数组 arr1 &#xff0c;设当前元素为 num&#xff1a; 如果 num 在 set 中出现&#xff0c;用哈希表 hash 记录 num 和它出现的次数。否则&a…...

CN考研真题知识点二轮归纳(5)

本轮的最后一贴&#xff0c;真题中涉及计网的部分彻底总结完&#xff01;后期的3轮总结可能会上一些大题&#xff0c;比如路由转发、子网划分什么的&#xff0c;以及重点的背诵内容~ 上期目录&#xff1a; CN考研真题知识点二轮归纳&#xff08;4&#xff09;https://jslhyh32…...

windows系统 生成RSA密钥对

在Windows系统上生成密钥对&#xff0c;可以使用多种方法&#xff0c;这里将介绍两种常用的方法&#xff1a; 方法1: 使用PuTTYgen PuTTYgen是PuTTY套件的一部分&#xff0c;是在Windows上生成SSH密钥对的一个流行工具。如果你的目的是SSH密钥对&#xff0c;你可以这样操作&a…...

大文件分片上传并发

我这边使用的是boostrap-fileimput 初始化文件上传框 $(document).ready(function () {$("#file-upload_import").fileinput({uploadUrl: "#",language: "zh", //设置语言showPreview: true,autoReplace: true,// uploadUrl: "/uact/uploa…...

数据结构——基于顺序表实现通讯录

一、. 基于动态顺序表实现通讯录 1.1 功能要求 1&#xff09;⾄少能够存储100个⼈的通讯信息 2&#xff09;能够保存⽤⼾信息&#xff1a;名字、性别、年龄、电话、地址等 3&#xff09;增加联系⼈信息 4&#xff09;删除指定联系⼈ 5&#xff09;查找制定联系⼈ 6&…...

行业追踪,2023-11-03

自动复盘 2023-11-03 凡所有相&#xff0c;皆是虚妄。若见诸相非相&#xff0c;即见如来。 k 线图是最好的老师&#xff0c;每天持续发布板块的rps排名&#xff0c;追踪板块&#xff0c;板块来开仓&#xff0c;板块去清仓&#xff0c;丢弃自以为是的想法&#xff0c;板块去留让…...

基于ARM核心板的T-BOX系统设计:从硬件选型到软件实现

1. 项目概述与核心价值最近几年&#xff0c;车联网的概念已经从实验室和展会&#xff0c;实实在在地走进了我们的日常生活。作为一名在嵌入式领域摸爬滚打了十几年的工程师&#xff0c;我亲眼见证了从简单的GPS定位模块&#xff0c;到如今功能高度集成的车载T-BOX&#xff08;T…...

推理服务为什么一上自动 Prompt 优化就开始成本失控:从 Prompt 版本爆炸到在线 A/B 收敛的工程实战

一、自动 Prompt 优化的成本幻觉 不少团队上线推理服务后&#xff0c;发现同一任务换句 Prompt 输出质量可提升 20%。&#x1f680; 自动 Prompt 优化因此成了香饽饽——系统同时维护几十个版本在线分流。但两周后账单涨了 40%。⚡️ 问题不在 Prompt&#xff0c;而是版本爆炸把…...

遥感转码占比3.16%:为什么比测绘、地信少?

年初时我们统计过一个数据&#xff0c;2025年所有转GIS开发的同学中&#xff0c;遥感转码的人数占比约3.16%&#xff0c;远低于地信&#xff08;36.84%&#xff09;和测绘&#xff08;20.52%&#xff09;&#xff0c;甚至不如城乡规划&#xff08;8.95%&#xff09;多。都说3S不…...

告别盲目添加LOCAL_LDFLAGS:深入理解Android NDK链接错误与libutils的正确引用姿势

深入解析Android NDK链接错误&#xff1a;从libutils引用看系统库的正确使用姿势 当你在Android NDK开发中遇到undefined symbol错误时&#xff0c;第一反应可能是寻找快速解决方案。网上常见的建议是添加-Wl,--unresolved-symbolsignore-all来绕过链接器检查&#xff0c;但这就…...

SAP 梳理思路

蓝图 业务/需求背景 解决方案 配置 操作手册 程序 优化...

ThinkPad双风扇终极控制指南:TPFanCtrl2让你的笔记本既静音又高效

ThinkPad双风扇终极控制指南&#xff1a;TPFanCtrl2让你的笔记本既静音又高效 【免费下载链接】TPFanCtrl2 ThinkPad Fan Control 2 (Dual Fan) for Windows 10 and 11 项目地址: https://gitcode.com/gh_mirrors/tp/TPFanCtrl2 你是否曾因ThinkPad风扇的持续噪音而分心…...

养老护理员网课选哪家好?3大平台网课深度测评!

老龄化加剧下&#xff0c;养老护理员成为刚需职业&#xff0c;不少人想入行考证&#xff0c;但也会面临不扫问题&#xff1a;零基础怕学不懂、上班族缺整块时间、预算有限想性价比、备考缺题库练手…… 市面上网课、题库也很多&#xff0c;有的价格过高&#xff0c;有的内容过时…...

SAP顾问实战:给MB51报表加供应商名称和原因代码,完整隐式增强教程

SAP顾问实战&#xff1a;MB51报表增强之供应商与原因代码集成指南 在SAP项目实施过程中&#xff0c;业务用户对标准报表的抱怨几乎成为每个顾问的日常。"为什么不能在一个报表里看到所有信息&#xff1f;"——MB51物料凭证清单作为物料移动的核心查询工具&#xff0c…...

用Multisim仿真带你玩转钟控触发器:从RS到T触发器的电路搭建与波形验证

用Multisim仿真带你玩转钟控触发器&#xff1a;从RS到T触发器的电路搭建与波形验证 在数字电路设计中&#xff0c;触发器是最基础的时序逻辑单元之一。无论是简单的计数器还是复杂的CPU&#xff0c;都离不开各种触发器的组合应用。但对于初学者来说&#xff0c;仅通过理论公式和…...

从理论到实践:用Magma解锁代数计算新维度

1. 为什么你需要Magma这个代数计算神器 第一次接触Magma是在研究生时期&#xff0c;当时我需要计算一个椭圆曲线上的有理点。用Matlab折腾了整整一周毫无进展&#xff0c;导师随手扔给我一个Magma代码示例&#xff0c;三行命令就解决了问题。那一刻我才明白&#xff0c;专业的事…...