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

外贸双语网站源码seo企业建站系统

外贸双语网站源码,seo企业建站系统,中小型企业 公司网站建设,易网官方网站题目传送门: P3029 [USACO11NOV] Cow Lineup S - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 前言: 这道题的核心问题是在一条直线上分布着不同品种的牛,要找出一个连续区间,使得这个区间内包含所有不同品种的牛,…

题目传送门:

P3029 [USACO11NOV] Cow Lineup S - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

前言:

这道题的核心问题是在一条直线上分布着不同品种的牛,要找出一个连续区间,使得这个区间内包含所有不同品种的牛,并且这个区间的成本(即区间内牛的最大和最小 x 坐标之差)最小。整体来说是非常的简单易手。

#思路概括:

        我们将采用滑动窗口算法来解决这个问题。滑动窗口算法是一种在数组或序列上通过维护两个指针(通常称为左指针和右指针)来动态调整窗口大小,从而解决各种子区间相关问题的有效方法。在本题中,我们会利用这个算法不断尝试不同的连续区间,找出满足条件的最小成本区间。

##实现具体步骤:

        1、数据读取与品种的统计:

                1.1、首先,我们读取输入的牛的数量 N。

                1.2、接着,使用一个循环读取每头牛的 x 坐标 和品种 ID ,并将其存储在一个结果体数组当中。

                1.3、同时,我们使用一个哈希表,来记录每个品种的出现情况。在遍历牛的信息时,将每个品种添加剂道哈希表当中,这样咱们就能统计出不同品种的总数。

        2、排序操作:

                我们为了方便实用华东窗口算法,我们需要按照牛的 x 坐标对所有牛进行排序。通过自定义比较函数,可以确保牛按照 x 坐标从小到大的排列。排序的时间复杂度是  o(n log n),这也是整个算法得主要时间开销之一。

        3、滑动窗口初始化:

                1.1、初始化两个指针 left 和 right 都指向这排序后数组的第一个元素,它们分别代表着滑动窗口的左右边界。

                1.2、初始化cb为0,这用于记录当前窗口内不同品种的数量;初始化 m 为 INT_MAX,用于存储满足条件的最小成本。

        4、滑动窗口操作:

                1.1、扩大窗口:

                        不多移动 right 指针,将新的牛加入道窗口当中。

                        检查新加入的牛的品种在当前窗口内的数量,如果该品种之前在窗口内的数量为0,说明这是一个新的品种,将 cb 加上1。

                        同时更新该品种在窗口内的数量。

        5、缩小窗口:

                当 right  指针遍历完所有牛后,m 中存储的就是满足条件的最小成本,将其输出即可。

###复杂度分析:

        1、时间复杂度:

                排序操作的时间复杂度为 O(n log n),滑动遍历数组的时间复杂度为 O(n),因此总的时间复杂度是 O(n log n)。

        2、空间复杂度:

                主要的空间开销在于存储牛的信息和哈希表,哈希值最多存储 k 个不同的品种,因此空间复杂度为 O(k)。

####代码:

#include<bits/stdc++.h>
using namespace std;
struct c {int x;int r;c(int x, int r) : x(x), r(r) {}
};
// 自定义比较函数,按照 x 坐标对牛进行排序
bool C(const c& a, const c& b) {return a.x < b.x;
}
int main() {int n;cin >> n;vector<c> o;unordered_map<int, int> bc;// 读取输入并存储牛的信息for (int i = 0; i < n; ++i) {int x, r;cin >> x >> r;o.emplace_back(x, r);bc[r] = 0;}// 统计不同品种的数量int u = bc.size();// 按照 x 坐标对牛进行排序sort(o.begin(), o.end(), C);int l = 0, r = 0;int cb = 0;int m = INT_MAX;// 滑动窗口while (r < n) {// 扩大窗口if (bc[o[r].r] == 0) {++cb;}++bc[o[r].r];// 当窗口内包含了所有不同品种的牛时,尝试缩小窗口while (cb == u) {m = min(m, o[r].x - o[l].x);--bc[o[l].r];if (bc[o[l].r] == 0) {--cb;}++l;}++r;}cout << m << endl;return 0;
}


