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

网站搭建平台源码兰州金建工程建设监理网站

网站搭建平台源码,兰州金建工程建设监理网站,帝国cms做招聘网站,网站开发入门书籍【题目描述】 给定一个长度为 N 的整数序列#xff1a;,,⋅⋅⋅,。 现在你有一次机会#xff0c;将其中连续的 K 个数修改成任意一个相同值。 请你计算如何修改可以使修改后的数列的最长不下降子序列最长#xff0c;请输出这个最长的长度。 最长不下降子序列是指序列中的…【题目描述】 给定一个长度为 N 的整数序列,,⋅⋅⋅,。 现在你有一次机会将其中连续的 K 个数修改成任意一个相同值。 请你计算如何修改可以使修改后的数列的最长不下降子序列最长请输出这个最长的长度。 最长不下降子序列是指序列中的一个子序列子序列中的每个数不小于在它之前的数。 【输入格式】 输入第一行包含两个整数 N 和 K。 第二行包含 N 个整数 ,,⋅⋅⋅,。 【输出格式】 输出一行包含一个整数表示答案。 【数据范围】 对于 20% 的评测用例1≤K≤N≤100 对于 30% 的评测用例1≤K≤N≤1000 对于 50% 的评测用例1≤K≤N≤10000 对于所有评测用例1 ≤ K ≤ N ≤ 1≤  ≤ 。 【输入样例】 5 1 1 4 2 8 5 【输出样例】 4 【思路】 题解来源AcWing 4648. 最长不下降子序列 - AcWing 【代码】 #include bits/stdc.h const int N 1e5 10; int n, m, k, ans; int a[N]; int b[N]; // 用于离散化的数组 int dp1[N]; // dp1[i]表示从前往后以a[i]结尾的最长不下降子序列的长度 int dp2[N]; // dp2[i]表示从前往后以a[i]开头的最长不下降子序列的长度 int find(int x) //返回整数a[i]在b数组中的下标 {int l 1, r m;while (l r){int mid l r 1;if (b[mid] x)r mid;elsel mid 1;}return l; } struct {int maxv; } seg[N * 4]; void pushup(int id) {seg[id].maxv std::max(seg[id 1].maxv, seg[id 1 | 1].maxv); } void build(int id, int l, int r) {if (l r)seg[id].maxv 0;else{int mid l r 1;build(id 1, l, mid);build(id 1 | 1, mid 1, r);pushup(id);} } void change(int id, int l, int r, int pos, int val) {if (l r)seg[id].maxv std::max(seg[id].maxv, val);else{int mid l r 1;if (pos mid)change(id 1, l, mid, pos, val);elsechange(id 1 | 1, mid 1, r, pos, val);pushup(id);} } int query(int id, int l, int r, int ql, int qr) {if (l ql r qr)return seg[id].maxv;int mid l r 1;if (qr mid)return query(id 1, l, mid, ql, qr);else if (ql mid 1)return query(id 1 | 1, mid 1, r, ql, qr);elsereturn std::max(query(id 1, l, mid, ql, mid), query(id 1 | 1, mid 1, r, mid 1, qr)); } signed main() {std::ios::sync_with_stdio(false);std::cin.tie(0);std::cout.tie(0);std::cin n k;for (int i 1; i n; i)std::cin a[i], b[i] a[i];std::sort(b 1, b n 1); //排序if (n k){std::cout n \n;return 0;} m 1;for (int i 2; i n; i) //去重if (b[i] ! b[m])b[m] b[i];for (int i 1; i n; i)a[i] find(a[i]);build(1, 1, m); //建权值线段树for (int i 1; i n - k; i){dp1[i] query(1, 1, m, 1, a[i]) 1;change(1, 1, m, a[i], dp1[i]);}build(1, 1, m); // dp1已经处理完重新建树处理dp2for (int i n; i k 1; --i){ans std::max(ans, dp1[i - k] k query(1, 1, m, a[i - k], m));// 第一段为dp1[i-k]第二段为k第三段为max(dp2[j]),ik1jn且a[j]a[i]dp2[i] query(1, 1, m, a[i], m) 1;change(1, 1, m, a[i], dp2[i]);}// 特殊情况for (int i 1; i n - k; i)ans std::max(ans, dp1[i] k);for (int i n; i k 1; --i)ans std::max(ans, dp2[i] k);std::cout ans \n;return 0; }
http://www.pierceye.com/news/358147/

相关文章:

  • 域名和网站关联seo优化是指
  • 爱站网官网关键词周口网站关键词优化
  • vps网站管理器阿里云如何做网站
  • 网站是什么意思例如营销型网站文案怎么做
  • 五莲县网站建设wordpress去掉链接中的吗
  • 贡井区建设局网站建网是什么
  • 高端大气网站模板南京网站制作西安
  • wordpress站点标题和副标题网站内容要突出什么原因
  • 网站建设公司排行杭州wordpress站外链接跳转页面
  • 哪个网站可以做行程攻略哈尔滨市建设工程招标网
  • django网站开发实例望城建设局网站
  • 住房和城乡建设网站方案网页界面设计的网络系统有哪些
  • 自己做的网站怎么设置文件下载商城app搭建
  • 好看的网站分享查域名注册详细信息查询
  • 中山网站建设招聘宜宾seo快速排名
  • 网站制作 福宁网络有限公司单页网站seo优化
  • 增城做网站站长之家域名查询大全
  • 个人网站建设报价做游戏出租的网站好
  • 珠海网站建设公司哪家好织梦网站怎么做下载地址
  • 西安商城网站建设公司宁夏住宅建设发展公司网站
  • 网站建设实现用户登录济南网站建设找老兵
  • 做网站还挣钱吗成都网站设计策划免费
  • 阿里云服务器怎么放网站百度开户渠道商哪里找
  • 网赢天下深圳网站建设建设一个小说网站
  • 北湖区网站建设哪家好什么做网站的公司好
  • 做司法亲子鉴定网站专业设计服务网站
  • 网站建设排序题wordpress菜单左对齐
  • 太原网站建设方案维护北京网站建设东轩seo
  • 网站弹屏广告怎么做的自适应网站建设特点
  • 有一个网站专门做民宿做数据可视化图的网站