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

太原企业网站建设网站推广方案范例

太原企业网站建设,网站推广方案范例,龙华网站的建设,企业建一个网站作者推荐 【动态规划】【状态压缩】【2次选择】【广度搜索】1494. 并行课程 II 本文涉及知识点 动态规划汇总 LeetCode:1883. 准时抵达会议现场的最小跳过休息次数 给你一个整数 hoursBefore #xff0c;表示你要前往会议所剩下的可用小时数。要想成功抵达会议现场#…作者推荐 【动态规划】【状态压缩】【2次选择】【广度搜索】1494. 并行课程 II 本文涉及知识点 动态规划汇总 LeetCode:1883. 准时抵达会议现场的最小跳过休息次数 给你一个整数 hoursBefore 表示你要前往会议所剩下的可用小时数。要想成功抵达会议现场你必须途经 n 条道路。道路的长度用一个长度为 n 的整数数组 dist 表示其中 dist[i] 表示第 i 条道路的长度单位千米。另给你一个整数 speed 表示你在道路上前进的速度单位千米每小时。 当你通过第 i 条路之后就必须休息并等待直到 下一个整数小时 才能开始继续通过下一条道路。注意你不需要在通过最后一条道路后休息因为那时你已经抵达会议现场。 例如如果你通过一条道路用去 1.4 小时那你必须停下来等待到 2 小时才可以继续通过下一条道路。如果通过一条道路恰好用去 2 小时就无需等待可以直接继续。 然而为了能准时到达你可以选择 跳过 一些路的休息时间这意味着你不必等待下一个整数小时。注意这意味着与不跳过任何休息时间相比你可能在不同时刻到达接下来的道路。 例如假设通过第 1 条道路用去 1.4 小时且通过第 2 条道路用去 0.6 小时。跳过第 1 条道路的休息时间意味着你将会在恰好 2 小时完成通过第 2 条道路且你能够立即开始通过第 3 条道路。 返回准时抵达会议现场所需要的 最小跳过次数 如果 无法准时参会 返回 -1 。 示例 1 输入dist [1,3,2], speed 4, hoursBefore 2 输出1 解释 不跳过任何休息时间你将用 (1/4 3/4) (3/4 1/4) (2/4) 2.5 小时才能抵达会议现场。 可以跳过第 1 次休息时间共用 ((1/4 0) (3/4 0)) (2/4) 1.5 小时抵达会议现场。 注意第 2 次休息时间缩短为 0 由于跳过第 1 次休息时间你是在整数小时处完成通过第 2 条道路。 示例 2 输入dist [7,3,5,5], speed 2, hoursBefore 10 输出2 解释 不跳过任何休息时间你将用 (7/2 1/2) (3/2 1/2) (5/2 1/2) (5/2) 11.5 小时才能抵达会议现场。 可以跳过第 1 次和第 3 次休息时间共用 ((7/2 0) (3/2 0)) ((5/2 0) (5/2)) 10 小时抵达会议现场。 示例 3 输入dist [7,3,5,5], speed 1, hoursBefore 10 输出-1 解释即使跳过所有的休息时间也无法准时参加会议。 提示 n dist.length 1 n 1000 1 dist[i] 105 1 speed 106 1 hoursBefore 107 动态规划 动态规划的状态 pre[j] 表示 跳过j次行驶前i条道路的最少时间。 dp[j] 表示 跳过j次行驶前i1条道路的最少时间。 不直接记录时间那样会有小数。 记录时间*speed 这样就是整数。 动态规划的转移方程 0 pre[j]%speed 刚好是整数数据无需跳过。 dp[j] min( pre[j] dist[i] 否则 { d p [ j 1 ] m i n ( , p r e [ j ] d i s t [ i ] ) 跳过 d p [ j ] m i n ( , p r e [ j ] / s p e e d ∗ s p e e d s p e e d d i s t [ i ] ) 不跳过 \begin{cases} dp[j1] min(,pre[j]dist[i]) 跳过 \\ dp[j] min(,pre[j]/speed*speed speed dist[i]) 不跳过\\ \end{cases} {dp[j1]min(,pre[j]dist[i])dp[j]min(,pre[j]/speed∗speedspeeddist[i])​跳过不跳过​ 动态规划的初始状态 pre全为0。前置状态转移后置状态。 动态规划的转移方程 i从0到大。 动态规划的返回值 pre第一个小于等于hoursBefore 的下标。 代码 核心代码 class Solution { public:int minSkips(vectorint dist, int speed, int hoursBefore) {m_c dist.size();vectorint pre(m_c 1);for (const auto d : dist){vectorint dp(m_c 1, m_iNotMay);for (int j 0; j m_c; j){if (0 pre[j] % speed){dp[j] min(dp[j], pre[j] d);continue;}dp[j] min(dp[j], pre[j] / speed * speed speed d);//不跳过if (j ! m_c){dp[j1] min(dp[j1], pre[j] d);}}pre.swap(dp);}for (int i 0; i pre.size(); i){if (pre[i] (long long)hoursBefore * speed){return i;}}return -1;}int m_c;const int m_iNotMay 2000000000; };测试用例 templateclass T void Assert(const T t1, const T t2) {assert(t1 t2); }templateclass T void Assert(const vectorT v1, const vectorT v2) {if (v1.size() ! v2.size()){assert(false);return;}for (int i 0; i v1.size(); i){Assert(v1[i], v2[i]);}}int main() { vectorint dist;int speed, hoursBefore;{Solution sln;dist { 1, 3, 2 }, speed 4, hoursBefore 2;auto res sln.minSkips(dist, speed, hoursBefore);Assert(res,1);}{Solution sln;dist { 7, 3, 5, 5 }, speed 1, hoursBefore 10;auto res sln.minSkips(dist, speed, hoursBefore);Assert(res, -1);} }2023年2月 class Solution { public: int minSkips(vector dist, int speed, int hoursBefore) { m_c dist.size(); vector pre(m_c 1, m_iNotMay); pre[0] 0; for (const auto i : dist) { vector dp(m_c 1, m_iNotMay); const double dCurTime ((double)i) / speed; for (int j 0; j m_c; j) { if (pre[j] m_iNotMay m_eps) { continue; } dp[j] min(dp[j], ceil(pre[j] - m_eps) dCurTime); dp[j 1] min(dp[j 1], pre[j] dCurTime); } pre.swap(dp); } for (int i 0; i pre.size(); i) { if (pre[i] hoursBefore m_eps) { return i; } } return -1; } int m_c; int m_iNotMay 1000 * 1000 * 1000; const double m_eps 1E-7; }; 2023年2月第二版 class Solution { public: int minSkips(vector dist, int speed, int hoursBefore) { m_c dist.size(); vector iiDists; for (const auto i : dist) { iiDists.push_back((long long)i * speed); } vector pre(m_c 1, m_iNotMay); pre[0] 0; for (const auto i : iiDists) { vector dp(m_c 1, m_iNotMay); const long long llCurTime i / speed; for (int j 0; j m_c; j) { if (pre[j] m_iNotMay ) { continue; } const long long llNew (0 pre[j] % speed) ? pre[j] : (speed * (pre[j] / speed 1)); dp[j] min(dp[j], llNew llCurTime); dp[j 1] min(dp[j 1], pre[j] llCurTime); } pre.swap(dp); } for (int i 0; i pre.size(); i) { if (pre[i] hoursBefore*(long long) speed ) { return i; } } return -1; } int m_c; long long m_iNotMay 1000LL * 1000 * 100010001000; }; 扩展阅读 视频课程 有效学习明确的目标 及时的反馈 拉伸区难度合适可以先学简单的课程请移步CSDN学院听白银讲师也就是鄙人的讲解。 https://edu.csdn.net/course/detail/38771 如何你想快速形成战斗了为老板分忧请学习C#入职培训、C入职培训等课程 https://edu.csdn.net/lecturer/6176 相关 下载 想高屋建瓴的学习算法请下载《喜缺全书算法册》doc版 https://download.csdn.net/download/he_zhidan/88348653 我想对大家说的话闻缺陷则喜是一个美好的愿望早发现问题早修改问题给老板节约钱。子墨子言之事无终始无务多业 。也就是我们常说的专业的人做专业的事。 | |如果程序是一条龙那算法就是他的是睛| 测试环境 操作系统win7 开发环境 VS2019 C17 或者 操作系统win10 开发环境 VS2022 C17 如无特殊说明本算法用**C**实现。
http://www.zqtcl.cn/news/531019/