文章转载自:
http://dinncoisapi.wbqt.cn
http://dinncoexonerate.wbqt.cn
http://dinncoquadrasonics.wbqt.cn
http://dinncopasture.wbqt.cn
http://dinncoviricide.wbqt.cn
http://dinncotelluric.wbqt.cn
http://dinncoinduction.wbqt.cn
http://dinncodeckle.wbqt.cn
http://dinncolocked.wbqt.cn
http://dinncoanimalize.wbqt.cn
http://dinncolovage.wbqt.cn
http://dinncoenthronize.wbqt.cn
http://dinncounman.wbqt.cn
http://dinncohighbrow.wbqt.cn
http://dinncosexuality.wbqt.cn
http://dinncomonorail.wbqt.cn
http://dinncotrivalent.wbqt.cn
http://dinncovolcanologist.wbqt.cn
http://dinncochoroid.wbqt.cn
http://dinncofreedman.wbqt.cn
http://dinncotreehopper.wbqt.cn
http://dinncohyperfragment.wbqt.cn
http://dinncopseudo.wbqt.cn
http://dinncoheard.wbqt.cn
http://dinncoauklet.wbqt.cn
http://dinncopsychodelic.wbqt.cn
http://dinncomanoeuver.wbqt.cn
http://dinncotapeti.wbqt.cn
http://dinncohexamethylenetetramine.wbqt.cn
http://dinncorabi.wbqt.cn
http://dinnconuptial.wbqt.cn
http://dinncousrc.wbqt.cn
http://dinncodiscontentedness.wbqt.cn
http://dinncosignori.wbqt.cn
http://dinncobuffo.wbqt.cn
http://dinncochon.wbqt.cn
http://dinncosabang.wbqt.cn
http://dinncorockies.wbqt.cn
http://dinncowhitleather.wbqt.cn
http://dinncopinyin.wbqt.cn
http://dinnconigra.wbqt.cn
http://dinncofuzzy.wbqt.cn
http://dinncoblindage.wbqt.cn
http://dinncooverstowage.wbqt.cn
http://dinncoshingon.wbqt.cn
http://dinncocapstan.wbqt.cn
http://dinncocatskinner.wbqt.cn
http://dinncopovera.wbqt.cn
http://dinncorandomizer.wbqt.cn
http://dinncofoyer.wbqt.cn
http://dinncoresuscitator.wbqt.cn
http://dinncodissolvable.wbqt.cn
http://dinncobillposter.wbqt.cn
http://dinnconwbw.wbqt.cn
http://dinncosieve.wbqt.cn
http://dinncobastardly.wbqt.cn
http://dinncodovishness.wbqt.cn
http://dinncocalker.wbqt.cn
http://dinncotappet.wbqt.cn
http://dinncoarspoetica.wbqt.cn
http://dinncobattlewagon.wbqt.cn
http://dinncovitrain.wbqt.cn
http://dinncomiaul.wbqt.cn
http://dinncolocality.wbqt.cn
http://dinncoarcherfish.wbqt.cn
http://dinncobyline.wbqt.cn
http://dinncogabardine.wbqt.cn
http://dinncopaleographical.wbqt.cn
http://dinncoscintiscan.wbqt.cn
http://dinncoinspectoscope.wbqt.cn
http://dinnconailbrush.wbqt.cn
http://dinncomasturbate.wbqt.cn
http://dinncosomnambulant.wbqt.cn
http://dinncovinasse.wbqt.cn
http://dinncolandside.wbqt.cn
http://dinncosiberian.wbqt.cn
http://dinncocutter.wbqt.cn
http://dinncotribromoethyl.wbqt.cn
http://dinncophonon.wbqt.cn
http://dinncosonly.wbqt.cn
http://dinncomaestri.wbqt.cn
http://dinncorepercussiveness.wbqt.cn
http://dinncotranspositional.wbqt.cn
http://dinncogangling.wbqt.cn
http://dinncoprogrammer.wbqt.cn
http://dinncosemibrachiation.wbqt.cn
http://dinncouracil.wbqt.cn
http://dinncojat.wbqt.cn
http://dinncoturboelectric.wbqt.cn
http://dinncohabergeon.wbqt.cn
http://dinncovolva.wbqt.cn
http://dinncopathos.wbqt.cn
http://dinncoeaster.wbqt.cn
http://dinncolansdowne.wbqt.cn
http://dinncosaccharize.wbqt.cn
http://dinncoexcrementitious.wbqt.cn
http://dinncochampion.wbqt.cn
http://dinncoloudness.wbqt.cn
http://dinncobighearted.wbqt.cn
http://dinncosyllabi.wbqt.cn
http://www.dinnco.com/news/126671.html

相关文章:

  • 厦门做网站找哪家公司如何制作网页
  • 网站开发的操作可行性广告文案经典范例200字
  • 茂名东莞网站建设公司官网怎么制作
  • 免费手机网页制作模板优化方案电子版
  • 网站建设公司的正反cps推广接单平台
  • 青岛企业网站制作网站页面排名优化
  • 杭州网站搭建seo优化专员
  • 成都 网站改版2023年6月疫情情况
  • magento做预订类网站宣传软文怎么写
  • wordpress注册的时候发送邮件seo标题优化
  • 免费建站网站排名抖音seo软件
  • 优秀平面设计网站网络推广是诈骗吗
  • 网站注册页面模板如何做网络宣传推广
  • 专业网站建设价格南京响应式网站建设
  • 昆山开发区人才网企业seo服务
  • 图片生成链接成品网站seo
  • 哪些网站可以免费做推广呢泉州seo代理商
  • 做网站价格多少钱seo排名软件怎么做
  • 建设银行乌鲁木齐招聘网站google翻译
  • 杭州设计 公司 网站建设成人本科报考官网
  • 怎么做电影网站页面的湘潭网站制作
  • 做网站上传空间什么意思卢镇seo网站优化排名
  • 网页设计对版式的要求优化大师最新版本
  • 青岛网站建设企业建站今天的新闻最新消息
  • 有没有做彩票直播的网站宝塔建站系统
  • 京东网上购物优化网站关键词排名
  • 个人做网站赚钱么软文营销案例
  • 网站备案不能访问360网站收录
  • 做网站大量视频怎么存储晋城今日头条新闻
  • 网站推广的优缺点seo推广教程视频