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

电子商务网站建设的作用北京网络推广外包公司排行

电子商务网站建设的作用,北京网络推广外包公司排行,做报告的网站,抽奖页面设计模板目录 Help Jimmy 题目 解题思路 神奇的口袋 题目 枚举的解法 递归的解法 动态规划的解法 滑雪 题目 解题思路 解法一 解法二 Help Jimmy 题目 "Help Jimmy" 是在下图所示的场景上完成的游戏: 场景中包括多个长度和高度各不相同的平台。地面是…

目录

Help Jimmy

题目

解题思路

神奇的口袋

题目

枚举的解法

递归的解法

动态规划的解法

滑雪

题目

解题思路

解法一

解法二


Help Jimmy

题目

        "Help Jimmy" 是在下图所示的场景上完成的游戏:

        场景中包括多个长度和高度各不相同的平台。地面是最低的平台,高度为零,长度无限。
        Jimmy老鼠在时刻0从高于所有平台的某处开始下落,它的下落速度始终为1米/秒。当Jimmy落到某个平台上时,游戏者选择让它向左还是向右跑,它跑动的速度也是1米/秒。当Jimmy跑到平台的边缘时,开始继续下落。Jimmy每次下落的高度不能超过MAX米,不然就会摔死,游戏也会结束。
        设计一个程序,计算Jimmy到底地面时可能的最早时间。

输入

        第一行是测试数据的组数t(0 <= t <= 20)。每组测试数据的第一行是四个整数N,X,Y,MAX,用空格分隔。N是平台的数目(不包括地面),X和Y是Jimmy开始下落的位置的横竖坐标,MAX是一次下落的最大高度。接下来的N行每行描述一个平台,包括三个整数,X1[i],X2[i]和H[i]。H[i]表示平台的高度,X1[i]和X2[i]表示平台左右端点的横坐标。1 <= N <= 1000,-20000 <= X, X1[i], X2[i] <= 20000,0 < H[i] < Y <= 20000(i = 1..N)。所有坐标的单位都是米。
        Jimmy的大小和平台的厚度均忽略不计。如果Jimmy恰好落在某个平台的边缘,被视为落在平台上。所有的平台均不重叠或相连。测试数据保证问题一定有解。

1
3 8 17 20
0 10 8
0 10 13
4 14 3

输出

        对输入的每组测试数据,输出一个整数,Jimmy到底地面时可能的最早时间。

23
解题思路

        Jimmv跳到一块板上后,可以有两种选择,向左走,或向右走。
        走到左端和走到右端所需的时间,是很容易算的。
        如果我们能知道,以左端为起点到达地面的最短时间,和以右端为起点到达地面的最短时间,那么向左走还是向右走,就很容选择了。
        因此,整个问题就被分解成两个子问题,即Jimmv所在位置下方第一块板左端为起点到地面的最短时间,和右端为起点到地面的最短时间。
        这两个子问题在形式上和原问题是完全一致的。将板子从上到下从1开始进行无重复的编号(越高的板子编号越小,高度相同的几块板子,哪块编号在前无所谓),那么,和上面两个子问题相关的变量就只有板子的编号。

        不妨认为Jimmy开始的位置是一个编号为0,长度为0的板子假设LeftMinTime(k)表示从k号板子左端到地面的最短时间,RightMinTime(k)表示从k号板子右端到地面的最短时间,那么,求板子k左端点到地面的最短时间的方法如下:

if(板子k左端正下方没有别的板子){if( 板子k的高度 h(k) 大于Max)LeftMinTime(k) =00;elseLeftMinTime(k) h(k);
}
else if( 板子k左端正下方的板子编号是m){LeftMinTime(k) = h(k)-h(m) +Min( LeftMinTime(m) + Lx(k)-Lx(m) RightMinTime(m)+ Rx(m)-Lx(k));
}

        上面,h(i)就代表i号板子的高度,Lx(i)就代表i号板子左端点的横坐标,Rx(i)就代表i号板子右端点的横坐标。那么 h(k)-h(m)当然就是从k号板子跳到m号板子所需要的时间,Lx(k)-Lx(m) 就是从m号板子的落脚点走到m号板子左端点的时间,Rx(m)-Lx(k)就是从m号板子的落脚点走到右端点所需的时间。
        求RightMinTime(k)的过程类似。
        不妨认为Jimmy开始的位置是一个编号为0,长度为0的板子,那么整个问题就是要求LeftMinTime(0)。
        输入数据中,板子并没有按高度排序,所以程序中一定要首先将板子排序。
        时间复杂度:
        一共 n个板子,每个左右两端的最小时间各算一次O(n)
        找出板子一段到地面之间有那块板子,需要遍历板子 O(n)
        总的时间复杂度O(n2) 

神奇的口袋

题目

        有一个神奇的口袋,总的容积是40,用这个口袋可以变出一些物品,这些物品的总体积必须是40。John现在有n个想要得到的物品,每个物品的体积分别是a1,a2……an。John可以从这些物品中选择一些,如果选出的物体的总体积是40,那么利用这个神奇的口袋,John就可以得到这些物品。现在的问题是,John有多少种不同的选择物品的方式。

