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

做的好的音乐网站专门做头像的网站

做的好的音乐网站,专门做头像的网站,wordpress contact form,电脑编程学校哪家好文章目录 题目描述思路分析实现源码分析总结 题目描述 思路分析 目前是有一个笨办法,就是创建链表记录每一个最长下降子序列所对应的节点的链接,然后逐个记录所有结点的访问情况,直接所有节点都被访问过。这个方法不是很好,因为需…

文章目录

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

题目描述

在这里插入图片描述

思路分析
  • 目前是有一个笨办法,就是创建链表记录每一个最长下降子序列所对应的节点的链接,然后逐个记录所有结点的访问情况,直接所有节点都被访问过。
  • 这个方法不是很好,因为需要计算很多次,会超时,这里用了贪心的方法来证明,虽然不是最优子序列,但是数量是一致的。
实现源码
#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.yayakq.cn/news/245405/

相关文章:

  • 潍坊网站建设top杭州房价
  • 广西住建局官方网站淘宝 wordpress
  • 2018年网站建设工作总结网站策划的基本过程
  • 网页设计师个人网站小学手工制作100种
  • 荆州做网站公司北京市建设工程招投标
  • 网站怎样才能在百度被搜索到wordpress将首页转成html代码
  • 重庆企业网站推广方法网站站内搜索代码
  • 中山做网站的wordpress多少钱
  • 企业站系统金融服务网站建设内容
  • 建设完网站如何信息更新亚马逊雨林有原始人吗
  • 网站做成app需要多少钱个人简历自我评价怎么写
  • 专业做网站公司怎么收费赤坎网站开发公司
  • 西安淘宝网站建设公司排名做外贸可以用哪些网站
  • 从化建网站用ps做班级网站
  • 安丘市建设局网站建筑网片是干什么用的
  • 提升网站访问量建设局网站自查自纠
  • 福州响应式网站如何在网站上做用工登记
  • 什么网站可以做装修效果图app下载汅api免费下载大全视频
  • 网站建设服务亮点楼盘动态
  • 企业网站建设带后台现在建设校园网站用什么软件
  • 重庆网站推广免费软件新闻最近的新闻
  • 网站内容建设运维服务做网站签订合同
  • 外国购物网站设计风格wordpress左右
  • 天津市建设工程管理总队网站万网搜官网
  • 十大摄影网站排名农村电商怎么做
  • 网站备案需要去哪里网站开发流程 原型设计
  • 淮南网站制作公司wordpress优化图片
  • 大学一学一做视频网站文山知名网站建设联系电话
  • 哪个网站用户体验较好教育培训机构招生方案
  • 网站开发图片侵权怎么在百度做公司网站