46
#include<bits/stdc++.h>
using namespace std;
/* 第一,它是某一个自然数的平方;
第二,它的千位数字与十位数字之和等于百位数字与个位数字之积。 */
int main(){
int arr[100]={0};
int amount=0;
for(int i=1150;i<10000;i++){
int k =i/1000;
int h =i/100%10;
int t =(i%100)/10;
int g =i%10;
if(k+t==h*g){
amount++;
arr[amount]=i;
}
}
int num;
while(scanf("%d",&num) != EOF){
printf("%d\n",arr[num]);
}
}
47
#include<bits/stdc++.h>
using namespace std;
int main(){
int N,L1,L2;
while(cin>>N>>L1>>L2){
int arr[N];
for(int i=0;i<N;i++){
cin>>arr[i];
}
int max= INT_MIN;
for(int i=L1;i<=L2;i++){//倍数循环
for(int j=0;j<=N-i;j++){ //起始点
int sum=0;
for(int k=0;k<i;k++){ //加法循环
sum+=arr[(k+j)%N];
}
if(sum>max){
max=sum;
}
}
}
cout<<max<<endl;
}
}
48
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n;
// 循环读取多组测试数据(比如输入多组n和数组)
while (cin >> n) {
vector<int> a(n);
for (int i = 0; i < n; ++i) {
cin >> a[i]; // 读入数组元素
}
// cnt[r]:统计余数r出现的次数(r范围0~10)
vector<long long> cnt(11, 0);
long long prefix = 0; // 当前前缀和
cnt[0] = 1; // 初始条件:prefix[0]=0,余数0出现了1次
long long ans = 0; // 最终答案
// 遍历数组,计算每个位置的前缀和余数
for (int num : a) {
// 1. 更新当前前缀和,并取模11(保证余数在0~10)
prefix = (prefix + num) % 11;
// 处理负数模(本题num是正的,可省略,通用写法)
//if (prefix < 0) prefix += 11;
// 2. 核心:当前余数prefix已经出现了cnt[prefix]次,
// 说明能组成cnt[prefix]个合法子数组,加到答案里
ans += cnt[prefix];
// 3. 统计当前余数,次数+1(供后续元素使用)
/* 我们要找的是「子数组和能被 11 整除」,也就是:
(prefix[i] - prefix[j]) % 11 == 0
根据模运算的性质,这个式子等价于:
prefix[i] % 11 == prefix[j] % 1 */
cnt[prefix]++;
}
cout << ans << endl; // 输出每组的答案
}
return 0;
}
卷积神经网络(CNN)是深度学习中最重要的模型之一,广泛应用于图像分类、对象检测和图像分割等计算机视觉任务中。与传统的全连接神经网络相比,CNN通过使用局部连接和权重共享显著减少了参数的数量,从而降低了计算复杂度。卷积层可以自动从原始图像中提取特征,包括边缘、纹理和形状。随着层数的增加,模型能够学习更抽象和复杂的特征表示。此外,池化层通常用于降低特征图的空间维度,从而降低计算成本并提高鲁棒性。在实际应用中,卷积神经网络在医学图像分析、自动驾驶和人脸识别等领域取得了显著成功。然而,训练深度卷积神经网络通常需要大量的标记数据和强大的计算资源,这仍然是当前研究中的一个重要挑战。
