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

东华网站开发网站搬家怎么做

东华网站开发,网站搬家怎么做,wordpress评论等级插件,手机做网站服务器吗2025年大一ACM训练-尺取 ​​尺取法(Sliding Window): ​​1. 基本概念​​   尺取法(又称滑动窗口法)是一种​​通过维护窗口的左右边界来高效解决子区间问题​​的算法技巧,常用于:   1…

2025年大一ACM训练-尺取

​​尺取法(Sliding Window):

​​1. 基本概念​​
  尺取法(又称滑动窗口法)是一种​​通过维护窗口的左右边界来高效解决子区间问题​​的算法技巧,常用于:
  1.寻找满足条件的​​最短/最长连续子数组​​
  2.统计满足某些性质的子区间数量
时间复杂度通常从暴力 O(n²) 优化到 O(n)
​​2. 算法框架​

int left = 0, right = 0;  // 初始化窗口边界
while (right < n) {// 1. 扩大右边界,将a[right]加入窗口update(window, a[right]);right++;// 2. 满足条件时,收缩左边界while (is_valid(window)) {// 更新答案(如最小长度)ans = min(ans, right - left);// 移除a[left]并移动左边界remove(window, a[left]);left++;}
}

  视频讲解见下方

尺取法

Problem A:尺取Language
和 Problem G:尺取 Jessica Reading Problem
Problem F:林大实验林场–尺取法
是同一个
在这里插入图片描述

#include<bits/stdc++.h>
using namespace std;
int a[1000005];
int main()
{int t,n,s,i,j=0,k=0,sum=0,c;unordered_set<int>set;scanf("%d",&n);for(i=0;i<n; i++){scanf("%d",&a[i]);set.insert(a[i]);}j=set.size();unordered_map<int,int>map;   //不能使用std::mapint l=0,r=0,ans=1000005;while(r<n){if(map[a[r]]==0) sum++;map[a[r]]++;r++;while(sum==j){ans=min(ans,r-l);map[a[l]]--;if(map[a[l]]==0) sum--;l++;}}printf("%d\n",ans);return 0;
}

  标准尺取法的应用(寻找最短区间问题),但本题要注意使用std::unordered_map。以下是二者区别:
  为什么 std::map 比 std::unordered_map 慢?​​
std::map 和 std::unordered_map 都是 C++ STL 提供的关联容器,用于存储键值对(key-value),但它们的底层实现不同,导致时间复杂度不同:
在这里插入图片描述

Problem B:尺取-Graveyard Design
在这里插入图片描述

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
vector <pair<ll,ll> > ans;
bool compare(const pair<ll,ll>& a,const pair<ll,ll>& b)
{return (a.second - a.first) > (b.second - b.first);
}
int main()
{ll n;scanf("%lld",&n);ll l=1,r=1,sum=0;while(1){while(sum<n){sum+=r*r;r++;}if(sum<n) break;if(sum==n) ans.push_back(make_pair(l,r-1));sum-=l*l;l++;if(l*l>n) break;}sort(ans.begin(),ans.end(),compare);printf("%lld\n",ans.size());for(ll i=0;i<ans.size();i++){printf("%lld ",ans[i].second-ans[i].first+1);for(ll j=ans[i].first;j<=ans[i].second;j++){printf("%lld ",j);  //每一个都要加空格 }printf("\n");}return 0;
}

Problem C:尺取-Sum of Consecutive Prime Numbers
在这里插入图片描述

  先用埃氏筛求出素数队列,然后在素数队列下进行尺取法

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const LL maxn = 1e4+10;
int primeNum[maxn];
bool isPrime[maxn];
void getPrime(int n)
{for(int i=0;i<maxn;i++) isPrime[i]=true;for(int i=2;i<=n;i++)if(isPrime[i])for(int j=2;i*j<=n;j++) isPrime[i*j]=false;for(int i=2,j=1;i<=n;i++)if(isPrime[i]) primeNum[j++] = i;
}
int main()
{int n;getPrime(maxn-10);while(cin >> n && n){int cnt=0,i=1,j=1,sum=0;if(isPrime[n]) cnt++;while(1){while(sum<n && primeNum[j]<n) sum+=primeNum[j++];if(sum<n) break;if(sum==n) cnt++;sum-=primeNum[i++];}cout<<cnt<<endl;}return 0;
}

Problem D:尺取-序列
在这里插入图片描述

  标准尺取题

#include<bits/stdc++.h>
using namespace std;
int m,n,s;
int q[100005];
int main()
{scanf("%d",&m);while(m--){scanf("%d%d",&n,&s);for(int i=0;i<n;i++) scanf("%d",&q[i]);int l=0,r=0,ans=n+1,sum=0;while(1){while(r<n && sum<s) sum+=q[r++];if(sum<s) break;ans=min(ans,r-l);sum-=q[l++];}if(ans==n+1) printf("0\n");else printf("%d\n",ans);}return 0;
}

Problem E:尺取-字符串
在这里插入图片描述

#include <bits/stdc++.h>
using namespace std; 
const int N = 1e6 + 5;
char s[N];
int cnt[255];
int main()
{int i, j, n, m, tot = 0, ans = 1e9;scanf("%s",s+1);n = strlen(s+1);j = 1; cnt[s[1]]++; tot = 1;for(i = 2; i <= n; i++){if(!cnt[s[i]]) tot++;cnt[s[i]]++;while(cnt[s[j]]>1){cnt[s[j]]--;j++;}if(tot==26) ans=min(ans,i-j+1);}printf("%d",ans);return 0;
}

  尺取法相关问题均与上述模板相似
                                —ending

http://www.dtcms.com/a/473125.html

相关文章:

  • 自己做网站要学什么软件下载设计室内效果图设计
  • 拼多多刷单网站开发集运网站建设
  • 盐田高端网站建设做淘宝要网站?
  • 如何使用记事本做网站网页设计实验步骤
  • 网站建设服务合同网站域名费用多少钱一年
  • 淄博桓台学校网站建设方案网站设计策划书 模板
  • 网站设计团队分工win7用iis搭建网站
  • 有什么平面设计的网站外贸用什么软件
  • 深圳手机网站建设联系电话免费咨询平台
  • 企业网站建设的类型主要有东莞网约车租车公司
  • 桐梓网站开发域名解析映射到网站空间怎么做
  • 提供有经验的网站建设公司网站建设的现状
  • 做网站 搞流量郑州网站优化外包
  • 网站建设可上传视频的包图网登录入口
  • 北京交友最好的网站建设DW做网站下拉列表怎么做
  • 网站维护中页面贵阳市城乡建设部网站
  • 网站制作视频教程免费微商城运营
  • 十大接单网站wordpress输入命令
  • 大连做网站 选领超科技icp备案号什么意思
  • 网站关键词全国各地的排名情况网站的外部推广
  • 微商城手机网站设计公司桂林漓江悦府
  • 网站建设合同.doc选择热门网站做推广的原因
  • 珠海主题网站设计模板什么是网站托管
  • 网站上的验证码怎么做建立网站域名的费用
  • 阿里云备案网站备案域名购买重庆建设工程网站
  • 淘宝购物网站的建设网络推广费用
  • 全球做网站的公司排名seo搜索引擎优化费用
  • html网站开发心得体会wordpress爆破字典
  • 做网站注册几类商标中拓网络科技有限公司
  • 辛集seo网站优化价格一个人做企业网站要多少天