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

蓝桥杯2080、2120、2377、17134

求和

问题描述

给定 nn 个整数 a1,a2,⋅⋅⋅,ana1​,a2​,⋅⋅⋅,an​ ,求它们两两相乘再相加的和,即:

S=a1⋅a2+a1⋅a3+⋯+a1⋅an+a2⋅a3+⋯+an−2⋅an−1+an−2⋅an+an−1⋅an

输入格式

输入的第一行包含一个整数 nn。

第二行包含 nn 个整数 a1,a2,⋯,ana1​,a2​,⋯,an​。

输出格式

输出一个整数 S,表示所求的和。请使用合适的数据类型进行运算。

暴力做法(不能全部通过)

#include <iostream> using namespace std; const int N=200005; typedef long long LL; int n; int a[N]; int main() { scanf("%d",&n); for(int i=0;i<n;i++){ scanf("%d",&a[i]); } LL sum=0; for(int i=0;i<n;i++){ for(int j=i+1;j<n;j++){ sum+=a[i]*a[j]; } } printf("%lld",sum); return 0; }

优化:

a1*a2+a1*a3+......+a1*an+a2*a3+a2*a4+......an−1​*an​

=a1*(a2+a2+......+an)+a2*(a3+a4+......+an)+......an−1​*an​

=a1*(s-a1)+a2*(s-a1-a2)+......+an*(s-a1-a2-...-an-1)

#include <iostream> using namespace std; const int N=200005; typedef long long LL; int n; int a[N]; LL s=0,ans=0; int main() { scanf("%d",&n); for(int i=0;i<n;i++){ scanf("%d",&a[i]); s+=a[i]; } for(int i=0;i<n;i++){ s-=a[i]; ans+=a[i]*s; } printf("%lld",ans); return 0; }

纸张尺寸

问题描述

在 ISO 国际标准中定义了 A0 纸张的大小为 1189mm ×× 841mm, 将 A0 纸 沿长边对折后为 A1 纸, 大小为 841mm ×× 594mm, 在对折的过程中长度直接取 下整 (实际裁剪时可能有损耗)。将 A1 纸沿长边对折后为 A2 纸, 依此类推。

输入纸张的名称, 请输出纸张的大小。

输入格式

输入一行包含一个字符串表示纸张的名称, 该名称一定是 A0、A1、A2、 A3、A4、A5、A6、A7、A8、A9 之一。

输出格式

输出两行,每行包含一个整数,依次表示长边和短边的长度。

#include <iostream> using namespace std; int main() { int l = 1189, w = 841, a = 0; scanf("A%d", &a); for(int i = 0; i < a; i++) { int tmp = l; l = w; w = tmp / 2; } printf("%d\n%d", l, w); return 0; }

特殊年份

问题描述

今年是 2021 年, 2021 这个数字非常特殊, 它的千位和十位相等, 个位比 百位大 1 ,我们称满足这样条件的年份为特殊年份。

输入 5 个年份, 请计算这里面有多少个特殊年份。

输入格式

输入 5 行, 每行一个 4 位十进制数 (数值范围为 1000 至 9999), 表示一个 年份。

输出格式

输出一个整数, 表示输入的 5 个年份中有多少个特殊年份。

字符串,py思想,把他看做是只含有数字的字符串(数组),直接暴力,简洁

#include<bits/stdc++.h> using namespace std; int ans=0; int main(){ string s; for(int i=1;i<=5;i++){ cin>>s; if(s[0]==s[2]&&s[1]==s[3]-1) ans++; } cout<<ans; return 0; }

玩具

问题描述

小明的妈妈给他买了 nn 个玩具,但是为了同时考察他的智力,只给了他 2×n2×n 个零件,第ii个零件的重量为 wiwi​(1≤i≤2×n1≤i≤2×n)。

其中任意两个零件都可以拼接成一个玩具,这个玩具的权重就等于拼接所用的 两个零件的重量的乘积两个零件的重量的乘积。小明的妈妈希望小明能够使用这2×n2×n 个零件拼接出 nn 个玩具(每个零件必须使用且只能用一次),使得所有玩具的权重的和最小。小明希望你帮帮他计算出最小的权重和。

输入描述

输入共 22 行。

第一行为一个正整数 nn。

第二行为 2×n2×n 个由空格隔开的整数 w1,w2,...,w2×nw1​,w2​,...,w2×n​。

输出描述

输出共 11 行,一个整数。

贪心加双指针 排序,最大值与最小值相乘的和

#include <bits/stdc++.h> using namespace std; typedef long long LL; int main() { int n; cin>>n; vector<LL> a(2*n); LL cnt=0; for(int i=0;i<2*n;i++) cin>>a[i]; sort(a.begin(),a.end()); int i=0; int j=2*n-1; while(i<j){ cnt+=a[i]*a[j]; i++; j--; } cout<<cnt; return 0; }
http://www.cnnetsun.cn/news/1276913.html

相关文章:

  • C 语言网络编程避坑指南:一个“隐身”回车符引发的 Bug 与 strcspn 的神级救场
  • Flutter 三方库 typed_bus 鸿蒙适配指南 - 实现强类型内存事件总线、在 OpenHarmony 上打造极度解耦的组件交互防线实战
  • 在linux下安装matlab
  • 2026商家寄件价格对比:一站式平台vs传统模式,省成本秘诀?
  • 伪装成HP Smart的卡巴斯基病毒
  • 突破Minecraft物品堆叠限制:如何用3行代码实现资源管理效率提升300%?
  • 光纤测距传感器:开启精准测量的新时代
  • 尼龙磁与橡胶磁区别有哪些?
  • 如何安全解锁Switch高级功能?零基础玩家的大气层系统定制指南
  • # 一个单文件 main.py 能承载多大价值?我从微信机器人项目里得到的答案
  • CefFlashBrowser:数字遗产守护者的技术方舟——Flash内容访问与保护全方案
  • Python基于flask-django学生选课作业管理系统设计_
  • Highcharts Variable radius pie 可变半径饼图使用完全手册|玩转科学图表创建
  • 3分钟告别英文障碍:GitHub全界面零门槛汉化指南
  • 如何通过LeagueAkari提升英雄联盟游戏体验?完整工具指南
  • 电子级异丙醇与NMP深度纯化技术:从硼选择性捕获到金属杂质的极限脱除
  • 探索 TSMC28nm 可仿真器件库:开启芯片设计新征程
  • 微信AI在线客服系统源码,支持多公众号接入,拿来就能用
  • AI写代码三个月后,我的一些真实感受
  • 解锁6大效率密码:Umi-OCR引擎参数配置优化指南
  • NVS万物搜焕新上线!点击即搜,轻松上手
  • 使用API获取新加坡股票数据的完整指南
  • 中专数控专业,毕业前必拿的证书有哪些?
  • 小爱音箱音乐自由解决方案:Xiaomusic突破平台限制全指南
  • md2pptx:高效Markdown转PowerPoint工具提升演示制作效率
  • YOLOv13优化:AAAI2026 | 融合PartialNet Block的C3k2-YOLO高效目标检测网络 | 轻量化涨点设计
  • 农经权二轮延包—界址点号按地块从1排保证唯一
  • 计算机网络实验作业-IP分组分片和ARP实验
  • 突破学术文档限制困境:3步解锁永久访问的高效解决方案
  • 10倍效率革命:抖音批量下载工具如何彻底解放你的双手?