大水题(2022.6.18)

关于一个半小时写完懒得对拍于是没有拿满这件事

话说这么简单的题还写炸的人就是屑

Tips : 数据一定要记得检查long long和是否没mod超范围啊!!!

YY的矩阵(二维st表)

题目

YY 有一个大矩阵(N*M), 矩阵的每个格子里都有一个整数权值 W[i,j] (1<=i<=M,1<=j<=N)
对于这个矩阵YY 会有P 次询问,每次询问这个大矩阵的一个子矩阵内的最大值。

输入

第一行两个整数N 和M。 接下来N 行,每行M 个整数 然后,一行是整数P;
接下来P 行,每行4 个整数r1, c1, r2, c2(分别表示子矩阵的左上角坐标和右下角坐标)

输出

共P 行,每行一个整数,表示相应的最大值。

Input

4 4 
4 4 10 7 
2 13 9 11 
5 7 8 20 
13 20 8 2 
4 
1 1 4 4 
1 1 3 3 
1 3 3 4 
1 1 1 1 

Output

20 
13 
20 
4 

数据范围:

60%的数据:N×M×P<10^8 
100%的数据:1 <= N, M <= 3001 <= P <= 1,000,0001 <= r1 <= r2 <= N, 1 <= c1 <= c2 <= M,1<=W[i][j]<=10000.

解思

看到数据范围询问 1e6 就想到 O(1)的询问即二维ST表,但是据说因为开了2s的时限于是n3的暴力也能乱爬...

WYT 的刷子(单调栈+贪心)

题目

WYT 有一把巨大的刷子,刷子的宽度为M 米,现在WYT 要使用这把大刷子去粉刷有 N 列的栅栏(每列宽度都为 1 米;每列的高度单位也为米,由输入数据给出)。
使用刷子的规则是:
1、 与地面垂直,从栅栏的底部向上刷
2、 每次刷的宽度为M 米(当剩余栅栏宽度不够M 米的话,刷子也可以使用,具体看样例2)
3、 对于连续的M 列栅栏,刷子从底向上,刷到的高度只能到这M 列栅栏的最低高度。
WYT 请你回答两个问题:
1、最少有多少个单位面积不能刷到(单位面积为1 平米)
2、在满足第一问的条件下,最少刷几次?

输入

共两行:
第一行两个整数N 和M。
第二行共N 个整数,表示N 列栅栏的高度

输出

一行,两个整数,分别为最少剩余的单位面积数量和最少刷的次数。

Input1:

5 3 
5 3 4 4 5 

Output1:

3 
2 

Input2:

10 3 
3 3 3 3 3 3 3 3 3 3 

Output2:

0 
4 

Input3:

7 4 
1 2 3 4 3 2 1 

Output3:

4 
4 

数据范围:

30%的数据:N<=10^3 
50%的数据:N<=10^5 
100%的数据:1<=N<=10^6, 1<=M<=10^6,N>=M,  每列栅栏的高度<=10^6.

解思

O(n)做法:单调栈维护当前高度之前的高度,栈顶到栈底递减,可找到左右最后一个大于等于当前高度的点(左右分开扫),得到最长的连续长度,而后分别从左向右和从右向左扫出点可达到向左右拓展至少m个的最高高度,对于每一段连续的相同高度,只需贪心求出答案即可。
O(nlogn)做法:当扫到当前长度为m的块时,利用线段树对区间赋值(赋当前块中最小的高度),线段树中每个点值取max,可得出当前点的最高高度,而后步骤同上。

2017 种树(树状数组)

题目

2017 共有N 棵树从0 到N-1 标号。现要把这些树种在一条直线上,第i 棵树的种植位置X[i]如下确定:
X[0] = X[0] MOD L;
X[i] = (X[i-1]*A+B) MOD L。
每棵树种植的费用,是所有标号比它小的树与它的距离之和。2017 请你计算各棵树的费用之积,最后对1000000007 取余。

输入:

共五行:
第一行为N
第二行为L
第三行为X[0]
第四行为A
第五行为B

输出:

总费用

Input1:

5 
10 
3 
1 
1 

Output1:

180 

样例解释:

5 棵树的位置分别为: 3, 4, 5, 6, 7.
费用分别为: 1, 3, 6, 10. (从第一棵树开始)
总费用为: 1 × 3 × 6 × 10 = 180.

数据范围:

10%的数据:N<=10; 
60%的数据:N<=5×10^5; 
100%的数据:N,L<=200000; X[0],A,B<=10^9.

解思

开两个数组,一个统计在i之前有多少棵树,记为A,一个统计在i之前所有树的下标和,记为B,第i棵树左边答案即为 i的下标*A-B ,右边同理。

posted @   flywatre  阅读(45)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示