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

最近做网站开发有前途没/sem专员

最近做网站开发有前途没,sem专员,帮人做网站,个人养老保险缴费明细怎么查询诡异的电梯【Ⅰ】 时间限制:1000 ms | 内存限制:65535 KB难度:3描述新的宿舍楼有 N(1≤N≤100000) 层 and M(1≤M≤100000)个学生. 在新的宿舍楼里, 为了节约学生的时间也为了鼓励学生锻炼身体, 所以规定该宿舍楼里的电梯在相邻的两层之间是…

诡异的电梯【Ⅰ】

时间限制:1000 ms  |  内存限制:65535 KB
难度:3
描述

新的宿舍楼有 N(1≤N≤100000)  and M(1≤M≤100000)个学生在新的宿舍楼里为了节约学生的时间也为了鼓励学生锻炼身体所以规定该宿舍楼里的电梯在相邻的两层之间是不会连续停下(即,如果在第2层停下就不能在第3层停下。).所以,如果有学生在相邻的两层之间要停下则其中的一部分学生必须选择走楼梯来代替。规定:一个人走下一层楼梯的花费为A,走上一层楼梯的花费为B。(1≤A,B≤100)现在请你设计一个算法来计算出所有学生走楼梯花费的最小费用总和。 所有的学生一开始都在第一层,电梯不能往下走,在第二层的时候电梯可以停止。


输入
输入有几组数据T。T(1≤T≤10)
每组数据有N (1≤N≤100000),M(1≤M≤100000),A,B(1≤A,B≤100)。
接下来有M个数字表示每个学生想要停的楼层。

输出
输出看样例。
样例输入
1
3 2 1 1
2 3
样例输出
Case 1: 1
 
思路:
   

这其实就是一个简单的一维dp,用dp【i】表示从1层上到第 i 层花费的最小的体力。

因为不能在相邻的楼层停留,所以可以从dp【i-2】转移,但这样不是最优的还要从dp【i-3】转移,因为这样的话就可以到达所有的楼层。我们只要在所有的之间dp最优即可。

其他要注意的一个条件是,从dp【i-3】转移时,中间两层的人有四种选择:

1:都上去或都下来

2:上面的上去一层,下面的下来一层

3:上面的下来两层,下面的上去两层,(当时没有考虑到这个,要细心啊)

题目讲解:题目的状态转移方程是比较难想,但是画一下图就能发现转移方程;
下面图解now代表当前的楼层:到达每一个楼层,共有下面四种情况;
 存在bug,
3 2 1 1
2 2
时输出结果为2,保留以后改进
我的代码:
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
int main()
{int T,n,m,up,down,i,k,t,cnt,mi;int a[100010],dp[100010];cin >> T;for(cnt=1;cnt<=T;++cnt){memset(a,0,sizeof(a));cin >> n >> m >> down >> up;for (i=1;i<=m;++i){cin >> t;a[t]++;}memset(dp,0x3f3f3f3f,sizeof(dp));dp[0]=dp[1]=dp[2]=0;mi=min(up,down);for (i=3;i<=n;++i){dp[i]=min(dp[i],dp[i-2]+a[i-1]*mi);/*因为以3层楼里找最优,因为它是相隔一层楼的,且最顶楼的不考虑上面楼层,所以当现在的最顶层变最低层时,就可以考虑中间的楼层是上或下楼了*/if(i-3>=1){k=min((a[i-2]*2+a[i-1])*up,(a[i-2]+a[i-1]*2)*down);k=min(k,a[i-1]*up+a[i-2]*down);k=min(k,a[i-1]*down*2+a[i-2]*up*2);dp[i]=min(dp[i],dp[i-3]+k);}}cout <<"Case " << cnt << ": " << dp[n] << endl;}return 0;
}

标程:
 
#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
int dp[100005];
int flo[100005];
int main()
{int kase = 0;int T;scanf("%d", &T);while (T--){memset(dp, 0, sizeof(dp));memset(flo, 0, sizeof(flo));int n, m, a, b;scanf("%d %d %d %d", &n, &m, &a, &b);for (int i = 0; i < m; i++){int t;scanf("%d", &t);flo[t]++;}int minn;for (int i = 3; i <= n; i++){minn = min(flo[i - 1] * a, flo[i - 1] * b) + dp[i - 2];//printf("minn = %d\n", minn);int t1 = min(flo[i - 1] * a + flo[i - 2] * a, flo[i - 1] * b + flo[i - 2] * b);int t2 = min(flo[i - 1] * b + flo[i - 2] * a, flo[i - 1] * a + flo[i - 2] * b);int t3 = min(t1, t2) + dp[i - 3];//printf("t1 = %d, t2 = %d, t3 = %d\n", t1, t2, t3);minn = min(minn, t3);//printf("minn = %d\n", minn);dp[i] = minn;}printf("Case %d: %d\n", ++kase, dp[n]);}return 0;
}        


http://www.jmfq.cn/news/4909447.html

相关文章:

  • 建站方案书/seo概念
  • wordpress $wpdb->escape/网站seo优化是什么
  • 湖南易图做推广送网站/怎样在平台上发布信息推广
  • 怎么查出这个网站是谁做的/sem优化软件选哪家
  • 做家装图接单网站/学电脑培训班
  • 游学做的好的网站/pc网站优化排名软件
  • 网站建设的付款方式/合肥seo网站排名
  • 济南建设网站/百度信息流广告推广
  • 中国交通建设监理协会试验检测工作委员会网站/澳门seo推广
  • 政府网站建设的现状及问题分析/cpm广告联盟平台
  • 公司做网站属于什么费用/湖南企业竞价优化
  • 中山做网站/优化师助理
  • 苏州 手机网站/希爱力5mg效果真实经历
  • 网站建设技术哪些内容/营销网站制作
  • 中国哪家做网站的公司最大/长沙市最新疫情
  • 有效的网络推广/乐山网站seo
  • 打开国外网站很慢怎么办/推广系统
  • 事业单位网站方案/免费打广告平台有哪些
  • 南京企业网站制作哪家好/seo优化排名方法
  • 用CMS做网站的好处/盐城seo培训
  • 设计师一般用什么网站/网站开发流程有哪几个阶段
  • 网站的当前位置导航如何做/店铺运营
  • 洋县住房和城乡建设管理局网站/百度游戏风云榜
  • 江西省建设工程安全质量监督管理局网站/seo计费系统开发
  • 上海服装品牌网站建设/典型的口碑营销案例
  • 手机上怎么做网站/杭州关键词排名工具
  • 网站备案跟做哪个推广有关系吗/佛山快速排名seo
  • iis7配置asp网站/百度怎么打广告在首页
  • 视频网站源码下载/seo网站优化专员
  • 深圳做微网站/中国唯一没有疫情的地方