首页 > TAG信息列表 > minb

奶牛过马路(排序+前缀最值)

题目描述: 主要思路: 如何判断两个奶牛过马路的路线是否有交点呢? #include<iostream> #include<algorithm> #include<cstring> #include<set> using namespace std; typedef pair<int,int> pa; const int N=1e5+10; pa a[N]; set<int> b; int main() { int n;

#4973. [Lydsy1708月赛]比特战争

4973. [Lydsy1708月赛]比特战争 这个题确实是有点妙... 首先我们可以考虑最终的答案是怎么样的,肯定是若干个连通块,和一些单独的点,考虑它们对答案的贡献分别是什么,单独的点肯定是\(a_i*b_i\),连通块的话考虑所有的点和所有的边都被占领了,所有贡献为\(max(maxa_i,maxc_i)*minb_i\),简

leetcode:范围求和 II(用点脑子)

无脑模拟: 超出内存 func maxCount(m int, n int, ops [][]int) int { //m[0][0]一定最大 //模拟 //初始化 if len(ops) == 0 { return m * n } matrix := make([][]int, m) for i := 0; i < m; i++ { matrix[i] = make([]int,

leecode:范围求和

题目描述: 给定一个初始元素全部为 0,大小为 m*n 的矩阵 M 以及在 M 上的一系列更新操作。 操作用二维数组表示,其中的每个操作用一个含有两个正整数 a 和 b 的数组表示,含义是将所有符合 0 <= i < a 以及 0 <= j < b 的元素 M[i][j] 的值都增加 1。 在执行给定的一系列操

力扣刷题学习598. 范围求和 II(C++)

题目描述 给定一个初始元素全部为 0,大小为 m*n 的矩阵 M 以及在 M 上的一系列更新操作。 操作用二维数组表示,其中的每个操作用一个含有两个正整数 a 和 b 的数组表示,含义是将所有符合 0 <= i < a 以及 0 <= j < b 的元素 M[i][j] 的值都增加 1。 在执行给定的一系列操作后,你

力扣 598范围求和 (寻找最小重合面积 java实现)

    看完题目就知道这个题是寻找重复最多的矩形的大小,在ops数组里,最小的矩形就是重复次数的最多的。所以转化为求ops数组里面最小的矩形。     我们现在的任务就是要求最小矩形的长宽,长宽都要考虑到给定的m,n的大小,要和他作比较看谁小,我刚开始想的是先让行和m作比较

范围求和 II

给定一个初始元素全部为 0,大小为 m*n 的矩阵 M 以及在 M 上的一系列更新操作。 操作用二维数组表示,其中的每个操作用一个含有两个正整数 a 和 b 的数组表示,含义是将所有符合 0 <= i < a 以及 0 <= j < b 的元素 M[i][j] 的值都增加 1。 在执行给定的一系列操作后,你需要

【Codeforces专练-1500】

1400-1500 Codeforces Round #741 (Div. 2) C. Rings 1600-1700 Codeforces Round #515 (Div. 3) E. Binary Numbers AND Sum 思路:对s2求前缀和,倒着遍历s1的字符串,当前遍历到i,是1的话,ans就加上i到l2的和(直接用前缀和)再乘以当前位的十进制贡献 Codeforces Round #518 (Div. 1) [Tha

实验报告(Dijkstra算法 )

实验报告 课程名称:《算法分析与设计》 实验日期: 2021年 3月 16日 至 2021 年 3 月 18 日 学生姓名: 甘世伟 所在班级: 计科195 学号: 2019212212053 实验名称: Dijkstra算法 实验地点: 勤园13-218 同组人员: 无 —————————————— 问题 floyd算法求任意两点之间

循环小数

poj1930 #include<stdio.h> #include<string.h> #include<iostream> #include<math.h> #include<algorithm> using namespace std; typedef unsigned long long ll; #define SIS std::ios::sync_with_stdio(false),cin.tie(0),cout.tie(0); co

2093 求最值

x = int(input()) ls = [] maxa = -2147483648 minb = 2147483647 for i in range(x): x = int(input()) if(x > maxa): maxa = x if(x < minb): minb = x print(minb, end=" ") print(maxa)