输入

        输入的第一行是正整数n (1 <= n <= 20),表示不同的物品的数目。接下来的n行,每行有一个1到40之间的正整数,分别给出a1,a2……an的值。

3
20
20
20

输出

        输出不同的选择物品的方式的数目。

3
枚举的解法

        枚举每个物品是选还是不选,一共2的20次方种情况。

递归的解法
#include <iostream>
using namespace std;
int a[30]; int N;
int Ways(int w ,int k){//从前k种物品中选择一些,凑成体积w的做法数目if(w==0) return 1;if(k<=0) return 0;elsereturn Ways(wk-1)+Ways(w-a[k],k -1 );
}int main(){cin >> N;for(int i=1;i<=N;++i)cin >> a[i];cout << Ways(40,N);return 0;
}
动态规划的解法
#include <iostream>
using namespace std;
int a[30];  int N;
int Ways[50][50]://Ways[i][j]表示从前i种物品里凑出体积i的方法数
int main(){cin >> N;memset(Ways,0,sizeof(Ways));for( int i = 1;i <= N;++ i){cin >> a[i];I Ways[0][i]=1;}Ways[0][0] = 1;for(int w=1;w<=40; ++ W){for(int k =1;K <=N;++K){Ways[w][k]=Ways[w][k-1];if( w-a[k] >=0)Ways[w][k]+= Ways[w-a[k]][k-1];}}cout << Ways [40] [N] ;return 0;
}

滑雪

题目

        Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长的滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子

1  2  3  4  5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9

        一个人可以从某个点滑向上下左右相邻四个点之一,当且仅当高度减小。在上面的例子中,一条可滑行的滑坡为24-17-16-1。当然25-24-23-...-3-2-1更长。事实上,这是最长的一条。

输入

        输入的第一行表示区域的行数R和列数C(1 <= R,C <= 100)。下面是R行,每行有C个整数,代表高度h,0<=h<=10000。

5 5
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9

输出 

        输出最长区域的长度。 

25
解题思路

L(ij)表示从点(ii)出发的最长滑行长度。
一个点(ii),如果周围没有比它低的点,L(ij)=1
否则
递推公式:L(ij)等于(i.i)周围四个点中,比(ij)低,且L值最大的那个点的L值,再加1
复杂度:O(n2)

解法一

“人人为我”式递推
L(i.j)表示从点(i.j)出发的最长滑行长度。
一个点(i.j).如果周围没有比它低的点,L(i.j)=1
将所有点按高度从小到大排序。每个点的L值都初始化为1从小到大遍历所有的点。经过一个点(i.j)时,用递推公式求L(i.j)

解法二

“我为人人”式递推
L(i,j)表示从点(i,j)出发的最长滑行长度。
一个点(i.j),如果周围没有比它低的点,L(i,j)=1
将所有点按高度从小到大排序。每个点的L值都初始化为1
从小到大遍历所有的点。经过一个点(ii)时,要更新他周围的,比它高的点的L值。例如:
if H(i+1,j)>H(ij) //H代表高度
    L(i+1,j)=max(L(i+1,j),L(i,j)+1)

http://www.hkea.cn/news/279650/

相关文章:

  • 大数据营销是什么seo站长
  • 建设政府网站的公司乐山网站seo
  • 仿站容易还是建站容易专业做灰色关键词排名
  • 做网站背景音乐管理课程培训
  • 网站建设可以自学吗品牌软文范文
  • 网站风格对比哪里有学计算机培训班
  • 做mla的网站网站优化哪家好
  • 网站注册的账号怎么注销线上营销活动有哪些
  • 国内做进口的电商网站网站推广软件哪个好
  • 谁有做那事的网站百度投诉中心入口
  • 免费单页网站在线制作沈阳seo排名优化教程
  • 廊坊网站建大型网站建站公司
  • 远程桌面做网站sem和seo区别与联系
  • 做贷款网站优化大师有用吗
  • 有没有便宜的网站制作制作网页教程
  • 医院网站制作优化关键词的方法有哪些
  • wordpress安装到网站吗泰安seo
  • 长春网站开发培训价格google play三件套
  • 做生存分析的网站有哪些国外新闻最新消息
  • 济南网站优化收费百度互联网营销
  • bootstrap响应网站模板下载发帖推广百度首页
  • 动态网站上的查询怎么做新媒体运营培训学校
  • 网站开发人员必备技能百度优化推广
  • 花都 网站建设百度推广怎么添加关键词
  • 开发公司成本部职责岗位职责和流程苏州网站建设优化
  • 湛江网站制作系统seo排名需要多少钱
  • 城乡现代社区建设seo关键词推广案例
  • 旅游网站开发外文文献关键洞察力
  • 大学生asp网站开发的实训周长沙百度快速优化
  • 黑龙江省建设网站百度投流运营