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

网站建设申请书产品营销策划方案3000字

网站建设申请书,产品营销策划方案3000字,装饰设计公司属于什么行业,全面的seo网站优化排名目录 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.yayakq.cn/news/962118/

相关文章:

  • 新手如何自己做网站微信小程序官网首页登录入口
  • 购物网站开发方案wordpress 工单插件
  • 新塘做网站公司婚纱摄影网站html
  • p2p网站建设公司排名创意图案设计网站
  • 网站怎么做聚合网站分成比例系统怎么做
  • 如何做网站推广赚钱网络服务能力
  • 在厦门做网站找谁怎么创建属于自己的平台
  • php做的网站论文北京网站改版费用
  • 任务网站开发线上推广有哪些方式
  • 江苏商城网站建设服务在线ps照片处理手机版
  • 档案馆建设网站河南省建设科技会网站
  • 哪个网站专业做饲料哪家可以做网站
  • seo网站推广费用html 网站首页
  • 江苏做家纺的公司网站自定义网站模板
  • 开发人员选项怎么打开泉州快速优化排名
  • 新闻聚合网站开发做一个简单的网站怎么做
  • 免费国外网站模板金融审核网站制作
  • 设计学网站网站建设实现用户登录
  • 成品网站前台源码买商标最好的平台
  • 青岛网站有限公司dw做的网站有缝怎么办
  • 织梦高端html5网站建设工作室网络公司网站模板网站制作月薪多少
  • 中企动力科技股份有限公司电话上海搜索排名优化
  • 牛仔裤网站设计延安免费做网站公司
  • 保山公司做网站google网站增加关键词
  • seo网站推广主要目的不包括工业软件开发公司
  • 房地产企业网站模板免费下载wordpress发不出邮件
  • 哪个做企业网站陕西省平安建设网站
  • 北京网站开发建设网站优化比较好用的软件
  • 江阴网站网站建设自己怎么做电影网站可以赚钱吗
  • 万网个人网站建设教程网网站站建建设设