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

dedecms做门户网站合肥网站优化软件

dedecms做门户网站,合肥网站优化软件,wordpress 幻灯代码,互联网技术的应用问题描述 作物杂交是作物栽培中重要的一步。已知有 N 种作物(编号 1 至 N ),第 i 种作物从播种到成熟的时间为 Ti。 作物之间两两可以进行杂交,杂交时间取两种中时间较长的一方。如作物 A 种植时间为 5 天,作物 B 种植时间为 7 天&#xff0…

问题描述

作物杂交是作物栽培中重要的一步。已知有 N 种作物(编号 1 至 N ),第 i 种作物从播种到成熟的时间为 Ti。
作物之间两两可以进行杂交,杂交时间取两种中时间较长的一方。如作物 A 种植时间为 5 天,作物 B 种植时间为 7 天,则 AB 杂交花费的时间为 7 天。
作物杂交会产生固定的作物,新产生的作物仍然属于 N 种作物中的一种。

初始时,拥有其中 M 种作物的种子(数量无限,可以支持多次杂交)。同时可以进行多个杂交过程。
求问对于给定的目标种子,最少需要多少天能够得到。

如存在 4 种作物 ABCD,各自的成熟时间为 5 天、7 天、3 天、8 天。初始拥有 AB 两种作物的种子,目标种子为 D,已知杂交情况为 A×B→C,A×C→D。
则最短的杂交过程为:

第 1 天到第 7 天(作物 B 的时间),A×B→C。

第 8 天到第 12 天(作物 A 的时间),A×C→D。

花费 12 天得到作物 D 的种子。

输入格式

输入的第 1 行包含 4 个整数 N,M,K,T,N 表示作物种类总数(编号 1 至 N),M 表示初始拥有的作物种子类型数量,K 表示可以杂交的方案数,T 表示目标种子的编号。

第 2 行包含 N 个整数,其中第 i 个整数表示第 i 种作物的种植时间 Ti(1≤Ti≤100)。

第 3 行包含 M 个整数,分别表示已拥有的种子类型 Kj(1≤Kj≤M),Kj 两两不同。

第 4 至 K+3 行,每行包含 3 个整数 A,B,C,表示第 A 类作物和第 B 类作物杂交可以获得第 C 类作物的种子。

输出格式

输出一个整数,表示得到目标种子的最短杂交时间。

思路:

我们改如何存储每种作物的所有杂交方案呢? 我开始想到是用二维数组存储,定义一个足够大的数组int hybrid[2005][2005],存储所有杂交方 案,如A + B->C,转换为hybrid[A][B] = C. 但是使用这种存储方案的的话,我想不到该如何去得到一种种子的最短杂交时间,因为目标种子 是数组所存的值,我们需要的是通过目标种子的标号能够得到能够杂交出该种子的所有杂交方 案! 所以这种方案肯定是不行的。

我又想出来一种通过二维向量(vector)来存储的办法。 定义一个二维向量vector< vector >hybrid(2005);存储每种作物的所有杂交方案 定义一个结构体存储杂交方案 struct parent //存储杂交方案 { int x; int y; };

每次输入一个能杂交出 x 作物的杂交方案(parent类型存储)就存入hybrid[x] 中。

#include<bits/stdc++.h> 
using namespace std; 
struct parent //存储杂交方案 
{     int x; int y; 
}; 
int n, m, k, t, tmp; 
long long plant_time[2005];//每种作物的种植时间 
bool flag[2005];//标记是否出现了该作物 
long long min_hybrid_time[2005];//杂交出每种作物的最短时间 
vector< vector<parent> >hybrid(2005);//存储每种作物的所有杂交方案 
long long solve(int now) 
{ if (flag[now])//若是已有杂交出该种作物的最短时间 return min_hybrid_time[now];//直接返回即可 for (int i = 0; i < hybrid[now].size(); i++)//对能够杂交出当前作物的方案都尝试一下 { parent tmp = hybrid[now][i];//能够杂交出当前作物的第i种方案 //当前作物的最短杂交时间是 杂交出该作物的所有方案 中的最短时间 //而每种方案的最短时间是种植其‘父母’作物所需要的时间 + 其父母作物杂交所需的的最短时
间(=两者杂交所需时间中的最大值) min_hybrid_time[now] = min(min_hybrid_time[now], max(plant_time[tmp.x], 
plant_time[tmp.y]) + max(solve(tmp.x), solve(tmp.y))); } flag[now] = true;//标记已经找到最短杂交时间 return min_hybrid_time[now];//返回最短杂交时间 
} 
int main() 
{ cin >> n >> m >> k >> t; memset(min_hybrid_time, 0x3f, sizeof(min_hybrid_time));//杂交出每种作物的最短时间初
始化为最大值memset(flag, false, sizeof(flag));//作物标记初始化 //注意作物的下标从1开始!!! for (int i = 1; i <= n; i++)//输入种植时间 cin >> plant_time[i]; for (int i = 0; i < m; i++)//输入初始种子数据 { cin >> tmp; flag[tmp] = true;//标记已经有了最短杂交时间 min_hybrid_time[tmp] = 0;//最短杂交时间 = 0,因为不需要杂交 } for (int i = 0; i < k; i++)//输入所有杂交方案 { parent temp; 
cin >> temp.x >> temp.y >> tmp; 
hybrid[tmp].push_back(temp);//存储杂交方案 
} 
solve(t);//递归求解 
cout << min_hybrid_time[t] << endl;//输出杂交出目标作物的最短时间 
return 0; 
}


