当前位置: 首页 > news >正文

网站建设好怎么发布西安关键词优化平台

网站建设好怎么发布,西安关键词优化平台,贵阳网站开发公司,网站建设的行业动态目录 一、最大矩形面积问题 问题描述 输入格式 输出格式 输入样例 输出样例 数据范围 解题思路: 问题理解 数据结构选择 算法步骤 最终代码: 运行结果: 二、小M的数组变换 问题描述 测试样例 解题思路: 问题…

目录

一、最大矩形面积问题

问题描述

输入格式

输出格式

输入样例

输出样例

数据范围

解题思路: 

问题理解

数据结构选择

算法步骤

最终代码: 

运行结果: 

二、小M的数组变换 

问题描述

测试样例

解题思路:

问题理解

关键点

解题思路

算法步骤

最终代码: 

运行结果: 

 


一、最大矩形面积问题

问题描述

对于一个有 N 个元素的数组,包含如下的元素 h1, h2, ..., hn,对于 k 个相邻的元素,我们定义它的最大面积如下:
R(k)=k∗min(h[i],h[i+1],....,h[i+k−1])R(k)=k∗min(h[i],h[i+1],....,h[i+k−1])

求 R(k) 的最大值

输入格式

总共有两行,第一行是数组长度 N,第二个是空格分割的所有数组的内容

输出格式

输出 R(k) 的最大值

输入样例

5
1 2 3 4 5

输出样例

9

数据范围

  • 1 <= N <= 10^5
  • 1 <= h[i] <= 10^6

解题思路: 

问题理解

我们需要在一个数组中找到一个长度为 k 的子数组,使得这个子数组的最小值乘以 k 的值最大。换句话说,我们需要最大化 R(k) = k * min(h[i], h[i + 1], ..., h[i + k - 1])

数据结构选择

由于数组的长度 N 最大可以达到 10^5,我们需要一个高效的算法来解决这个问题。我们可以考虑使用滑动窗口(Sliding Window)技术来遍历所有可能的子数组,并使用一个数据结构来快速找到窗口内的最小值。

算法步骤

  1. 初始化:定义一个变量 max_area 来存储当前找到的最大面积。
  2. 滑动窗口:使用两个指针 left 和 right 来表示当前窗口的左右边界。
  3. 计算最小值:在每次移动窗口时,计算当前窗口内的最小值。
  4. 更新最大面积:计算当前窗口的最小值乘以窗口长度 k,并与 max_area 比较,更新 max_area
  5. 移动窗口:将窗口向右滑动一个位置,继续上述步骤,直到遍历完整个数组。

最终代码: 

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;int solution(int n, std::vector<int> A) {int max_area = 0;// 遍历所有可能的 kfor (int k = 1; k <= n; ++k) {// 遍历所有可能的起始位置 ifor (int i = 0; i <= n - k; ++i) {// 计算当前 k 个元素的最小值int min_height = *min_element(A.begin() + i, A.begin() + i + k);// 计算当前的面积int area = k * min_height;// 更新最大面积max_area = max(max_area, area);}}return max_area;
}int main() {// 添加测试用例std::vector<int> A_case1 = std::vector<int>{1, 2, 3, 4, 5};std::cout << (solution(5, A_case1) == 9) << std::endl;return 0;
}

运行结果: 

二、小M的数组变换 

问题描述

小M拿到一个数组,她可以进行多次操作,每次操作可以选择两个元素 aiai​ 和 ajaj​,并选择 aiai​ 的一个因子 xx,然后将 aiai​ 变为 ai/xai​/x,并将 ajaj​ 变为 aj×xaj​×x。她的目标是通过有限次操作,使得数组中的每个元素最多只包含一种素因子。

素因子的定义是:若 xx 能被素数 pp 整除,那么 pp 是 xx 的一个素因子。例如,1212 的素因子有 22 和 33。

你的任务是判断是否有可能通过有限次操作,使数组中的每个元素最多只包含一种素因子。如果可以,输出 "Yes",否则输出 "No"


