题意 题目链接 Sol 好好读题 => 送分题 不好好读题 => 送命题 开始想了\(30\)min数据结构发现根本不会做,重新读了一遍题发现是个傻逼题... \(C_{i, j} = a[i] * b[j]\) 根据乘法分配律,题目就变成了在数组\(a, b\)中分别选一段连续的区间,要求权值和相乘\(<= X\),最大化区间长度乘积 \(n^2\)模拟一下即可 #include<bits/stdc++.h> #define Pair pair<int, int>…
CF1060C Maximum Subrectangle 题意翻译 现在给出一个长度为N的a数列,一个长度为M的b数列. 现在需要构造出一个矩阵c,其中ci,j​=ai​×bj​.再给出一个x,请在矩阵中找出一个最大的矩形,使得这个矩形中的所有值的和小于等于x. 题目描述 You are given two arrays aa and bb of positive integers, with length n and m respectively. Let c be an n×m matrix…
思路: 不难发现,对矩阵中的数字求和实际上是先分别对a,b两个数列中对应子段的元素求和再相乘.题目是要求在和不超过给定值的情况下使选出的矩阵面积最大.我们反其道而行之,考虑在子段长度一定的情况下,和最小是多少.具体来说,首先分别计算a的长度为1,2,...,n的子段中的和的最小值,记为min1[i](i = 1, 2, ..., n).对b做类似处理得到min2[i](i = 1, 2, ..., m).然后枚举min1和min2的所有组合即可得出答案. 实现: #include <iostre…
https://codeforces.com/contest/1060/problem/C 题意 给两个数组,a数组有n个元素,b数组有m个元素,两个数组元素互相相乘形成n*m的矩阵,找一个子矩阵,元素和<=x,子矩阵的面积尽量大,求这个子矩阵的面积大小 思路 一开始往二维前缀和+暴力+查询之类想了,没观察规律,复杂度怎么想都不对 规律其实就是 子矩阵的和等于两个数组的连续子序列和相乘,面积大小等于子序列长度相乘 即要在两个数组中找出两个连续的子序列,保证他们的和相乘<=x的情况下,长度的乘积…
链接:https://www.nowcoder.com/acm/contest/142/G来源:牛客网 The mode of an integer sequence is the value that appears most often. Chiaki has n integers a1,a2,...,an. She woud like to delete exactly m of them such that: the rest integers have only one mode an…
题目描述: Maximum Value time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output You are given a sequence a consisting of n integers. Find the maximum possible value of (integer remainder of *a**i* divi…
You are given an array a consisting of n integers, and additionally an integer m. You have to choose some sequence of indices \(b_1, b_2, ..., b_k (1 ≤ b_1 < b_2 < ... < b_k ≤ n)\) in such a way that the value of \(\sum^{k}_{i=1}a_{b_i}\) is maxi…
链接 [http://codeforces.com/contest/1060/problem/C] 题意 给你两个数列,可以构成一个矩阵C,ci,j=ai⋅bj 1≤x1≤x2≤n , 1≤y1≤y2≤m 还有一个x,让你求一个子矩阵,使得矩阵元素和小于等于x,面积最大 分析 贪心,思维,只需要求出前缀和,还有长度为i,时子窜和最小 具体看代码 代码 #include<bits/stdc++.h> using namespace std; #define ll long long const…
给你n个数,问有几个区间满足,区间内或操作大于区间内的任意数. 首先可以知道,两数或操作的结果必定不会小于两者间的最大值,也就是说对于一个区间中,不合法的状态只有两值或相等.那么我们可以考虑枚举每个数,向左向右找到第一个或不相等的,那么该数对所有不合法区间的贡献就能找到了,所以与其找合法的区间不如容斥找不合法的区间. 具体从左往右枚举每个数,同时记录该数某二进制位为0时,左侧数中该位出现1的离i的最近位置,得到左边界.右边界类似. 然后就是要注意重复的数,重复的数出现直接就使区间不合法,左右两侧…
题目链接 这道题意思是: 给你一个长度为9的字符串,且只有3个a.3个g.3个o 问,你可以选择删除一段连续的串或者单个的字符也可以不删,最多会出现几个三子相连的子串 比如:agoagoago只有将两种删除完,才能得到三子相连,所以是1 aaoogggoa,首先里面有一个三子相连(ggg),然后我们删除ggg这三个连续的字符,之后会出现ooo,删除ooo,之后会出现aaa,所以答案是3 我们可以分析到: 先检测原串中有几个三子相连,且只会得到0个,1个或者3个,不会有2个 如果原串有一个三子相连…