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

建立一个个人网站静态化网站的缺点

建立一个个人网站,静态化网站的缺点,天河网站 建设seo信科分公司,简述网站建设优坏的评价标准挑两个简单的写写 目录 一、蛋糕工厂产能规划 问题描述 输入格式 输出格式 解题思路#xff1a; 问题理解 数据结构选择 算法步骤 关键点 最终代码#xff1a; 运行结果#xff1a;​编辑 二、优质章节的连续选择 问题描述 输入格式 输出格式 解题思路  问题理解 数据结构选择 算法步骤 关键点 最终代码 运行结果​编辑  二、优质章节的连续选择  问题描述 输入格式 输出格式 解题思路 问题理解 数据结构选择 算法步骤 最终代码 运行结果  一、蛋糕工厂产能规划 问题描述 小明开了一家蛋糕工厂目前工厂里面有 m 台机器和 w 个工人每天可以生产的蛋糕数量是 m * w。有一天他接到了一个订单需要生产 n 个蛋糕客户希望能够尽快的一次性交付但是他算不清楚需要多少天才能生产完请你帮帮小明。提示为了提升产能每天可以用蛋糕购买额外的机器或者工人每台机器或者每个工人需要花费 p 个蛋糕。 为了方便理解我们举个例子假如最开始小明的工厂只有 m 1 台机器和 w 2 个工人每次扩大产能需要的花费是 p 1为了生产 n 60 个蛋糕可以这么操作 第一天m * w 1 * 2 2 生产 2 个蛋糕同时新增 2 台机器此时 m 3剩余蛋糕 0 第二天m * w 3 * 2 6 生产 6 个蛋糕同时新增 3 台机器3 个工人此时 m 6, w 5剩余蛋糕 0 第三天m * w 6 * 5 30 第四天m * w 6 * 5 30 所以在第四天就完成了生产计划 输入格式 输入的数据只有一行空格分割的四个整数代表 m, w, p, n 数据约束 1 m, w, p, n 10^8 输出格式 输出一个整数用来表示需要几天才能完成生产计划 输入样例 3 1 2 12 输出样例 3 样例解释 第一天生产的蛋糕数量 m * w 3 * 1 3。此时花 2 个蛋糕雇佣了另外一个工人此时 w 2依然剩余 1 个蛋糕 第二天生产的蛋糕数量 3 * 2 6。此时花 2 * p 4 个蛋糕雇佣了另外一个工人同时新增了另外一台机器此时 m 4, w 3而且剩余 3 个蛋糕包括第一天剩余的那一个 第三天生产的蛋糕数量 4 * 3 12已经符合预期的产量了所以只需要三天就可以完成生产计划 解题思路  问题理解 小明的蛋糕工厂每天可以生产 m * w 个蛋糕。为了尽快完成生产 n 个蛋糕的任务他可以选择用蛋糕购买额外的机器或工人每台机器或每个工人需要花费 p 个蛋糕。目标是计算出最少需要多少天才能完成生产计划。 数据结构选择 由于我们需要动态地调整机器和工人的数量并且需要计算每天的生产量和剩余蛋糕数因此我们可以使用一个循环来模拟每一天的生产过程。 算法步骤 初始化 初始机器数量 m初始工人数量 w每天的生产成本 p目标生产量 n当前天数 days当前剩余蛋糕数 cakes 循环模拟每一天 计算当天的生产量 production m * w更新剩余蛋糕数 cakes production检查是否已经达到目标生产量 n如果是则返回当前天数 days计算可以购买的机器和工人的最大数量 max_buy cakes / p尝试用剩余的蛋糕购买机器和工人使得 m * w 最大化更新机器和工人的数量增加一天 days 返回结果 当达到或超过目标生产量 n 时返回当前天数 days 关键点 在每次购买机器和工人时需要考虑如何分配购买的资源使得 m * w 最大化。需要动态调整机器和工人的数量以确保每天的生产量最大化。 最终代码 #include iostream #include algorithm #include limitsint solution(int m, int w, int p, int n) {int passes 0;long long candy 0; // 使用 long long 防止溢出long long run std::numeric_limitslong long::max();while (candy n) {if (m std::numeric_limitslong long::max() / w) {break;} else {int step (p - candy) / (m * w);if (step 0) {int mw candy / p;if (m w mw) {w mw;} else if (w m mw) {m mw;} else {int total m w mw;m total / 2;w total - m;}candy % p;step 1;}passes step;if (step * m std::numeric_limitslong long::max() / w) {candy std::numeric_limitslong long::max();} else {candy step * m * w;run std::min(run, static_castlong long(passes) ((n - candy m * w - 1) / (m * w)));}}}return std::min(passes, static_castint(run)); }int main() {std::cout (solution(3, 1, 2, 12) 3) std::endl;std::cout (solution(10, 5, 30, 500) 8) std::endl;std::cout (solution(3, 5, 30, 320) 14) std::endl;return 0; } 运行结果  二、优质章节的连续选择  问题描述 番茄小说上有很多精彩的书籍编辑想从其中一本书籍中挑选出若干精彩章节。这本书有 n 个章节每个章节的文字数量分别为 a[i]1≤i≤n。 出于阅读体验的考虑编辑希望挑选出来的章节是在书中是连续的并且总字数不超过 k。 编辑是特别的书虫他认为在挑选出来的章节中如果某个章节的文字数量比前后章节都多则这个章节是优质章节。挑选出来章节中的第一章和最后一章不能作为优质章节。 编辑想知道如何挑选才能产生尽可能多的优质章节并且满足总字数不超过 k。 输入格式 第一行是整数 n 和 k3≤n≤10^50≤k≤10^9 第二行是 n 个整数 a[i]1≤a[i]≤10^7 输出格式 输出整数 m、start、endm 表示优质章节的数量start 表示挑选出来的首个章节在书中的位置end 是挑出来的末尾章节在书中的位置 如果优质章节数量相同的选择有多个则输出总字数最少的选择如果仍有多个则输出 start 最小的选择 题目保证至少有一种选择。 输入样例 1 8 15000 1000 3000 2000 4000 3000 2000 4000 2000 输出样例 1 2 1 5 输入样例 2 8 15000 2000 5000 2000 1000 4000 2000 4000 3000 输出样例 2 2 4 8 样例解释 样例 1选择第 1 章到第 5 章一共有 2 个优质章节分别是第 2 章和第 4 章 样例 2选择第 4 章到第 8 章一共有 2 个优质章节分别是第 5 章和第 7 章 数据范围 3≤n≤10^50≤k≤10^9 1≤a[i]≤10^7 解题思路 问题理解 目标从一本书的连续章节中挑选出总字数不超过 k 的章节使得优质章节比前后章节字数都多的章节的数量最多。约束 章节必须是连续的。总字数不超过 k。优质章节不能是挑选出来的第一个或最后一个章节。 数据结构选择 数组用于存储每个章节的字数。滑动窗口用于在数组中寻找满足条件的连续子数组。 算法步骤 初始化 使用两个指针 start 和 end 来表示当前窗口的开始和结束位置。使用变量 current_sum 来记录当前窗口的总字数。使用变量 best_start 和 best_end 来记录最优解的开始和结束位置。使用变量 best_quality_count 来记录最优解中的优质章节数量。 滑动窗口 从左到右遍历数组逐步扩展 end 指针直到总字数超过 k。当总字数超过 k 时移动 start 指针直到总字数再次小于等于 k。在每次移动 end 指针时检查当前窗口内的优质章节数量并更新最优解。 优质章节判断 对于每个窗口遍历其中的章节判断是否为优质章节比前后章节字数都多。注意第一个和最后一个章节不能作为优质章节。 结果输出 最终输出最优解的优质章节数量、开始位置和结束位置。 最终代码 #include bits/stdc.hstd::string solution(int n, int k, std::vectorint array_a) {assert(n array_a.size());assert(3 n n 1e5);assert(0 k k 1e9);std::vectorlong long sum_array(n);sum_array[0] array_a[0];for (int i 1; i n; i) {sum_array[i] sum_array[i - 1] array_a[i];assert(1 array_a[i] array_a[i] 1e7);}auto get_sum_from_a_to_b [](int left, int right) - long long {return sum_array[right] - (left 0 ? sum_array[left - 1] : 0);};std::dequeint q;int ans 0;int start -1, end -1;long long total_size -1;for (int i 1; i n - 1; i) {if (array_a[i] array_a[i - 1] array_a[i] array_a[i 1]) {q.push_back(i);while (!q.empty() get_sum_from_a_to_b(q.front() - 1, q.back() 1) k) {q.pop_front();}if (!q.empty()) {long long current_size get_sum_from_a_to_b(q.front() - 1, q.back() 1);if (q.size() ans || (q.size() ans total_size current_size)) {ans q.size();start q.front() - 1;end q.back() 1;total_size current_size;}}}}assert(ans ! 0);std::ostringstream oss;oss ans , start 1 , end 1;return oss.str(); }int main() {std::cout (solution(8, 15000, {1000, 3000, 2000, 4000, 3000, 2000, 4000, 2000}) 2,1,5) std::endl;std::cout (solution(8, 15000, {2000, 5000, 2000, 1000, 4000, 2000, 4000, 3000}) 2,4,8) std::endl;std::cout (solution(5, 10000, {3000, 4000, 1000, 5000, 2000}) 1,1,3) std::endl;std::cout (solution(6, 8000, {1000, 2000, 3000, 4000, 500, 2500}) 1,3,5) std::endl;std::cout (solution(10, 5000, {500, 1000, 1500, 500, 500, 1000, 1500, 500, 500, 1000}) 1,2,4) std::endl;return 0; } 运行结果
http://www.tj-hxxt.cn/news/227201.html

