2020牛客暑期多校训练营(第二场)

D Duration

题目大意

给你同一天的两个时刻,请你计算这两个时刻中间相隔多少秒?

题目分析:

注意一下输入的格式。

代码

#include<iostream>
#include<math.h>
using namespace std;
int main()
{
	int h,m,s,h1,m1,s1;
	scanf ("%2d:%2d:%2d",&h,&m,&s);
        scanf ("%2d:%2d:%2d",&h1,&m1,&s1);
	cout<<abs((s1-s)+(m1-m)*60+(h1-h)*3600);
	return 0;
 } 

F Fake Maxpooling

题目大意

给你一个矩阵的行数\(n\)和列数\(m\)以及一个整数\(k\),其中矩阵\(A_{ij}=lcm(i,j)\),其中\(lcm\)是最小公倍数的简写(the least common multiple),求每个大小为\(k*k\)的子矩阵的最大值的和。

题目分析:

对于求区间最值的问题,可以使用单调队列求解,先横着计算每个长度为k的区间的最大值,然后竖着计算每个长度为k的区间的最大值,最后求和。

代码

单调队列不会实现,待补。
posted @ 2020-07-18 21:43  Treasure_lee  阅读(117)  评论(0)    收藏  举报