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

怎么搜索整个网站国家医保服务平台

怎么搜索整个网站,国家医保服务平台,搜索引擎优化,什么是企业网站策划案1964. 找出到每个位置为止最长的有效障碍赛跑路线 你打算构建一些障碍赛跑路线。给你一个 下标从 0 开始 的整数数组 obstacles #xff0c;数组长度为 n #xff0c;其中 obstacles[i] 表示第 i 个障碍的高度。 对于每个介于 0 和 n - 1 之间#xff08;包含 0 和 n - 1数组长度为 n 其中 obstacles[i] 表示第 i 个障碍的高度。 对于每个介于 0 和 n - 1 之间包含 0 和 n - 1的下标 i 在满足下述条件的前提下请你找出 obstacles 能构成的最长障碍路线的长度 你可以选择下标介于 0 到 i 之间包含 0 和 i的任意个障碍。在这条路线中必须包含第 i 个障碍。你必须按障碍在 obstacles 中的 出现顺序 布置这些障碍。除第一个障碍外路线中每个障碍的高度都必须和前一个障碍 相同 或者 更高 返回长度为 n 的答案数组 ans 其中 ans[i] 是上面所述的下标 i 对应的最长障碍赛跑路线的长度。 数据范围 n obstacles.length1 n 1051 obstacles[i] 107 分析 本题数据范围比较大因此不能使用n方做法采用贪心二分的方法用q数组记录所有长度为i的最长非递减子序列中的最小值这样可以尽可能多的构造非递减子序列例如原数组为1232 q[1]q[1,2]q[1,2,3]2找到第一个大于2的下标并将其替换q[1,2,2]此时替换的位置就是最长序列的长度 代码 class Solution { public:const static int N 1e5 5;int dp[N]; int q[N], tt -1;void print() {for(int i 0; i tt; i ) cout q[i] ;cout endl;}vectorint longestObstacleCourseAtEachPosition(vectorint obstacles) {int n obstacles.size();vectorint res;res.resize(n);for(int i 0; i n; i ) {if(tt -1 || obstacles[i] q[tt]) {q[ tt] obstacles[i];res[i] tt 1;}else { int pos upper_bound(q, q tt, obstacles[i]) - q;res[i] pos 1;q[pos] obstacles[i];}}return res;} };2111. 使数组 K 递增的最少操作次数 给你一个下标从 0 开始包含 n 个正整数的数组 arr 和一个正整数 k 。 如果对于每个满足 k i n-1 的下标 i 都有 arr[i-k] arr[i] 那么我们称 arr 是 K 递增 的。 比方说arr [4, 1, 5, 2, 6, 2] 对于 k 2 是 K 递增的因为 arr[0] arr[2] (4 5)arr[1] arr[3] (1 2)arr[2] arr[4] (5 6)arr[3] arr[5] (2 2) 但是相同的数组 arr 对于 k 1 不是 K 递增的因为 arr[0] arr[1]对于 k 3 也不是 K 递增的因为 arr[0] arr[3] 。 每一次 操作 中你可以选择一个下标 i 并将 arr[i] 改成任意 正整数。 请你返回对于给定的 k 使数组变成 K 递增的 最少操作次数 。 数据范围 1 arr.length 1051 arr[i], k arr.length 分析 实际就是将原数组拆分为k个子数组对每个子数组求他的最长非递减子序列然后对于非递减子序列的元素就是最优的需要修改的统计一下即可这里求最长非递减子序列也是通过上题的贪心二分计算 代码 class Solution { public:const static int N 1e5 5;int dp[N];int q[N], tt -1;void print() {for(int i 0; i tt; i ) cout q[tt] ;cout endl;}int kIncreasing(vectorint arr, int k) {int res 0;int n arr.size();for(int i 0; i k - 1; i ) {tt -1;int cnt 0;for(int j i; j n; j k) {cnt ;if(tt -1 || arr[j] q[tt]) q[ tt] arr[j];else {int pos upper_bound(q, q tt, arr[j]) - q;q[pos] arr[j];}}res cnt - (tt 1);}return res;} };1626. 无矛盾的最佳球队 假设你是球队的经理。对于即将到来的锦标赛你想组合一支总体得分最高的球队。球队的得分是球队中所有球员的分数 总和 。 然而球队中的矛盾会限制球员的发挥所以必须选出一支 没有矛盾 的球队。如果一名年龄较小球员的分数 严格大于 一名年龄较大的球员则存在矛盾。同龄球员之间不会发生矛盾。 给你两个列表 scores 和 ages其中每组 scores[i] 和 ages[i] 表示第 i 名球员的分数和年龄。请你返回 所有可能的无矛盾球队中得分最高那支的分数 数据范围 1 scores.length, ages.length 1000scores.length ages.length scores[i] 1061 ages[i] 1000 分析 首先将球员先按照年龄排序再按照分数从小到大排序令dp[i]表示选择第i个球员的最大分数状态转移如下 d p [ i ] m a x ( d p [ i ] , d p [ j ] s c o r e [ i ] ) dp[i]max(dp[i],dp[j]score[i]) dp[i]max(dp[i],dp[j]score[i]) 代码 class Solution { public:const static int N 1005;int dp[N], agedp[N];struct node_ {int score, age;friend bool operator (const node_ a, const node_ b) {if(a.age b.age) return a.score b.score;return a.age b.age;}};vectornode_ nodes;int bestTeamScore(vectorint scores, vectorint ages) {int n ages.size();for(int i 0; i n; i ) {nodes.push_back({scores[i], ages[i]});}sort(nodes.begin(), nodes.end());for(int i 0; i n; i ) {dp[i] nodes[i].score;for(int j 0; j i; j ) {if(nodes[j].score nodes[i].score) dp[i] max(dp[i], dp[j] nodes[i].score);}}int res 0;for(int i 0; i n; i ) res max(res, dp[i]);return res;} };54. 俄罗斯套娃信封问题 给你一个二维整数数组 envelopes 其中 envelopes[i] [wi, hi] 表示第 i 个信封的宽度和高度。 当另一个信封的宽度和高度都比这个信封大的时候这个信封就可以放进另一个信封里如同俄罗斯套娃一样。 请计算 最多能有多少个 信封能组成一组“俄罗斯套娃”信封即可以把一个信封放到另一个信封里面。 注意不允许旋转信封。 数据范围 1 envelopes.length 105envelopes[i].length 21 wi, hi 105 分析 先按w升序再按h降序按h降序保证了w相同的信封只能选一个然后对h求最长上升子序列就行此时就满足h递增且w递增 代码 class Solution { public:const static int N 1e5 5;struct node_ {int a, b;friend bool operator (const node_ a, const node_ b) {if(a.a b.a) return a.b b.b;return a.a b.a;}};int n;node_ q[N];int tt -1;vectornode_ envelopes;int find(node_ x) {int l 0, r tt;while(l r) {int mid (l r) 1;if(q[mid].b x.b) l mid 1;else r mid;}return l;}int maxEnvelopes(vectorvectorint envs) {n envs.size();for(int i 0; i n; i ) envelopes.push_back({envs[i][0], envs[i][1]});sort(envelopes.begin(), envelopes.end());for(int i 0; i n; i ) {int a envelopes[i].a, b envelopes[i].b;if(tt -1 || b q[tt].b) q[ tt] {a, b};else {int pos find({a, b});q[pos] {a, b};}}return tt 1;} };
http://www.dnsts.com.cn/news/12552.html

