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

石家庄建站费用太原营销型网站建设制作

石家庄建站费用,太原营销型网站建设制作,嘉兴网站搜索排名,wordpress添加域名Description 乡间有一条笔直而长的路称为“米道”。沿着这条米道上 R 块稻田#xff0c;每块稻田的坐标均为一个 1 到 L 之间(含 1 和 L)的整数。这些稻田按照坐标以不减的顺序给出#xff0c;即对于 0 ≤ i R#xff0c;稻田 i 的坐标 X[i]满足 1 ≤ X[0] ≤ ... ≤ X[…Description 乡间有一条笔直而长的路称为“米道”。沿着这条米道上 R 块稻田每块稻田的坐标均为一个 1 到 L 之间(含 1 和 L)的整数。这些稻田按照坐标以不减的顺序给出即对于 0 ≤ i R稻田 i 的坐标 X[i]满足 1 ≤ X[0] ≤ ... ≤ X[R-1] ≤ L。 注意可能有多块稻田位于同一个坐标上。 我们计划建造一个米仓用于储存尽可能多的稻米。和稻田一样米仓将建在米道上其坐标也是一个 1 到 L 之间的整数含 1 和 L。这个米仓可以建在满足上述条件的任一个位置上包括那些原来已有一个或多个稻田存在的位置。 在收获季节每一块稻田刚好出产一滿货车的稻米。为了将这些稻米运到米仓需要雇用一位货车司机来运米。司机的收费是每一满货车运送一个单位的距离收取 1 元。換言之将稻米从特定的稻田运到米仓的费用在数值上等于稻田坐标与米仓坐标之差的绝对值。 不幸的是今年预算有限我们至多只能花费 B 元运费。你的任务是要帮我们找出一个建造米仓的位置可以收集到尽可能多的稻米。  Input 第一行 三个整数 R L B接下来R行 每行一个整数 表示X[i] Output 一个整数 最多稻米数 Sample Input 5 20 6 1 2 10 12 14 Sample Output 3 HINT 1 ≤ R ≤ 100,000 1 ≤ L ≤ 1,000,000,000 0 ≤ B ≤ 2,000,000,000,000,000 解析其实去画一画或想一下就会发现米仓在两个稻田间的任意位置两个稻田的运费之和都相等那么我们不如直接考虑将它建在哪一块稻田上。 二分枚举稻田数x然后用一个for循环来枚举我们所假想收割的x个稻田中最左边的那个稻田位置为l,然后通过x推出r,mi最右边的位置和中间位置。谷仓在中间时为最优解这个自己去试试画出来想所以谷仓位置为mi。好啦那么我们枚举的这段区间的费用是多少呢可能很多人会和我一样第一反应是用一个for循环来计算可是之前的枚举已经是O(nlogn)了这就决定了我们的计算最好复杂度为O1。我们用前缀和来实现。首先设费用为sum,f为一个数组这个数组中f[i]储存的是1~i块稻田的坐标和a数组用来储存每块稻田的坐标设一个变量now来表示米仓的坐标就是a[now]则公式为   sumnow*(mi-l)-(f[mi-1]-f[l-1])(f[r]-f[mi])-now*(r-mi);  为什么这么做呢下面来解释一下。 我们需要把区间分成左右两边来做左边的费用等于now-a[l]now-a[l1]now-a[l2]....now-a[mi-1];我们可以发现他是有多个now-a[?]组合而成有几项呢不拿算出总共有mi-l(不是数字1是L项则式子变为now*(mi-l)-(a[l]a[l1]a[l2]....a[mi-1]);好啦那么a[l]..a[mi-1]即为第l块稻田到第mi-1块稻田的坐标之和完全可以用前缀和直接表示成f[mi-1]-f[l-1],好啦左边的式子最终成为now*(mi-l)-(f[mi-1]-f[l-1])同理右边的式子也可以这样推出来不写啦。 算出sum后只要比B元小就成立了否则不成立。 程序 #includeiostream #includecstdio using namespace std; long long f[100010],now,k,ans,a[100010],sum,n,l,b,lef,righ,mid; bool check(long long x) {int i,l,r,mi;for (i1;in-x1;i){li;最左边的稻田 rix-1最右边的稻田; mi(lr)/2米仓;nowa[mi];米仓坐标sumnow*(mi-l)-(f[mi-1]-f[l-1])(f[r]-f[mi])-now*(r-mi); 式子的具体推法已经写在上面了if (sumb) return true;}return false; } int main() {cinnlb;for (int i1;in;i) cina[i];f[0]0;for (int i1;in;i) f[i]f[i-1]a[i];前i个稻田的坐标之和lef0;righn1;ans0;while (lefrigh) 枚举有几块稻田能收割{mid(lefrigh)/2;if (check(mid)true) {lefmid1;if (ansmid) ansmid;}else righmid-1;} coutansendl;return 0; } 好啦好啦。 转载于:https://www.cnblogs.com/2014nhc/p/6208118.html
http://wiki.neutronadmin.com/news/365656/

相关文章:

  • 网站开发方案网页设计师证书含金量高吗
  • 网上做网站接活怎么样宿州网站建设报价
  • 做网站的前端是做什么郑州品牌设计公司排行
  • 做酷炫网站能卖钱吗网络设计是啥
  • 网站后台关键词设置景观设计公司资质
  • 网站设计跟网站开发区别网站设置黑白色
  • 莱特币做空 网站如何组做网站
  • 网站建设中英版wordpress注册激活码
  • 做问卷调查赚钱的网站好宝塔 wordpress
  • 免费手机网站建设免费制作链接
  • 有没有做.net面试题的网站做网站时怎样分割
  • 在网上怎么做网站wordpress文章同步国外博客
  • 怎么做网站免费的上海市建设安全协会网站查询系统瘫
  • 瑞安外贸网站建设建设一个小说网站多少钱
  • 对接标准做好门户网站建设做网站服务器用国外的
  • 卡盟网站怎么做怎么在网站中添加百度商桥
  • 温州网站设计网站建设网站如何搭建网站后台
  • miniui做的网站做网站的那些个人工作室
  • 网站制作论文 优帮云wordpress文章版权声明
  • 太原 网站建设简约创意logo设计免费生成
  • it行业网站模板工商局网上注册公司流程
  • 巢湖自助建站系统黄冈资讯
  • 专业邯郸网站建设wordpress php apache
  • dede手机网站教程WordPress二级栏目代码
  • 淘宝网站c#设计怎么做网站外包建设 请示
  • 免费网站建设官网做电影网站服务器需求
  • 做网站有哪些按钮新手站长如何购买虚拟主机做网站
  • 如何做2级网站如何网站建设全包
  • 上海建设工程造价信息平台企业网站建设优化
  • 自己做的网站如何制作后台windows做网站服务器