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

网站前端做报名框代码/刺激广告

网站前端做报名框代码,刺激广告,建设网站哪间公司比较好,做网站需要数据库么题目大意&#xff1a; 长度为nnn的序列a&#xff0c;可以将任一区间内的最大最小值位置调换&#xff0c;问从初状态到末状态的一种可行方案数。 1<n<40961<n<40961<n<4096 分析&#xff1a; 考虑归并排序&#xff0c; 对于两个递增的序列[l,mid],[mid1,r]…

题目大意:

长度为nnn的序列a,可以将任一区间内的最大最小值位置调换,问从初状态到末状态的一种可行方案数。

1&lt;=n&lt;=40961&lt;=n&lt;=40961<=n<=4096

分析:

考虑归并排序,
对于两个递增的序列[l,mid],[mid+1,r]
从mid向两边拓展,找到最大的x满足
满足a[mid−x]&gt;a[mid+1+x]a[mid-x]&gt;a[mid+1+x]a[midx]>a[mid+1+x]
则显然将这段区间[mid−x,mid][mid-x,mid][midx,mid],[mid+1,mid+1+x][mid+1,mid+1+x][mid+1,mid+1+x]分别翻转以后[mid−x,mid+1+x][mid-x,mid+1+x][midx,mid+1+x]是一段递减的序列
此时我们再将整个序列翻转一遍就可以使得这一段单调递增
然后我们再去做(l,mid,x)(l,mid,x)(l,mid,x)(mid+1,r,mid+1+x)(mid+1,r,mid+1+x)(mid+1,r,mid+1+x)即可

代码:

#include <iostream>
#include <cstdio>
#include <cmath>
#include <queue>
#include <cstring>
#include <algorithm>#define rep(i, st, ed) for (int i = st; i <= ed; i++)
#define rwp(i, ed, st) for (int i = ed; i >= st; i--)#define N 5005using namespace std;struct Node {int l, r;Node(){}Node(int a, int b) {l = a, r = b;}
}ans[350000];
int a[N], n, cnt, tot;void merge(int l, int r, int mid) {if (l > mid || mid >= r || l == r) return;int i = mid, j = mid + 1;while(i > l && j < r && a[i - 1] > a[j + 1]) --i, ++j;if (a[i] > a[j]) {for (int p = i, q = mid; p < q; ++p, --q)swap(a[p], a[q]), ans[++tot] = Node(p, q);for (int p = mid + 1, q = j; p < q; ++p, --q)swap(a[p], a[q]), ans[++tot] = Node(p, q);for (int p = i, q = j; p < q; ++p, --q)swap(a[p], a[q]), ans[++tot] = Node(p, q);merge(l, mid, i - 1), merge(mid + 1, r, j);}return;
}void solve(int l, int r) {   if(l == r) return;int mid = (l + r) >> 1;solve(l, mid); solve(mid + 1, r);merge(l, r, mid);return;
}int main() {freopen("swap.in", "r", stdin),freopen("swap.out", "w", stdout);scanf("%d", &n);  rep(i, 1, n) scanf("%d", &a[i]);solve(1, n); cnt = tot; rep(i, 1, n) scanf("%d", &a[i]);solve(1, n);printf("%d\n", tot);rep(i, 1, cnt) printf("%d %d\n", ans[i].l, ans[i].r);rwp(i, tot, cnt + 1) printf("%d %d\n", ans[i].l, ans[i].r);return 0;
}
http://www.jmfq.cn/news/4829563.html

相关文章:

  • 品牌网站建设怎么做/谷歌浏览器官方正版下载
  • 免费建站网站建设/排名优化工具
  • 黑客做的网站好用不/百度官方app下载
  • 网站建设 推广什么意思/win10最强优化软件
  • 江门网站建设运营团队/seo搜索引擎招聘
  • 网站建设的主要结构/头条广告入口
  • 大学校园门户网站建设/企业营销策划实训报告
  • 主流网站开发技术框架/seo根据什么具体优化
  • 兰州网站建设推广/seo关键词优化推广报价表
  • asp手机网站源码/app运营方案
  • 网站开发 百度网盘/网站建设多少钱
  • 网站首页内链怎么做/地推接单平台找推网
  • 商城网站的模块设计/seo顾问培训
  • 免费的平面设计网站/elo机制
  • 个人微网站怎么做/南宁网站seo
  • php+mysql网站开发全程实例pdf/百度云搜索引擎入口手机版
  • 平面设计主要是干嘛的/北京seo公司哪家好
  • 黄山网站设计/免费个人主页网站
  • 自开发购物网站/网络培训网站
  • 无锡网站制作中心/宁波seo教学
  • 为什么网站显示建设中/成都关键词排名推广
  • 怎么编辑网站代码/赣州seo外包怎么收费
  • 营销型网站模板展示/app定制开发
  • 西地那非我吃了5年/深圳优化公司
  • 开发网站需要什么开发工具/营销案例分享
  • 建站视频教程全套 asp网站源码网页制作设计建设视频教程百度云/微信搜一搜怎么做推广
  • 永兴县人民政府门户网站/企业如何建站
  • 国外做情趣用品比较有名的网站/视频号视频下载助手app
  • dw怎么用div css做网站/免费二级域名分发
  • 合肥网站建设开发/国外外链平台