相关文章:

  • 深圳技术支持 骏域网站建设微信官方公众号
  • dns解析失败登录不了网站推广网站平台有哪些
  • 网站建设许可证网页设计找工作
  • 想通过网站卖自己做的东西网络公司如何建网站
  • 商务网站开发实训任务书网站建设验收合格确认书
  • 手机网站百度关键词排名查询wordpress 敏感词
  • 网站分页导航常州网约车哪个平台最好
  • 上海 网站开发设计方案参考网站
  • 网站一键备案外呼电销系统
  • 淘宝客购物网站源码网站项目开发的一般流程
  • 如何更改公司网站内容网站开发需要哪些文档
  • 洛阳建设工程网站宁波led网站建设
  • 五莲网站建设报价wordpress dux 5.3
  • 怎样做当地网站推广做电商要关注哪些网站
  • 安徽鸿顺鑫城建设集团网站设计外贸英文网站
  • 浦口区教育局网站集约化建设南京淄博网站建设方案
  • 学校网站建设的风险分析wordpress侧边栏显示单个分类列表
  • php网站安装图解帮别人建设网站多少利润
  • vs做的网站如何二手优品哪个网站做
  • 建设银行内部网站6建筑学院官网
  • 大学生做微商网站金华seo扣费
  • 以前老网站邯郸推广网络宣传哪家好
  • 网站建设技术网站建设奉节网站建设公司
  • 动漫视频网站模板动漫制作专业什么电脑最适合
  • 合网站建设注册一个500万的公司需要多少钱
  • 《网站推广策划》wordpress 写博客
  • 网站开发工程师面试问哪些问题免费下载软件商店安装
  • 建网站公司要钱吗公司制作网站跟企业文化的关系
  • 网站改版对用户的影响网站评论怎么做的
  • 许昌市做网站公司汉狮价格装修案例图片 效果图