度小满编程题

1,滑动窗口
时间限制:C/C++语言 1000MS;其他语言 3000MS
内存限制:C/C++语言 65536KB;其他语言 589824KB

题目描述:
在机器学习中有一种流行的池化操作,而在池化操作中,33极大值池化应用十分广泛。什么是33极大值池化呢?设原矩阵是nm的,则33极大值池化就是枚举矩阵中的所有33的子矩阵,分别求最大值并顺次拼接而成,处理过后的矩阵是(n-2)(m-2)。
例如,原矩阵是[[1,2,3,4],[5,6,7,8],[9,10,11,12]],经过池化之后就变成[[11,12]]。
为了提高难度,选择的滑动窗口并不是33的,而是ab的,由于输入可能是非常大的,原nm的矩阵权值由以下公式计算得到,h(i,j)=ij mod 10。(1<=i<=n,1<=j<=m)
由于输出矩阵也是一个很麻烦的事情,因此你只需输出经过a*b池化处理后的矩阵的元素之和即可。

输入
输入第一行包含四个正整数,n,m,a,b,分别表示原矩阵的行列数量和滑动窗口的行列数量。(1<=n,m,a,b<=1000)

输出
输出仅包含一个整数,即新矩阵的元素之和。

样例输入
4 5 3 3
样例输出
54

​2,传送门

题目描述:
西西所在的国家有N座城市,每座城市都有一道传送门,城市 i 的传送门通往城市 a[i]。当西西位于城市 i 时,每次他可以执行以下三种操作中的一种:

花费 A 的费用,从城市 i 前往城市 a[i];

如果 a[i] > 1,可以花费 B 的费用,将 a[i] 的值减少 1;

如果 a[i] < N,可以花费 C 的费用,将 a[i] 的值增加 1。

现在,西西想从城市 1 前往城市 N,那么他至少要花费多少费用?

输入
第一行输入四个整数 N、A、B、C(1 < N <= 10000,1 <= A、B、C <= 100000)。

第二行输入 N 个整数 a[1] 到 a[N](1 <= a[i] <= N)。

输出
输出一个整数,表示从城市 1 前往城市 N 所花费的最少费用。

样例输入
7 1 1 1
3 6 4 3 4 5 6
样例输出
4

提示
样例解释
西西可以按顺序执行以下操作:
将 a[1] 减少 1,此时 a[1] = 2;
从城市 1 前往城市 2;
将 a[2] 增加 1,此时 a[2] = 7;
从城市 2 前往城市 7。

全部评论
楼主 两道题都做出来了吗 可以分享下 思路 或者代码吗
点赞 回复 分享
发布于 2020-04-20 17:48
请问,这个能在哪里测试代码吗
点赞 回复 分享
发布于 2020-04-20 18:12
请问,“城市 i 的传送门通往城市 a[i]”是什么意思,城市不是表示成 i 吗? 怎么又变成 a[i] 了?
点赞 回复 分享
发布于 2020-04-20 19:14

相关推荐

牛客717484937号:双飞硕没实习挺要命的
点赞 评论 收藏
分享
微风不断:兄弟,你把四旋翼都做出来了那个挺难的吧
点赞 评论 收藏
分享
点赞 2 评论
分享
牛客网
牛客企业服务