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

news2025/7/22 5:38:49

 

目录

 

1、求和

题目: 

思路:

代码:

 


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;
	else
		return 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;
	else
		cout << ((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;
}

 

 

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

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

相关文章

AI先行者第一辑:AI for Science 要坚持高压强投入

‍‍ 中国在AI for Science的基础还非常的薄弱&#xff0c;且非短期内可以提升&#xff0c;需要有一个长期性的计划&#xff0c;也需要有足够的金钱投入和人才队伍建设。 本篇作者褚学森&#xff0c;中国船舶科学研究中心、深海技术科学太湖实验室 研究员&#xff1b;新兴技术研…

代码随想录算法训练营第四十天丨 动态规划part03

343. 整数拆分 思路 看到这道题目&#xff0c;都会想拆成两个呢&#xff0c;还是三个呢&#xff0c;还是四个.... 来看一下如何使用动规来解决。 动态规划 动规五部曲&#xff0c;分析如下&#xff1a; 确定dp数组&#xff08;dp table&#xff09;以及下标的含义 dp[i]…

DNS 域名解析系统

文章目录 前言什么是 DNS 域名解析系统为什么需要 DNS 域名解析DNS 是如何发展的hosts 文件维护域名和IP的映射关系DNS 系统&#xff08;服务器&#xff09;DNS 镜像系统 前言 前面为大家分享了关于计算机网络中应用层——自定义协议、传输层——UDP、TCP 协议、网络层——IP协…

怎样用ps把人物皮肤磨皮,人物皮肤磨皮怎么办

品牌型号:联想GeekPro 2020 系统: Windows 10 64位专业版 软件版本: portraiture 3.5.6 皮肤瑕疵是人像拍摄中比较容易出现的问题&#xff0c;对于皮肤瑕疵后期一般会使用磨皮的方法处理。那么&#xff0c;怎样用ps把人物皮肤磨皮&#xff1f;ps磨皮的工具丰富多样&#xff…

如何在不同的系统中查找IP地址

知道如何找到你的IP地址是我们大多数人在日常生活中很少使用的技能&#xff0c;但当你需要的时候&#xff0c;这是一种你会感激的技能——尤其是如果你运行的是最好的Wi-Fi路由器之一。 当你从事家庭网络项目时&#xff0c;知道你的IP地址很重要&#xff0c;一旦你知道了基本知…

倾斜摄影三维模型数据几何坐标重建方法分析

倾斜摄影三维模型数据几何坐标重建方法分析 利用几何坐标变换等技术实现倾斜摄影三维模型数据的坐标重建&#xff0c;可以采用以下方法&#xff1a; 1、数据准备&#xff1a;首先&#xff0c;需要获取倾斜摄影影像数据。这些影像应包含多个视角下的拍摄图像&#xff0c;并覆盖…

docker--基本操作

第 1 章 Docker基础 1.1 docker简介 在这一部分我们主要讲两个方面&#xff1a; docker是什么、docker特点 1.1.1 docker是什么 docker是什么&#xff1f; docker的中文解释是码头工人。 官方解释&#xff1a; Docker是一个开源的容器引擎&#xff0c;它基于LCX容器技术&…

最新广告联盟系统源码/实时监控移动广告联盟系统/多元化合作推广方式+支持各种广告效果

源码简介&#xff1a; 最新广告联盟系统源码&#xff0c;作为实时监控移动广告联盟&#xff0c;它有着多元化合作推广方式&#xff0c;并支持各种广告效果。它是最新版本、功能强大的广告联盟系统。 诚丰广告联盟系统的单台服务器每天能够承受至少2000万个PV流量&#xff0c;并…

前端(二十六)——常见的HTTP异常状态码以及正反向代理配置

&#x1f475;博主&#xff1a;小猫娃来啦 &#x1f475;文章核心&#xff1a;前端常见的HTTP异常状态码以及正反向代理配置 文章目录 前端常见的HTTP异常状态码404 - 未找到资源403 - 禁止访问304 - 未修改500 - 服务器内部错误 正反向代理配置重要性本地正向代理配置服务器配…

GhostNet(CVPR 2020)学习笔记 (附代码)

论文地址&#xff1a;​​​​​​https://arxiv.org/abs/1911.11907v2 代码地址&#xff1a;https://github.com/huawei-noah/Efficient-AI-Backbones/blob/master/ghostnet_pytorch/ghostnet.py 1.是什么&#xff1f; Ghost module是一种模型压缩的方法&#xff0c;它可以…

韦东山D1S板子——利用xfel工具初始化内置64MB内存,并直接下载程序到内存运行

1、前言 &#xff08;1&#xff09;最近使用韦东山老师的D1S板子学习RISC-V架构知识&#xff0c;我是结合《RISC-V体系结构编程与实践》这本书的进行学习&#xff0c;其中韦东山老师对书中的代码做了部分移植&#xff0c;到MMU模块就没有在移植书中代码&#xff1b; &#xff0…

从小白到大牛:Linux嵌入式系统开发的完整指南

Linux嵌入式系统开发一直是一个激动人心的领域&#xff0c;吸引着越来越多的开发者。无论你是初学者还是已经有一些经验的开发者&#xff0c;本文将为你提供从小白到大牛的完整指南&#xff0c;帮助你掌握Linux嵌入式系统开发的关键概念和技能。我们将深入探讨Linux内核、设备驱…

从开发者的角度看K8S中的复合容器模式

就应用设计最佳实践和原则而言&#xff0c;构建复杂的基于容器的架构与编程没有太大区别。本文的目标是使用众所周知的编程原理从开发人员的角度展示三种流行的可扩展性架构模式。 让我们从单一职责原则开始。根据 R. Martin 的说法&#xff0c;“一个类应该只有一个改变的理由…

高性能渲染——详解Html Canvas的优势与性能

本文由葡萄城技术团队原创并首发。转载请注明出处&#xff1a;葡萄城官网&#xff0c;葡萄城为开发者提供专业的开发工具、解决方案和服务&#xff0c;赋能开发者。 一、什么是Canvas 想必学习前端的同学们对Canvas 都不陌生&#xff0c;它是 HTML5 新增的“画布”元素&#x…

污水一体处理设备工艺有哪些

污水一体处理设备工艺主要包括以下几种&#xff1a; AO工艺&#xff1a;AO工艺是增加好氧池缺氧池形成硝化-反硝化系统&#xff0c;处理污水中氮含量效率提升。SBR工艺&#xff1a;SBR工艺是按间歇曝气方式运行的活性污泥处理技术&#xff0c;厌氧、好氧、缺氧处于交替状态&am…

选择适合制造业的企业邮箱平台

自2010年成立以来&#xff0c;J公司已从一家小型有限责任公司发展成为全球领先的工业内窥镜研发、生产和销售企业。公司的产品制造采用国际先进技术和一流生产工艺&#xff0c;专业为客户提供定制解决方案&#xff0c;产品已广泛应用于锅检特检、机械制造、发电、石油、燃气、化…

AWS认证考试的那些事

1 为啥会有这个认证 你既然点进来了这个也就不重要了&#xff0c;重要的是怎么拿到他&#xff0c;以SAA-C03为例&#xff0c;从开始到结束我们一起来进行准备 2 考试卷 目前AWS的考试是要交钱的&#xff0c;正常情况下拿到5折劵很容易&#xff0c;比如你之前考过AWS的认证会给…

蓝牙 - LE的Connection Parameters设定

BLE链接参数设定 两个BLE设备建立链接后&#xff0c;可以更改链接参数。Central和Peripheral设备均可发送更新链接参数请求。这个在很多时候是有必要的&#xff0c;因为广播扫描的建立链接过程&#xff0c;和链接保持的过程&#xff0c;对链接参数的要求是不同的。比如设置连接…

LInux之在同一Tomcat下使用不同的端口号访问不同的项目

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是君易--鑨&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的博客专栏《LInux实战开发》。&#x1f3af;&#x1f3af; …

深入探索 C++ 多态 ② - 继承关系

前言 上一章 简述了虚函数的调用链路&#xff0c;本章主要探索 C 各种继承关系的类对象的多态特性。 深入探索 C 多态 ① - 虚函数调用链路深入探索 C 多态 ② - 继承关系深入探索 C 多态 ③ - 虚析构 1. 概述 封装&#xff0c;继承&#xff0c;多态是 C 的三大特性&#xf…