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

男女插孔做暖暖网站大全百度公司官方网站

男女插孔做暖暖网站大全,百度公司官方网站,京东购物平台,上海h5网站建设文章目录 题目描述思路分析实现源码分析总结 题目描述 思路分析 目前是有一个笨办法,就是创建链表记录每一个最长下降子序列所对应的节点的链接,然后逐个记录所有结点的访问情况,直接所有节点都被访问过。这个方法不是很好,因为需…

文章目录

        • 题目描述
        • 思路分析
        • 实现源码
        • 分析总结

题目描述

在这里插入图片描述

思路分析
  • 目前是有一个笨办法,就是创建链表记录每一个最长下降子序列所对应的节点的链接,然后逐个记录所有结点的访问情况,直接所有节点都被访问过。
  • 这个方法不是很好,因为需要计算很多次,会超时,这里用了贪心的方法来证明,虽然不是最优子序列,但是数量是一致的。
实现源码
#include <iostream>
#include <algorithm>
#include <sstream>using namespace std;const int K = 110;
const int N = 110;
const int H = 12000;
int h[H];
int Up[N];
int Down[N];
struct Node {int idx;Node *next;
};
bool DownAcess[N];
Node DownRecord[N];  // 记录下降节点的序列int main() {int n = 1;string line;getline(cin,line);stringstream ss(line);while(ss>>h[n]) n++;n --;int times = 0;bool endFlag = true ;
//    while(endFlag){
//        endFlag = false;
//        times ++;
//        int maxIdx = 1;
//        int maxNum = 0;// 计算最长上升子序列int res = 0;for (int i = n; i >= 1; -- i) {Down[i] = 1;DownRecord[i].idx = i;// 右侧最长上升子序列for (int k = n; k > i ; --k) {if (h[k] <= h[i]){Down[i] = max(Down[i], Down[k] + 1);if (Down[i] < Down[k] + 1)DownRecord[i].next = &DownRecord[k];}}res = max(res, Down[i]);}cout<<res<<endl;
//
//        for (int i = 1; i <= n; ++i) {
//            if (maxNum < Down[i]) {
//                maxIdx = i;
//            }
//        }
//
//        Node *temp = &DownRecord[maxIdx];
//        while(temp != NULL){
//            DownAcess[temp->idx]  = true;
//        }
//
//        for (int i = 1; i <= n; ++i) {
//            if (DownAcess[i] == false) endFlag = true;
//        }//    }
//    cout<<times<<endl;return 0;
}
//  正解
//#include<iostream>
//#include<algorithm>
//using namespace std;
//
//const int N = 1005;
//int n;
//int q[N];
//int f[N],g[N]
//
//int main()
//{
//    while(cin>> q[n])  n ++;
//    int res = 0;
//    for (int i = 0; i < n; ++i) {
//        for (int j = 0; j < i; ++j) {
//            if (q[j] <= q[i])
//                f[i] = max(f[i],f[j] + 1);
//        }
//        res = max(res,f[i]);
//    }
//    cout<<res<<endl;
//
//    int cnt = 0;
//    for(int i = 0;i < n;i ++){
//        int k = 0;  // 维护的索引的序列
//        while(k < cnt && g[k] < q[i]) k ++;  // 遍历的每一个维护的最大的序列值
//        g[k] = q[i];
//        if(k >= cnt) cnt ++;
//
//    }
//}
分析总结
  • 这里的证明看的不是很懂,但是用样例推过了,确实是正确的。使用贪心求最少的子序列数量,和两次最优子序列是相同的。
  • 但是如果确实想不起来,确实可以使用这个方法进行实验。
http://www.yidumall.com/news/10923.html

相关文章:

  • 开发外包亚马逊排名seo
  • 班级网站首页怎么做网页设计制作
  • 网站建设规划大纲百度推广登录平台客服
  • 网站后台怎么上传文章企业策划咨询公司
  • 公益网站模板关键词优化报价推荐
  • 一个空间两个php网站媒体资源网
  • 那个网站是做辅材批发的千锋教育培训多少钱费用
  • 阿里云网站域名查询软件外包网站
  • 梅州免费建站公司短网址链接生成
  • 广州网络推广公司电话seo运营学校
  • 手机网站建设平台合同百度站长平台如何添加网站
  • 黔西南做网站的有几家推广普通话宣传语手抄报
  • java做网站用哪些技术免费投放广告平台
  • 做语音聊天网站要多少钱星巴克seo网络推广
  • 做网站怎么去文化局备案seo机构
  • 产品推广方式有哪些河北seo基础教程
  • 怎么做一个个人网页seo顾问服务四川
  • web网站模块设计网络推广策划案
  • 自己做的网站加载慢自己怎么做一个网页
  • 厦门外贸网站免费顶级域名注册网站
  • 在网站中写小说想要删除如何做竞猜世界杯
  • 个人网站设计怎么做刚刚刚刚刚刚刚刚刚刚刚刚刚刚刚
  • 即时设计生成网页seo联盟
  • 网站续费要多少钱seo的推广技巧
  • 教育培训类网站建设互联网推广是什么
  • wordpress tag name slug or id星链seo管理
  • 长清区政府网站建设前端开发
  • 网站做任务赚qb优化推广排名网站教程
  • 杭州软装设计公司哪家好庆云网站seo
  • 滨州正规网站建设价格刷评论网站推广