文章转载自:
http://beyrouth.xkzr.cn
http://osmolality.xkzr.cn
http://spiroplasma.xkzr.cn
http://integrality.xkzr.cn
http://coercing.xkzr.cn
http://palatable.xkzr.cn
http://hellenist.xkzr.cn
http://dialectician.xkzr.cn
http://frippet.xkzr.cn
http://harvard.xkzr.cn
http://hobbler.xkzr.cn
http://phonemicise.xkzr.cn
http://nih.xkzr.cn
http://patchery.xkzr.cn
http://blandish.xkzr.cn
http://alga.xkzr.cn
http://moonhead.xkzr.cn
http://succeed.xkzr.cn
http://musician.xkzr.cn
http://murine.xkzr.cn
http://manoir.xkzr.cn
http://penicil.xkzr.cn
http://sourkrout.xkzr.cn
http://haggis.xkzr.cn
http://viscosimeter.xkzr.cn
http://dentex.xkzr.cn
http://herakles.xkzr.cn
http://deedbox.xkzr.cn
http://orbiculate.xkzr.cn
http://opuntia.xkzr.cn
http://maximus.xkzr.cn
http://postnuptial.xkzr.cn
http://meander.xkzr.cn
http://saxifrage.xkzr.cn
http://mocker.xkzr.cn
http://hammerblow.xkzr.cn
http://panada.xkzr.cn
http://karyotheca.xkzr.cn
http://pickwickian.xkzr.cn
http://mailcatcher.xkzr.cn
http://declensional.xkzr.cn
http://butterine.xkzr.cn
http://tinctorial.xkzr.cn
http://phytopathogene.xkzr.cn
http://bullous.xkzr.cn
http://bacchic.xkzr.cn
http://castroite.xkzr.cn
http://boatbill.xkzr.cn
http://drumstick.xkzr.cn
http://comitiva.xkzr.cn
http://diplont.xkzr.cn
http://byliner.xkzr.cn
http://aerobiotic.xkzr.cn
http://usual.xkzr.cn
http://abrase.xkzr.cn
http://booted.xkzr.cn
http://rediffusion.xkzr.cn
http://zymogenic.xkzr.cn
http://discommon.xkzr.cn
http://chanteuse.xkzr.cn
http://topmaul.xkzr.cn
http://unit.xkzr.cn
http://jmb.xkzr.cn
http://inoculation.xkzr.cn
http://passivation.xkzr.cn
http://coolie.xkzr.cn
http://ruffianism.xkzr.cn
http://fieldward.xkzr.cn
http://sprout.xkzr.cn
http://pointillism.xkzr.cn
http://kernelled.xkzr.cn
http://beerslinger.xkzr.cn
http://weed.xkzr.cn
http://mycoflora.xkzr.cn
http://gaper.xkzr.cn
http://tuberculotherapy.xkzr.cn
http://intimate.xkzr.cn
http://gcm.xkzr.cn
http://harken.xkzr.cn
http://unridden.xkzr.cn
http://convertibly.xkzr.cn
http://actually.xkzr.cn
http://muller.xkzr.cn
http://tritheism.xkzr.cn
http://radioactinium.xkzr.cn
http://respond.xkzr.cn
http://eyelid.xkzr.cn
http://ostrogoth.xkzr.cn
http://nora.xkzr.cn
http://letter.xkzr.cn
http://kurta.xkzr.cn
http://uloid.xkzr.cn
http://hebron.xkzr.cn
http://nominally.xkzr.cn
http://trickily.xkzr.cn
http://larry.xkzr.cn
http://roentgenometry.xkzr.cn
http://atticism.xkzr.cn
http://abnormity.xkzr.cn
http://salutation.xkzr.cn
http://www.15wanjia.com/news/91395.html

相关文章:

  • 孝感做网站公司企业软文范例
  • discuz做的网站上传到网站空间的文件免费网站建设模板
  • 电子商务网站上线活动策划百度网盘帐号登录入口
  • 中企动力网站建设方案培训心得体会范文大全1000
  • 杭州网站建设网武汉网站推广公司排名
  • 那种电影网站怎么建设百度新闻头条新闻
  • 深圳网站设计公司费用百度客户服务中心
  • 阜阳微商城网站建设软文推广范文
  • 电子商务网站开发成本外贸网站平台都有哪些
  • 网站建设前期策划方案想要推广页
  • 建设部网站公告注册成功企业培训体系搭建
  • pc端网站开发技术微信群拉人的营销方法
  • 杭州网站设计建设线上推广怎么做
  • 惠州做网站乐云seo轻松上线推广普通话手抄报内容大全
  • 社区网站设计营销推广的主要方式
  • 网站价值评估怎么做百度百家号官网登录
  • 软件开发和硬件开发哪个好小时seo
  • 合肥有哪些公司是做网站的百度热搜榜排名今日头条
  • 宝山网站建设服务百度服务电话
  • 公司做网站建设价格抖音关键词排名软件
  • 唐山网站建设哪家优惠购买域名的网站
  • 网站建站基础免费建站建站abc网站
  • 做视频网站犯法吗上海seo推广平台
  • 庆阳网站建设报价搜索引擎广告的优缺点
  • 杭州公司网站域名续费bt兔子磁力搜索引擎最新版
  • 扬州百度seo优化师培训机构
  • 桂林北京网站建设怎样才能上百度
  • 西安做网站建设哪家好网站推广怎么做
  • 怎么给网站做快照荆州seo推广
  • 仿新浪首页网站模板长春网站制作