学习总结12

P8772 [蓝桥杯 2022 省 A] 求和

题目描述

给定 n 个整数 1,2,⋯ ,a1​,a2​,⋯,an​, 求它们两两相乘再相加的和,即

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

输入格式

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

第二行包含 n 个整数 1,2,⋯a1​,a2​,⋯an​ 。

输出格式

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

输入输出样例

输入 #1复制

4

1 3 6 9

输出 #1复制

117

说明/提示

对于 30%30% 的数据, 1≤n≤1000,1≤ai​≤100 。

对于所有评测用例, 1≤n≤2×105,1≤ai​≤1000 。

蓝桥杯 2022 省赛 A 组 C 题。

cs 复制代码
#include<stdio.h>
long long a[200010],sum;
int main() 
{
    int n,i;
	long long cnt=0;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {    
	    scanf("%lld",&a[i]);
	    sum=sum+a[i];
	} 
    for(i=1;i<=n;i++)
    {
    	cnt=cnt+(sum-a[i])*a[i];
	}
	printf("%lld",cnt/2);
}

P8680 [蓝桥杯 2019 省 B] 特别数的和

题目描述

小明对数位中含有 2、0、1、9 的数字很感兴趣(不包括前导 0),在 1 到 40 中这样的数包括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574。

请问,在 1 到 n 中,所有这样的数的和是多少?

输入格式

输入一行包含一个整数 n。

输出格式

输出一行,包含一个整数,表示满足条件的数的和。

输入输出样例

输入 #1复制

40

输出 #1复制

574

说明/提示

对于 20%20% 的评测用例,1≤n≤10。

对于 50%50% 的评测用例,1≤n≤100。

对于 80%80% 的评测用例,1≤n≤1000。

对于所有评测用例,1≤n≤10000。

蓝桥杯 2019 省赛 B 组 F 题。

cs 复制代码
#include<stdio.h>
int main() 
{
	int a[10],n,i,j,sum=0;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
    	a[0]=i%10;
    	a[1]=i/10%10;
    	a[2]=i/100%10;
    	a[3]=i/1000%10;
    	a[4]=i/10000;
    	if(i<10)
    	{
    		if(i==2||i==1||i==0||i==9)
    		sum=sum+i;
		}
		else if(i>=10&&i<100)
		{
			for(j=0;j<=1;j++)
			{
			    if(a[j]==2||a[j]==1||a[j]==0||a[j]==9)
    		    {
					sum=sum+i;
    		        break;
    		    }
			}
		}
		else if(i>=100&&i<1000)
		{
			for(j=0;j<=2;j++)
			{
			    if(a[j]==2||a[j]==1||a[j]==0||a[j]==9)
    		    {
					sum=sum+i;
    		        break;
    		    }
			}
		}
		else if(i>=1000&&i<10000)
		{
			for(j=0;j<=3;j++)
			{
			    if(a[j]==2||a[j]==1||a[j]==0||a[j]==9)
    		    {
					sum=sum+i;
    		        break;
    		    }
			}
		}
	}
	printf("%d",sum);
}

P8647 [蓝桥杯 2017 省 AB] 分巧克力

题目描述

儿童节那天有 K 位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。

小明一共有 N 块巧克力,其中第 i 块是 Hi​×Wi​ 的方格组成的长方形。

为了公平起见,小明需要从这 N 块巧克力中切出 K 块巧克力分给小朋友们。切出的巧克力需要满足:

  1. 形状是正方形,边长是整数。

  2. 大小相同。

例如一块 6×5 的巧克力可以切出 6 块 2×2 的巧克力或者 2 块 3×3 的巧克力。

当然小朋友们都希望得到的巧克力尽可能大,你能帮小 Hi​ 计算出最大的边长是多少么?

输入格式

第一行包含两个整数 N 和 K。(1≤N,K≤105)。

以下 N 行每行包含两个整数 Hi​ 和 Wi​。(1≤Hi​,Wi​≤105)。

输入保证每位小朋友至少能获得一块 1×11×1 的巧克力。

输出格式

输出切出的正方形巧克力最大可能的边长。

输入输出样例

输入 #1复制

2 10

6 5

5 6

输出 #1复制

2

说明/提示

蓝桥杯 2022 省赛 A 组 I 题。

cs 复制代码
#include<stdio.h>
int a[100010],b[100010];
int n,k;
int f(int t)
{
	int sum=0;
	for(int i=1;i<=n;i++)  
		sum=(a[i]/t)*(b[i]/t)+sum;
	if(sum>=k)
	    return 1;
	else return 0;
}

int main() 
{
    scanf("%d %d",&n,&k);
    for(int i=1;i<=n;i++)  
		scanf("%d %d",&a[i],&b[i]);
    long long min=1,max=100005,mid;
	while(min<max)
	{
		mid=(max+min)/2;
		if(f(mid)==1)
			min=mid+1;
		else
			max=mid;
	}
	printf("%lld",min-1);
	return 0;
}
相关推荐
西岸行者5 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意6 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码6 天前
嵌入式学习路线
学习
毛小茛6 天前
计算机系统概论——校验码
学习
babe小鑫6 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms6 天前
ROS2知识大白话
笔记·学习·ros2
在这habit之下6 天前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs
我想我不够好。6 天前
2026.2.25监控学习
学习
im_AMBER6 天前
Leetcode 127 删除有序数组中的重复项 | 删除有序数组中的重复项 II
数据结构·学习·算法·leetcode
CodeJourney_J6 天前
从“Hello World“ 开始 C++
c语言·c++·学习