代码问题最大值作者: frankhuhu时间限制: 10s章节: 一维数组问题描述为了培养明明对数学的热爱明明的爸爸经常想出一些简单有趣且富有数学思想的游戏给明明玩。有一次明明的爸爸在纸上写了N个数字有正整数、负整数和0。明明的爸爸给明明一个范围他可以选大于等于L1个且小于等于L2个的数字L1≤L2且这些数字必须是连续的。但是要求明明选出的数的和最大这样说明明可能不太明白于是明明爸爸就举了一个简单的例子。 例如有5个数字为“1”、“2”、“3”、“4”、“5”明明可以选择大于等于1个且小于等于2个的数字也就是说明明可以选择1个数字或者连续的2个数字。通过观察数字串最后我们会选2个数字4和5他们的和最大为9。 明明明白爸爸的意思后就开始玩起游戏来。但是他发现这个游戏看似简单其实还是有相当的难度因为数字越多选择数字个数范围越大则题目越难到后面明明有些不想玩了。于是明明就求助于你请你帮他写一个程序来求出和的最大值。 明明的问题可以归结为有N个数字从中选择出连续的M(L1≤M≤L2)个数求出它们之和的最大值。输入说明你写的程序要求从标准输入设备中读入测试数据作为你所写程序的输入数据。标准输入设备中有多组测试数据每组测试数据有两行每组测试数据的第一行有三个整数N(0N≤20)、L1、L2(0L1≤L2≤N)N表示数字串中有多少个整数L1、L2表示可选数字个数的范围每组测试数据的第二行有N个整数整数大小的绝对值都小于等于100整数之间用一个空格隔开。每组测试数据与其后一组测试数据之间没有任何空行第一组测试数据前面以及最后一组测试数据后面也都没有任何空行。代码如下#include stdio.h// 定义一个极小值用于初始化最大值#define MIN_NUM -10000int main() {int N, L1, L2;// 循环读取多组输入直到输入结束while (scanf(%d %d %d, N, L1, L2) ! EOF) {int arr[25]; // 存储数字N最大20数组开25足够// 读取N个数字for (int i 0; i N; i) {scanf(%d, arr[i]);}int max_sum MIN_NUM; // 初始化最大和为极小值// 枚举连续数字的长度L1 ~ L2for (int len L1; len L2; len) {// 枚举起始下标保证不越界for (int start 0; start N - len; start) {int sum 0;// 计算当前连续子数组的和for (int i start; i start len; i) {sum arr[i];}// 更新最大值if (sum max_sum) {max_sum sum;}}}// 输出每组数据的结果printf(%d\n, max_sum);}return 0;}数列1作者: frankhuhu时间限制: 10s章节: 一维数组问题描述思维的严密性是相当重要的尤其是在程序设计中一个小小的错误就可能导致无法想象的后果。明明的爸爸是一名富有经验的程序设计专家深知思维严密的重要性。于是在明明很小的时候就通过游戏的方式训练明明的思维严密性。今天明明的爸爸和明明做了一个数列的游戏。这个游戏很简单就是有一数列现在需要在数列中选出一个或者连续若干个数要求这些数的和能被11整除。明明的爸爸想锻炼明明思维的严密性因此要求明明尽可能多的找出符合条件的数列来最好一个也不要漏掉。 例如有一数列为“11 22 33”其中11可以被11整除22可以被11整除33可以被11整除112233能被11整除223355能被11整除11223366能被11整除。所以以上一数列能被11整除的情况一共有六种。注虽然1133也能被11整除但是11和33在数列中没有连续出现因此不算一种合理的情况。 明明对这个游戏很感兴趣高兴地玩了起来。由于粗心明明总是无法一次就把所有的情况都找出来这使得他爸爸不是很满意。于是明明爸爸决定先降低游戏的难度事先告诉明明某一数列总共有多少种符合条件的选择数的方法然后再让明明去选。明明的爸爸请你帮一个忙他不想自己找出所有的情况因此请你写一个程序用程序来找出一共有多少种符合选数的情况并把结果告诉他。 明明爸爸的问题可以归结为给你一个数列从中选出1个或连续若干个数要求这些数的和能被11整除问这样的选数方法一共有多少种。输入说明你写的程序要求从标准输入设备中读入测试数据作为你所写程序的输入数据。标准输入设备中有多组测试数据每组测试数据有两行每组测试数据的第一行有一个整数n(0n≤50)表示数字串中有多少个整数每组测试数据的第二行有n个整数整数大于等于0且小于等于100整数之间用一个空格隔开。每组测试数据与其后一组测试数据之间没有任何空行第一组测试数据前面以及最后一组测试数据后面也都没有任何空行。输出说明对于每一组测试数据你写的程序要求计算出一组相应的运算结果并将每组运算结果作为你所写程序的输出数据依次写入到标准输出设备中。每组运算结果为一个整数即表示一共有多少种选数方法。每组运算结果单独形成一行数据其行首和行尾都没有任何空格每组运算结果与其后一组运算结果之间没有任何空行第一组运算结果前面以及最后一组运算结果后面也都没有任何空行。 注通常显示屏为标准输出设备。代码如下#include stdio.hint main() {int n;// 循环读取多组测试数据while (scanf(%d, n) ! EOF) {int arr[55]; // n最大50数组开55足够// 读取数列for (int i 0; i n; i) {scanf(%d, arr[i]);}int count 0; // 记录符合条件的数量// 枚举所有连续子数组// 起始位置 ifor (int i 0; i n; i) {int sum 0; // 从i开始累加的和// 结束位置 j必须连续for (int j i; j n; j) {sum arr[j]; // 累加当前数字if (sum % 11 0) { // 判断是否能被11整除count;}}}// 输出结果printf(%d\n, count);}return 0;}修理牛棚作者: xxx时间限制: 1s章节: 一维数组问题描述在一个暴风雨的夜晚农民约翰的牛棚的屋顶、门被吹飞了。 好在许多牛正在度假所以牛棚牛棚的总数S:1 S200没有住满。 剩下的牛一个紧挨着另一个被排成一行安置在有屋顶的牛棚来过夜。 所以有些牛棚里有牛有些没有。所有的牛棚有相同的宽度且宽度设为1。 因为有些门遗失农民约翰需要架起新的木板作为门。 他的新木材供应者将会供应他任何他想要的长度,但是供应者只能提供有限数目的木板。 农民约翰想将他购买的木板总长度减到最少。计算拦住所有有牛的牛棚所需木板的最小总长度。输出所需木板的最小总长度作为的答案。说明拦住一个牛棚需要的木板长度为1拦住相邻的三个牛棚则需要木板长度为3。比如有牛的牛棚编号为3 5 8 10 11并且只能使用两块木板则第一块木板从3到5长度为3第二块木板从8到11长度为4因此需要木板的总长度为7。输入说明第 1 行: M 和 C(用空格分开)第 2 到 C1行: 每行包含一个整数表示牛所占的牛棚的编号。其中可能买到的木板最大的数目M(1 M50);需要安置的牛的数目C(1 C S)安置后牛所在的牛棚的编号stall_number(1 stall_number S)。输出说明单独的一行包含一个整数表示所需木板的最小总长度代码如下#include stdio.h#include stdlib.h// 排序函数从小到大int cmp(const void *a, const void *b) {return *(int *)a - *(int *)b;}int main() {int M, C;// 输入木板数M牛数Cscanf(%d %d, M, C);int stall[205]; // 存储有牛的牛棚编号for (int i 0; i C; i) {scanf(%d, stall[i]);}// 1. 对牛棚编号排序qsort(stall, C, sizeof(int), cmp);// 2. 计算所有相邻牛棚的间隔int gap[205], k 0;for (int i 1; i C; i) {gap[k] stall[i] - stall[i-1] - 1;}// 3. 间隔从大到小排序优先跳过最大空隙qsort(gap, k, sizeof(int), cmp);// 4. 计算总长度最右 - 最左 1int total stall[C-1] - stall[0] 1;// 5. 减去 M-1 个最大间隔for (int i k-1; i 0 M 1; i--, M--) {total - gap[i];}// 输出答案printf(%d\n, total);return 0;}英语翻译卷积神经网络CNN是深度学习中最重要的模型之一广泛应用于图像分类、目标检测、图像分割等计算机视觉任务。与传统的全连接神经网络相比CNN通过局部连接和权值共享大幅减少了参数数量降低了计算复杂度。卷积层能够从原始图像中自动提取特征包括边缘、纹理和形状等。随着网络层数的增加模型可以学习到更抽象、更复杂的特征表示。此外池化层通常用于降低特征图的空间维度从而减少计算量并提升模型的鲁棒性。在实际应用中CNN在医学影像分析、自动驾驶、人脸识别等领域取得了显著成功。然而训练深度卷积神经网络往往需要大量标注数据和强大的计算资源这仍是当前研究中的一个重要挑战。
3月16日打卡
代码问题最大值作者: frankhuhu时间限制: 10s章节: 一维数组问题描述为了培养明明对数学的热爱明明的爸爸经常想出一些简单有趣且富有数学思想的游戏给明明玩。有一次明明的爸爸在纸上写了N个数字有正整数、负整数和0。明明的爸爸给明明一个范围他可以选大于等于L1个且小于等于L2个的数字L1≤L2且这些数字必须是连续的。但是要求明明选出的数的和最大这样说明明可能不太明白于是明明爸爸就举了一个简单的例子。 例如有5个数字为“1”、“2”、“3”、“4”、“5”明明可以选择大于等于1个且小于等于2个的数字也就是说明明可以选择1个数字或者连续的2个数字。通过观察数字串最后我们会选2个数字4和5他们的和最大为9。 明明明白爸爸的意思后就开始玩起游戏来。但是他发现这个游戏看似简单其实还是有相当的难度因为数字越多选择数字个数范围越大则题目越难到后面明明有些不想玩了。于是明明就求助于你请你帮他写一个程序来求出和的最大值。 明明的问题可以归结为有N个数字从中选择出连续的M(L1≤M≤L2)个数求出它们之和的最大值。输入说明你写的程序要求从标准输入设备中读入测试数据作为你所写程序的输入数据。标准输入设备中有多组测试数据每组测试数据有两行每组测试数据的第一行有三个整数N(0N≤20)、L1、L2(0L1≤L2≤N)N表示数字串中有多少个整数L1、L2表示可选数字个数的范围每组测试数据的第二行有N个整数整数大小的绝对值都小于等于100整数之间用一个空格隔开。每组测试数据与其后一组测试数据之间没有任何空行第一组测试数据前面以及最后一组测试数据后面也都没有任何空行。代码如下#include stdio.h// 定义一个极小值用于初始化最大值#define MIN_NUM -10000int main() {int N, L1, L2;// 循环读取多组输入直到输入结束while (scanf(%d %d %d, N, L1, L2) ! EOF) {int arr[25]; // 存储数字N最大20数组开25足够// 读取N个数字for (int i 0; i N; i) {scanf(%d, arr[i]);}int max_sum MIN_NUM; // 初始化最大和为极小值// 枚举连续数字的长度L1 ~ L2for (int len L1; len L2; len) {// 枚举起始下标保证不越界for (int start 0; start N - len; start) {int sum 0;// 计算当前连续子数组的和for (int i start; i start len; i) {sum arr[i];}// 更新最大值if (sum max_sum) {max_sum sum;}}}// 输出每组数据的结果printf(%d\n, max_sum);}return 0;}数列1作者: frankhuhu时间限制: 10s章节: 一维数组问题描述思维的严密性是相当重要的尤其是在程序设计中一个小小的错误就可能导致无法想象的后果。明明的爸爸是一名富有经验的程序设计专家深知思维严密的重要性。于是在明明很小的时候就通过游戏的方式训练明明的思维严密性。今天明明的爸爸和明明做了一个数列的游戏。这个游戏很简单就是有一数列现在需要在数列中选出一个或者连续若干个数要求这些数的和能被11整除。明明的爸爸想锻炼明明思维的严密性因此要求明明尽可能多的找出符合条件的数列来最好一个也不要漏掉。 例如有一数列为“11 22 33”其中11可以被11整除22可以被11整除33可以被11整除112233能被11整除223355能被11整除11223366能被11整除。所以以上一数列能被11整除的情况一共有六种。注虽然1133也能被11整除但是11和33在数列中没有连续出现因此不算一种合理的情况。 明明对这个游戏很感兴趣高兴地玩了起来。由于粗心明明总是无法一次就把所有的情况都找出来这使得他爸爸不是很满意。于是明明爸爸决定先降低游戏的难度事先告诉明明某一数列总共有多少种符合条件的选择数的方法然后再让明明去选。明明的爸爸请你帮一个忙他不想自己找出所有的情况因此请你写一个程序用程序来找出一共有多少种符合选数的情况并把结果告诉他。 明明爸爸的问题可以归结为给你一个数列从中选出1个或连续若干个数要求这些数的和能被11整除问这样的选数方法一共有多少种。输入说明你写的程序要求从标准输入设备中读入测试数据作为你所写程序的输入数据。标准输入设备中有多组测试数据每组测试数据有两行每组测试数据的第一行有一个整数n(0n≤50)表示数字串中有多少个整数每组测试数据的第二行有n个整数整数大于等于0且小于等于100整数之间用一个空格隔开。每组测试数据与其后一组测试数据之间没有任何空行第一组测试数据前面以及最后一组测试数据后面也都没有任何空行。输出说明对于每一组测试数据你写的程序要求计算出一组相应的运算结果并将每组运算结果作为你所写程序的输出数据依次写入到标准输出设备中。每组运算结果为一个整数即表示一共有多少种选数方法。每组运算结果单独形成一行数据其行首和行尾都没有任何空格每组运算结果与其后一组运算结果之间没有任何空行第一组运算结果前面以及最后一组运算结果后面也都没有任何空行。 注通常显示屏为标准输出设备。代码如下#include stdio.hint main() {int n;// 循环读取多组测试数据while (scanf(%d, n) ! EOF) {int arr[55]; // n最大50数组开55足够// 读取数列for (int i 0; i n; i) {scanf(%d, arr[i]);}int count 0; // 记录符合条件的数量// 枚举所有连续子数组// 起始位置 ifor (int i 0; i n; i) {int sum 0; // 从i开始累加的和// 结束位置 j必须连续for (int j i; j n; j) {sum arr[j]; // 累加当前数字if (sum % 11 0) { // 判断是否能被11整除count;}}}// 输出结果printf(%d\n, count);}return 0;}修理牛棚作者: xxx时间限制: 1s章节: 一维数组问题描述在一个暴风雨的夜晚农民约翰的牛棚的屋顶、门被吹飞了。 好在许多牛正在度假所以牛棚牛棚的总数S:1 S200没有住满。 剩下的牛一个紧挨着另一个被排成一行安置在有屋顶的牛棚来过夜。 所以有些牛棚里有牛有些没有。所有的牛棚有相同的宽度且宽度设为1。 因为有些门遗失农民约翰需要架起新的木板作为门。 他的新木材供应者将会供应他任何他想要的长度,但是供应者只能提供有限数目的木板。 农民约翰想将他购买的木板总长度减到最少。计算拦住所有有牛的牛棚所需木板的最小总长度。输出所需木板的最小总长度作为的答案。说明拦住一个牛棚需要的木板长度为1拦住相邻的三个牛棚则需要木板长度为3。比如有牛的牛棚编号为3 5 8 10 11并且只能使用两块木板则第一块木板从3到5长度为3第二块木板从8到11长度为4因此需要木板的总长度为7。输入说明第 1 行: M 和 C(用空格分开)第 2 到 C1行: 每行包含一个整数表示牛所占的牛棚的编号。其中可能买到的木板最大的数目M(1 M50);需要安置的牛的数目C(1 C S)安置后牛所在的牛棚的编号stall_number(1 stall_number S)。输出说明单独的一行包含一个整数表示所需木板的最小总长度代码如下#include stdio.h#include stdlib.h// 排序函数从小到大int cmp(const void *a, const void *b) {return *(int *)a - *(int *)b;}int main() {int M, C;// 输入木板数M牛数Cscanf(%d %d, M, C);int stall[205]; // 存储有牛的牛棚编号for (int i 0; i C; i) {scanf(%d, stall[i]);}// 1. 对牛棚编号排序qsort(stall, C, sizeof(int), cmp);// 2. 计算所有相邻牛棚的间隔int gap[205], k 0;for (int i 1; i C; i) {gap[k] stall[i] - stall[i-1] - 1;}// 3. 间隔从大到小排序优先跳过最大空隙qsort(gap, k, sizeof(int), cmp);// 4. 计算总长度最右 - 最左 1int total stall[C-1] - stall[0] 1;// 5. 减去 M-1 个最大间隔for (int i k-1; i 0 M 1; i--, M--) {total - gap[i];}// 输出答案printf(%d\n, total);return 0;}英语翻译卷积神经网络CNN是深度学习中最重要的模型之一广泛应用于图像分类、目标检测、图像分割等计算机视觉任务。与传统的全连接神经网络相比CNN通过局部连接和权值共享大幅减少了参数数量降低了计算复杂度。卷积层能够从原始图像中自动提取特征包括边缘、纹理和形状等。随着网络层数的增加模型可以学习到更抽象、更复杂的特征表示。此外池化层通常用于降低特征图的空间维度从而减少计算量并提升模型的鲁棒性。在实际应用中CNN在医学影像分析、自动驾驶、人脸识别等领域取得了显著成功。然而训练深度卷积神经网络往往需要大量标注数据和强大的计算资源这仍是当前研究中的一个重要挑战。