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

用wordpress做购物网站网站免费网站的方法

用wordpress做购物网站,网站免费网站的方法,wordpress 源码出售,宁波个人做网站【问题描述】 小城Y市#xff0c;拥有n个景点。由于慕名而来的游客越来越多#xff0c;Y市特意安排了一辆观光公交车#xff0c;为游客提供更便捷的交通服务。观光公交车在第0分钟出现在1号景点#xff0c;随后依次前往2、3、4……n号景点。从第i号景点开到第i1号景点需要D…【问题描述】   小城Y市拥有n个景点。由于慕名而来的游客越来越多Y市特意安排了一辆观光公交车为游客提供更便捷的交通服务。观光公交车在第0分钟出现在1号景点随后依次前往2、3、4……n号景点。从第i号景点开到第i1号景点需要Di分钟。任意时刻公交车只能往前开或在景点处等待。  设共有m个游客每位游客需要乘车1次从一个景点到达另一个景点第i 位游客在Ti分钟来到景点Ai希望乘车前往景点BiAiBi。为了使所有乘客都能顺利到达目的地公交车在每站都必须等待需要从该景点出发的所有乘客都上车后才能出发开往下一景点。假设乘客上下车不需要时间。  一个乘客的旅行时间等于他到达目的地的时刻减去他来到出发地的时刻。因为只有一观光车有时候还要停下来等其他乘客乘客们纷纷抱怨旅行时间太长了。于是聪明的司机ZZ给公交车安装了k个氮气加速器每使用一个加速器可以使其中一个Di减1。对于同一个Di可以重复使用加速器但是必须保证使用后Di大于等于0。   那么ZZ该如何安排使用加速器才能使所有乘客的旅行时间总和最小   对于100%的数据1≤n≤1,0001≤m≤10,0000≤k≤100,0000≤Di ≤1000≤Ti≤100,000。 【分析】   设t[i]表示来到第i个景点的乘客最晚的时间time[i]表示车到达第i个景点的最小时间。   因为每个乘客到达的时间已经固定所以要使总时间最小就是使Σtime[b[i]]最小其中b[i]代表每位乘客的目的地。   先考虑不用加速器的情况。可以直接递推求出答案time[i] max(time[i - 1],t[i - 1]) d[i - 1];   接下来再来考虑使用加速器减少的时间。对于每个加速器我们必须使这个加速器获得最大的效益即使尽可能多的乘客旅行时间减一。如果我们在i到i 1间使用加速器的话那么到i 1站的乘客的旅行时间都会减一但是如果time[i 1]小于t[i 1]的话车就要在i 1站等到t[i 1]所有的乘客上车在i 1站以后下车的乘客的时间是一样的也就是说这个加速器对后面下车的乘客没有影响。我们可以用递推求出每个i最远能影响的车站。   g[i] g[i 1]    (time[i 1] t[i 1])   g[i] i 1 (time[i 1] t[i 1])   那么我们用一个加速器所能减少一个单位时间的乘客就是sum[g[i]] - sum[i]每次找出使这个最大的i即可。然后把ans减掉维护time,g   这题说白了就是贪心。加速器的使用各不影响。易知这个贪心是正确的。   代码还是比较好写的。 【代码】 #include iostream #include cstdio #include cstring #include algorithm using namespace std; struct node {int start,arrive,target; }a[20000]; int n,m,K,ans; int f[20000],Time[20000],g[20000],dist[20000],sum[20000]; int main() {scanf(%d %d %d,n,m,K);for (int i 1;i n;i )scanf(%d,dist[i]);for (int i 1;i m;i ){scanf(%d %d %d,a[i].arrive,a[i].start,a[i].target);f[a[i].start] max(f[a[i].start],a[i].arrive);sum[a[i].target] ;}for (int i 2;i n;i )sum[i] sum[i - 1];Time[1] 0;for (int i 2;i n;i )Time[i] max(Time[i - 1],f[i - 1]) dist[i - 1];for (int i 1;i m;i )ans Time[a[i].target] - a[i].arrive;while (K){g[n] n;g[n - 1] n;for (int i n - 2;i ; i -- ){if (Time[i 1] f[i 1])g[i] i 1;else g[i] g[i 1];}int Max 0,j;for (int i 1;i n;i )if (sum[g[i]] - sum[i] Max dist[i] 0)Max sum[g[i]] - sum[i],j i;if (!Max) break;ans - Max;dist[j] --;K --;Time[1] 0;for (int i 2;i n;i )Time[i] max(Time[i - 1],f[i - 1]) dist[i - 1];}cout ans; }    转载于:https://www.cnblogs.com/N-C-Derek/p/3371058.html
http://www.lebaoying.cn/news/41303.html

相关文章:

  • 网站一直没有收录给单位建设网站
  • 网站流量域名买好了怎么建网站
  • 长春网站建设phpjz诚信网站建设
  • 成都美誉网站设计谷歌做英文网站
  • jsp网站怎么做邮箱验证码东莞企业公司网站建设
  • 网站开发及代运营苏州市建设中心网站
  • 网站导航网站开发超级优化大师
  • 电商网站100排行榜做医院网站公司电话
  • 网站备案 几年中企动力主要是做什么的
  • PHP网站开发项目式教程上海中风险地区
  • 台州外贸网站10套免费ppt模板
  • 昆明网站建设logovi中国最好的编程学校
  • 服装设计网站有哪些软件开发专业能力
  • 北海做网站哪家好wordpress导航栏下拉菜单代码
  • 丰涵网站建设科技vi设计的流程
  • 网站开发怎么谈客户石家庄云图网站建设
  • 网站建设面谈销售话术wordpress 2.7.1下载
  • 常州网上教科院十堰seo推广
  • 大型门户网站建设大概多少钱wordpress 标签设置主页
  • 手机网站价格做网站网页需要多久
  • 网站后台做图片尺寸是多大海口网站建设是什么意思
  • ppt成品免费下载的网站图跃企业网站建设
  • 网站开发如何使用API个人宽带备案网站
  • 西安门户网站开发工商公示网
  • 深圳网站优化推广谷歌竞价推广教程
  • 如何做网站跳转页面wordpress jsp版
  • 手机wap网站建站系统项目协同管理平台
  • 企业网站后端模板红包app开发软件
  • 靖江做网站哪家好wordpress在线网校系统
  • 网站建设确认表傻瓜网站开发工具