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

凡科做网站个人商城网站制作费用

凡科做网站,个人商城网站制作费用,建站园,南通制作网页多少钱目录 题目算法标签: 贪心, 二分, 动态规划, 树状数组思路不翻转原数组写法代码翻转原数组写法代码*警示后人 题目 P1020 [NOIP 1999 提高组] 导弹拦截 算法标签: 贪心, 二分, 动态规划, 树状数组 思路 因为洛谷对本题数据进行了加强, 因此需要更高效的做法, 第一问求的是最…

题目

P1020 [NOIP 1999 提高组] 导弹拦截

算法标签: 贪心, 二分, 动态规划, 树状数组

思路

因为洛谷对本题数据进行了加强, 因此需要更高效的做法, 第一问求的是最长不上升子序列, 可以使用树状数组维护前缀最大值求解, 第二问是贪心问题, 将每个导弹放到第一个大于等于该导弹高度的位置上, 如果不存在那么新创建一个系统, 可以发现每个系统的最后的高度是单调上升的, 因此可以二分求解, 算法时间复杂度 O ( n log ⁡ n ) O(n\log n) O(nlogn)

不翻转原数组写法代码

#include <iostream>
#include <algorithm>
#include <vector>
#include <cstring>using namespace std;const int N = 1e5 + 10;int tr[N];
vector<int> w, disc;int lowbit(int x) {return x & -x;
}void update(int u, int val) {for (int i = u; i < N; i += lowbit(i)) tr[i] = max(tr[i], val);
}int query(int u) {int res = 0;for (int i = u; i > 0; i -= lowbit(i)) res = max(res, tr[i]);return res;
}int main() {ios::sync_with_stdio(false);cin.tie(0), cout.tie(0);int val;while (cin >> val) w.push_back(val);disc = w;sort(disc.begin(), disc.end());disc.erase(unique(disc.begin(), disc.end()), disc.end());int res = 0;for (int i = 0; i < w.size(); ++i) {//因为树状数组下标从1开始 因此需要 + 1int idx = lower_bound(disc.begin(), disc.end(), w[i]) - disc.begin() + 1;idx = disc.size() - idx + 1;int curr = query(idx) + 1;update(idx, curr);res = max(res, curr);}vector<int> g;for (int num : w) {auto it = lower_bound(g.begin(), g.end(), num);if (it == g.end())  g.push_back(num);else *it = num;}cout << res << "\n" << g.size() << "\n";return 0;
}

翻转原数组写法代码

#include <iostream>
#include <algorithm>
#include <vector>
#include <cstring>using namespace std;const int N = 1e5 + 10;int tr[N];
vector<int> w, disc;int lowbit(int x) {return x & -x;
}void update(int u, int val) {for (int i = u; i < N; i += lowbit(i)) tr[i] = max(tr[i], val);
}int query(int u) {int res = 0;for (int i = u; i > 0; i -= lowbit(i)) res = max(res, tr[i]);return res;
}int main() {ios::sync_with_stdio(false);cin.tie(0), cout.tie(0);int val;while (cin >> val) w.push_back(val);disc = w;sort(disc.begin(), disc.end());disc.erase(unique(disc.begin(), disc.end()), disc.end());int res = 0;reverse(w.begin(), w.end());for (int i = 0; i < w.size(); ++i) {//因为树状数组下标从1开始 因此需要 + 1int idx = lower_bound(disc.begin(), disc.end(), w[i]) - disc.begin() + 1;int curr = query(idx) + 1;update(idx, curr);res = max(res, curr);}reverse(w.begin(), w.end());vector<int> g;for (int num : w) {auto it = lower_bound(g.begin(), g.end(), num);if (it == g.end())  g.push_back(num);else *it = num;}cout << res << "\n" << g.size() << "\n";return 0;
}

*警示后人

因为树状数组的下标是从 1 1 1开始的, 因此在进行下标映射的时候需要 + 1 + 1 +1, 然后因为数据范围很大需要对数进行离散化


文章转载自:

http://i9IOYFvI.nxprb.cn
http://UJnzYRmm.nxprb.cn
http://fC5T2qQV.nxprb.cn
http://lGrUcYmQ.nxprb.cn
http://trAkPlrn.nxprb.cn
http://TnF1cjhG.nxprb.cn
http://f5BG7yr9.nxprb.cn
http://qfV27SrJ.nxprb.cn
http://cMOQysZe.nxprb.cn
http://kZpSP7TN.nxprb.cn
http://NIrrpyr8.nxprb.cn
http://qoBQohCe.nxprb.cn
http://vXLBpf1v.nxprb.cn
http://1IX8FDaq.nxprb.cn
http://9HFdG9IL.nxprb.cn
http://oGFp82ts.nxprb.cn
http://gdZ3V3z2.nxprb.cn
http://tV9oofvG.nxprb.cn
http://Ola0OkGu.nxprb.cn
http://JetWNVSA.nxprb.cn
http://tkl3CfMI.nxprb.cn
http://JBbi6GW3.nxprb.cn
http://YVCGSUcn.nxprb.cn
http://3AyVwQXm.nxprb.cn
http://2TCf7SMy.nxprb.cn
http://PaCETAQI.nxprb.cn
http://h9Foyoul.nxprb.cn
http://wIW6M8x1.nxprb.cn
http://hMyASQmk.nxprb.cn
http://wCxmcT0j.nxprb.cn
http://www.dtcms.com/wzjs/715850.html

相关文章:

  • 网站建设优化公司哪家好溧阳常州做网站
  • 电子商务网站建设与管理 李建忠做盗版小说网站犯法吗
  • 俱乐部网站模板网站建设公司怎么运营
  • 大连网站建设主页中信建设有限责任公司四川分公司电话
  • 网站建设公司能信吗成品视频直播软件推荐哪个好一点安全
  • 小企业网站建设的基础知识wordpress一键安装包
  • 英文seo实战派免费关键词优化排名软件
  • 17网站一起做网店池尾网站如何交换链接
  • 做外贸网站平台有哪些内容做html的软件
  • 电子商城网站建设成都房地产公司排名
  • 写网站的教程wordpress主页图片
  • 网站空间域名购买网站开发的技术要求
  • ui外包网站seo网站优化详解
  • 湖南岳阳网站建设公司黄页顺企网怎么做网页别人可以看到图片
  • 安防公司手机网站网站开发电商
  • 做网站一个程序员够吗h5case是什么网站
  • 网站开发数据流程图怎么画毕业设计模板网站
  • 小程序公司排名孔宇seo
  • 东莞市小程序定制开发丨网站建设小程序跳转到网站
  • 深圳网站-建设信科网络做外贸网站注意
  • 珠海网站建设知识云服务器防御
  • 培训机构网站建设推广网站推广策划方案毕业设计
  • 保险网站定制wordpress在centos
  • WordPress黑镜主题下载seo网站推广 杭州
  • 好听的公司名称福建搜索引擎优化
  • 上海网站seo外包wordpress 微信 登陆地址
  • 河南企业网站定制涟水住房和城乡建设局网站
  • 西南能矿建设工程公司网站濮阳网格化app
  • 如何用ppt形式做网站北京天津网站建设公司
  • 接活做图网站c2c网站 多钱