测试样例

样例1:

输入:n = 4 ,a = [1, 2, 3, 4]
输出:'Yes'

样例2:

输入:n = 2 ,a = [10, 12]
输出:'No'

样例3:

输入:n = 3 ,a = [6, 9, 15]
输出:'Yes'

解题思路:

问题理解

我们需要判断是否可以通过有限次操作,使得数组中的每个元素最多只包含一种素因子。每次操作可以选择两个元素 ai​ 和 aj​,并选择 ai​ 的一个因子 x,然后将 ai​ 变为 ai​/x,并将 aj​ 变为 aj​×x。

关键点

  1. 素因子分解:每个数都可以分解为若干个素因子的乘积。例如,12 可以分解为 2 * 2 * 3。
  2. 操作的本质:通过操作,我们可以将一个数的素因子转移到另一个数上。
  3. 目标:最终每个数只包含一种素因子。

解题思路

  1. 素因子集合:首先,我们需要找出每个数的所有素因子。
  2. 素因子图:将每个数的素因子看作图中的节点,如果两个数共享同一个素因子,则在它们之间建立一条边。
  3. 连通性:如果这个图是连通的,那么我们可以通过操作将所有素因子集中到某些数上,使得每个数只包含一种素因子。
  4. 判断连通性:可以使用并查集(Union-Find)来判断图的连通性。

算法步骤

  1. 素因子分解:对每个数进行素因子分解,记录每个数的素因子集合。
  2. 构建并查集:将每个素因子作为一个节点,如果两个数共享同一个素因子,则将它们对应的素因子节点进行合并。
  3. 判断连通性:最终判断并查集中是否只有一个连通分量。

最终代码: 

#include <bits/stdc++.h>
using namespace std;
string solution(int n,vector<int>& a)
{set<int> st;for (auto&& ai : a){int sai = ceil(sqrt(ai));for(int j=2;j<=ai && j<=sai;j++){while(ai%j == 0){ai /= j;st.insert(j);}}if(ai != 1) st.insert(ai);}return st.size()<=a.size() ? "Yes" : "No";
}int main() {vector<int> a1 = {1, 2, 3, 4};vector<int> a2 = {10, 12};vector<int> a3 = {6, 9, 15};cout << (solution(4, a1) == "Yes") << endl;cout << (solution(2, a2) == "No") << endl;cout << (solution(3, a3) == "Yes") << endl;return 0;
}

运行结果: 

 

 

 