相关文章:

  • 那些网站是php做的嵌入式软件开发技术
  • 设计网站哪个好用北京市建设监理协会官方网站
  • 如何设计的英文网站安阳手机网站制作
  • 网站付款链接怎么做的网站后台拿shell
  • 设计商城网站 优帮云企业数字展厅设成都企业展厅设计公司
  • 越南网站 后缀近期的新新闻
  • 网站开发项目设计文档网页设计与制作作业成品免费
  • 网站运营与管理的含义青岛助创网络科技有限公司
  • 网站投票页面怎么做如何做短信验证码网站
  • 哪里有整站优化晋江网站建设价格
  • 曲靖网站设计公司阿里巴巴商标注册官网
  • 网易工作做网站工资奖金高吗百度竞价代理公司
  • 广东省建设执业注册中心网站中国软件公司排名
  • 张店好的网站建设的公司百度指数官网查询入口
  • 山西大同网站建设价格wordpress多媒体图片
  • 个人网站的基本风格是wordpress 附件清理
  • 建湖网站建设公司国家对网站建设补补贴
  • 自助建站免费建站平台h5网站开发用什么软件制作
  • 南宁网站建设服务网络营销的背景和意义
  • seo怎么做整站排名做推广任务网站
  • 李贤威wordpress建站教程为什么要创建网站
  • 月嫂云商城网站建设怎么做网站维护宣传
  • seo网站排名优化培训教程图片制作软件免费下载
  • 长沙营销型网站重庆建设网站多久时间
  • 对百度网站进行分析亿速云
  • 深圳多语言网站建设给公司做网站
  • 网站建设与管理实训wordpress增加页面分类
  • 网站建设专业的公司排名漯河网站关键词优化
  • 网站建设升级长沙短视频代运营公司
  • 优秀网站设计 打造有吸引力的网站胶州城阳网站建设