相关文章:

  • 网站的制作方法wordpress 同步预览
  • 做网站云服务期做最漂亮的网站
  • 建站宝盒建网站成都网站建设哪里好
  • 网络营销导向网站建设的基础是什么动画设计电脑配置要求
  • 网站建设时间怎么查保山网站建设服务
  • 广州 建设 招聘信息网站网络营销概述ppt
  • 怎么用linux做网站英文版网站建设策划方案
  • 网站正在建设中 英语翻译海南网站建设设计
  • 广州h5设计网站公司简单好看的版面设计图
  • 东莞正规的人才市场aso推广优化
  • 龙岩做网站公司有哪些网站软件开发招聘
  • 沈阳网站建设联系方式360建筑网忘记登入密码了怎么办
  • WordPress搬家注意事项唐山网站建设优化
  • 网站后台流程图南京工程建设招聘信息网站
  • 企业网站管理源码交换链接营销
  • 做权重网站韶关手机网站建站
  • 做网站的图片取材wordpress建网站的优点
  • 怎样做ppt建网站install wordpress
  • 沈阳网站建设seo优化网站制作论文答辩
  • 甘肃住房和城乡建设部网站富阳做网站
  • asp.net网站建设项目实战 董义革秦皇岛吧 百度贴吧
  • 企业能建站吗影视网站视频接口怎么做
  • 如何给wordpress导航添加图标百度seo公司兴田德润
  • 大型网站建设兴田德润专业做外贸在哪个网站比较好
  • 网站建设简介联系方式广告设计培训机构
  • 如何美化wordpress主题惠州seo排名收费
  • python h5网站开发网站建设知识库
  • 仿站是什么网站建设费用申请
  • 搭建网站的步骤有哪些安徽建设厅官网
  • wordpress 站点大庆最新消息今天