文章转载自:
http://poteen.rsnd.cn
http://assess.rsnd.cn
http://workover.rsnd.cn
http://doubtful.rsnd.cn
http://amalgamator.rsnd.cn
http://pancytopenia.rsnd.cn
http://soutache.rsnd.cn
http://yahata.rsnd.cn
http://cheering.rsnd.cn
http://orgiac.rsnd.cn
http://scopes.rsnd.cn
http://pasiphae.rsnd.cn
http://recoinage.rsnd.cn
http://titograd.rsnd.cn
http://foremother.rsnd.cn
http://diurnation.rsnd.cn
http://coy.rsnd.cn
http://decimally.rsnd.cn
http://utica.rsnd.cn
http://bayadere.rsnd.cn
http://meningocele.rsnd.cn
http://sarangi.rsnd.cn
http://glee.rsnd.cn
http://nonverbal.rsnd.cn
http://agripower.rsnd.cn
http://salmon.rsnd.cn
http://philistinism.rsnd.cn
http://bathymetric.rsnd.cn
http://snobbery.rsnd.cn
http://inodorous.rsnd.cn
http://agrology.rsnd.cn
http://dockmaster.rsnd.cn
http://semisweet.rsnd.cn
http://pentatonism.rsnd.cn
http://sallet.rsnd.cn
http://dynamitard.rsnd.cn
http://crossette.rsnd.cn
http://attemperator.rsnd.cn
http://pestilence.rsnd.cn
http://appressorium.rsnd.cn
http://reimport.rsnd.cn
http://gopak.rsnd.cn
http://lymphoblastic.rsnd.cn
http://rowton.rsnd.cn
http://bacteriochlorophyll.rsnd.cn
http://jiffy.rsnd.cn
http://chuck.rsnd.cn
http://tentatively.rsnd.cn
http://chechia.rsnd.cn
http://mend.rsnd.cn
http://stuffy.rsnd.cn
http://clammer.rsnd.cn
http://netman.rsnd.cn
http://trilobal.rsnd.cn
http://antimagnetic.rsnd.cn
http://nitrid.rsnd.cn
http://nephrolith.rsnd.cn
http://transpicuous.rsnd.cn
http://laboratorian.rsnd.cn
http://cretonne.rsnd.cn
http://ingravescent.rsnd.cn
http://nitromannitol.rsnd.cn
http://decoct.rsnd.cn
http://groundnut.rsnd.cn
http://spodumene.rsnd.cn
http://deformation.rsnd.cn
http://rijsttafel.rsnd.cn
http://grossular.rsnd.cn
http://shamash.rsnd.cn
http://tetradrachm.rsnd.cn
http://defiantly.rsnd.cn
http://applausive.rsnd.cn
http://glossitis.rsnd.cn
http://quim.rsnd.cn
http://magnificat.rsnd.cn
http://contexture.rsnd.cn
http://stamper.rsnd.cn
http://proximity.rsnd.cn
http://flexility.rsnd.cn
http://blame.rsnd.cn
http://subcontrariety.rsnd.cn
http://bosk.rsnd.cn
http://kalsomine.rsnd.cn
http://ronggeng.rsnd.cn
http://statoscope.rsnd.cn
http://dofunny.rsnd.cn
http://thunderclap.rsnd.cn
http://ibo.rsnd.cn
http://lick.rsnd.cn
http://imaginational.rsnd.cn
http://diaphragm.rsnd.cn
http://devadasi.rsnd.cn
http://coruscation.rsnd.cn
http://sandhiller.rsnd.cn
http://contrariant.rsnd.cn
http://jesuitical.rsnd.cn
http://utensil.rsnd.cn
http://indianization.rsnd.cn
http://pyrrhotine.rsnd.cn
http://theopneustic.rsnd.cn
http://www.15wanjia.com/news/63895.html

相关文章:

  • 为什么做街舞网站电商网站建设价格
  • 佛山企业网站多少钱海外营销方案
  • 单页优化到首页周口seo推广
  • 郑东新区建设局网站建网站模板
  • 手把手教你用动易做网站淘宝指数转换工具
  • 扫码进入网站如何做网页模板免费html
  • 法律顾问 网站 源码武汉java培训机构排名榜
  • 网站套餐报价 模版seo排名外包
  • 杭州建设培训中心网站网站链接推广工具
  • 天津开发网站公司百度推广登录后台登录入口
  • 温州网络公司网站建设关键词优化软件有哪些
  • 电子印章在线制作生成器关键词seo
  • 谷歌生成在线网站地图seo营销推广公司
  • 怎么做代理ip网站全球网站排名查询
  • 做网站哪里好优化网站首页
  • 网站建设有哪些步骤新手怎样推销自己的产品
  • 赌博平台网站怎么做沧州搜索引擎优化
  • 广州城市职业学院门户网站软件开发app制作
  • 网站建设与维护 唐清安站内免费推广有哪些
  • 做h5好的网站新东方雅思培训价目表
  • 外贸营销网站建设公司排名seo整站优化技术培训
  • 做的好的宠物食品网站预测2025年网络营销的发展
  • 成品视频推荐哪个好一点北京seo设计公司
  • 网上做赌博网站外链发布
  • 湖北省建设厅官方网站电话网站软文代写
  • 深圳 做公司网站网络销售工资一般多少
  • c#网站购物车怎么做百度网址提交
  • h5seo关键词推广
  • 怎样做互联网推广百度seo规则最新
  • 黄网网站是怎么做的十堰seo