ICode9

精准搜索请尝试: 精确搜索
  • 独立问题最优调度的算法合理性分析(详解)(附代码)2021-04-13 19:35:33

    思路:使用动态规划寻找到考虑所有问题后,机器A运行\(i\)分钟后,机器B运行的时间的最小值。之后再在所有的这\(i\)种情况中找到机器A和机器B共同运行的最小值。 子问题: \(dp[i][j]\)表示在做前i个任务中,机器A运行\(j\)分钟的情况下B机器运行的最短时间 子问题之间的转移方程: \[dp[i][j

  • 骰子的点数2021-04-13 18:57:10

    将一个骰子投掷 n 次,获得的总点数为 s,s 的可能范围为 n∼6n。 掷出某一点数,可能有多种掷法,例如投掷 22次,掷出 3 点,共有 [1,2],[2,1] 两种掷法。 请求出投掷 n 次,掷出 n∼6n 点分别有多少种掷法。 样例1 输入:n=1 输出:[1, 1, 1, 1, 1, 1] 解释:投掷1次,可能出现的点数

  • 实体转换类2021-04-13 11:05:58

    using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; namespace AAAAA { /// <summary> /// 泛型类 /// </summary> /// <typ

  • 走迷宫2021-04-13 10:36:14

    给定一个 n×mn×m 的二维整数数组,用来表示一个迷宫,数组中只包含 00 或 11,其中 00 表示可以走的路,11 表示不可通过的墙壁。 最初,有一个人位于左上角 (1,1)(1,1) 处,已知该人每次可以向上、下、左、右任意一个方向移动一个位置。 请问,该人从左上角移动至右下角 (n,m)

  • 树形(换根) dp2021-04-12 22:02:12

    树形dp(换根dp) 一句话总结重点:第一次dfs搜索所有点,得出所有点状态的值,第二次dfs对于各种状态进行计算,从而得出所需要的答案。 dfs设计: 总结: 第一次扫描时,任选一个点为根,在“有根树”上执行一次树形dp,在回溯时,自底向上的状态转移。 第二次扫描时,从第一次选的根出发,对整根树执行一

  • Codeforces Round #714 (Div. 2) 题解(A-D)2021-04-12 17:33:14

    比赛链接 A题 大意 要你构造一个长度为\(n(n\le 100)\)的全排列,使得其有\(k\)个波峰 波峰的定义为\(a[i-1]\le a[i]\le a[i+1]\) 如果有答案任意输出一组答案,否则输出\(-1\) 思路 显然若要构造最多的波峰为在\(2,4,6....\)这些地方全部占满 则最多只有\(ma=\frac{n-1}{2}\)个波峰

  • Codeforces Round #712 (Div. 2) E. Travelling Salesman Problem 思维转换2021-04-12 17:00:11

    传送门 文章目录 题意:思路: 题意: 给你 n n n个点,从 i i i到 j

  • 221. 最大正方形2021-04-12 02:04:37

    221. 最大正方形 在一个由 '0' 和 '1' 组成的二维矩阵内,找到只包含 '1' 的最大正方形,并返回其面积。 示例 1: 输入:matrix = [["1","0","1","0","0"],["1","0","1","1","1"],[

  • [Leecode] 32. 最长有效括号2021-04-11 21:30:59

    2021/4/11,题意如下: 困难题瞄了题解才有思路,第一种思路是用栈,栈中存的是左括号的下标,每次输入一个右括号就让这个右括号的下标减去和没有构成匹配前一个左括号的下标。需要注意的是要在输入之前在栈中加入一个-1让第一个匹配的右括号有值。 c++参考代码: class Solution { pub

  • leetcode 264.丑数II2021-04-11 16:02:42

    leetcode 264.丑数II 题干 给你一个整数 n ,请你找出并返回第 n 个 丑数。 丑数 就是只包含质因数 2、3 和/或 5 的正整数。 示例 1: 输入:n = 10 输出:12 解释:[1, 2, 3, 4, 5, 6, 8, 9, 10, 12] 是由前 10 个丑数组成的序列。 示例 2: 输入:n = 1 输出:1 解释:1 通常被视为丑数。

  • 3. 无重复字符的最长子串2021-04-11 15:03:56

    3. 无重复字符的最长子串 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例1: 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 动态规划: dp数组表示前i个字符串的最长无重复子序列长度,更新规则是,判断需不需要加入当

  • 【洛谷】P1064 [NOIP2006 提高组] 金明的预算方案2021-04-11 14:07:10

    题目链接 https://www.luogu.com.cn/problem/P1064 解题思路 如果我们直接用动态规划的模板去处理的话,我们很难去处理选择附件时的主件选择; 我的一开始的思路是在输入过程中把主件的值加到附件上,但由于每个主件的附件不唯一且主件可以单独选择,就很难处理; 后来换了一种思路

  • leetcode 264. 丑数 II2021-04-11 12:01:10

    一、题目 给你一个整数 n ,请你找出并返回第 n 个 丑数 。 丑数 就是只包含质因数 2、3 和/或 5 的正整数。 输入:n = 10 输出:12 解释:[1, 2, 3, 4, 5, 6, 8, 9, 10, 12] 是由前 10 个丑数组成的序列。 输入:n = 1 输出:1 解释:1 通常被视为丑数。 二、解法 思路:动态规划 设dp[

  • Making the Grade(POJ-3666)2021-04-11 10:03:34

    题目大意是给出一个长度为 n 的序列,要求使序列变为单调上升或单调不减序列(非严格),问花费的最少代价? 转移方程是:dp[i][j]表示前i个元素的最后一个元素为全部元素第j小时的最小代价 #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath>

  • P4677 山区建小学(区间dp)2021-04-11 09:57:09

    luogu 链接:https://www.luogu.com.cn/problem/P4677 题目分析:第一反应是区间dp,题目涉及到在不固定的区间中建立学校,从而得到距离的最小值。 那么我们怎么考虑这个问题呢?观察一下数据范围:n最大为500,三层for循环可以a 区间dp的套路都是比较固定的,阶段-状态-决策一共三层循环:由于在

  • JZ67 剪绳子2021-04-11 02:33:06

    剪绳子 题目:给你一根长度为n的绳子,请把绳子剪成整数长的m段(m、n都是整数,n>1并且m>1,m<=n),每段绳子的长度记为k[1],...,k[m]。请问k[1]x...xk[m]可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。 输入一个数n,意义见题面。(2 <=

  • JZ66 机器人的运动范围2021-04-11 02:01:37

    机器人的运动范围 地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请

  • 1087. 修剪草坪(单调队列优化dp)2021-04-10 23:31:32

    传送门 dp[i]表示以i为结尾的合法方案的最大值 不如i不选,那么最大就是dp[i-1]. 如果选,那么就是i-k到i中选一个最大的j (不选 j 的最大值),然后再答案就是dp[j-1]+sum[i]-sum[j] #define _CRT_SECURE_NO_WARNINGS #include<cstdio> #include<iostream> #include<algorithm> #in

  • OI日记2021-04-10 22:32:10

    Luogu.com.cn2020年2月27日: luogu P3870 [TJOI2009]开关 线段树模板 CodeForces 1313C1 结论+模拟 CodeForces 1313A 结论 luogu P2306 被yyh虐的mzc 思维+单调队列/二进制优化多重背包 2020年2月28日: luogu P3197 [HNOI2008]越狱 容斥+排列组合+快速幂 luogu P1726 上白泽慧

  • 课后自主练习(dp)1068. 变换种类数 super《编程思维与实践》个人学习笔记2021-04-10 22:01:41

    题目 思路 ①题目要求是对2、3、5、7可以整除,我们不妨取他们的最小公倍数210来进行状态统计(也可以开一个四维数组【2】【3】【5】【7】来记录状态) ②我们不妨先固定住一个位f(0,0) = 1(比如第零位0(因为没有第0位,就默认是0)先固定好,那么后续有以下情况,+1,-1,+12,-12,+123,-123)//需

  • CF1129D Isolation2021-04-10 21:33:50

    题面传送门 蛮好的一道dp题。 显然设\(dp_i\)为到\(i\)的方案数。设\(f(l,r)\)为\([l,r]\)区间内出现一次的个数,那么有方程\(dp_i=\sum\limits_{f(j+1,i)\leq k}{dp_j}\) 这样是\(O(n^2)\)的看上去没法优化。 考虑数颜色的套路就是维护前面最近的。设其为\(pre_i\),那么当\(pre_i\)

  • 微软面试题: LeetCode 300. 最长递增子序列 出现次数:22021-04-10 21:04:26

    题目描述:    解析: 参考 VV大神 的题解: https://leetcode-cn.com/problems/longest-increasing-subsequence/solution/dong-tai-gui-hua-er-fen-cha-zhao-tan-xin-suan-fa-p/ 方法一: 动态规划     //dp time: O(n^2)   memory :O(n) 1. 定义状态:   基于「动态规划」

  • 走方格java2021-04-10 21:02:10

    10、问题描述   小蓝在一个 n 行 m 列的方格图中玩一个游戏。   开始时,小蓝站在方格图的左上角,即第 1 行第 1 列。   小蓝可以在方格图上走动,走动时,如果当前在第 r 行第 c 列,他不能走到行号比 r 小的行,也不能走到列号比 c 小的列。同时,他一步走的直线距离不超过3。  

  • 蓝桥训练之动态规划2021-04-10 21:01:26

    入门 数组分组 题意: 一个数组可被分为n组,整个数组的权值被定义为各组内数字之积对1000取模后的总和,求数组的最大权值 思路: 我们用dp[i]表示前i个数分组的最大权值,对于位置i,我们可以枚举最后一个分组的起始位置为j,计算i,j之间的权值,然后更新dp[i]即可。 为了避免过多的计算,我们需要

  • Educational Codeforces Round 77 (Rated for Div. 2) C. Infinite Fence 数论2021-04-10 20:31:39

    传送门 文章目录 题意:思路: 题意: 思路: 碰到这样的题肯定是先写几个找找规律了,随便写几个就可以发现是以 l c m ( a

专注分享技术,共同学习,共同进步。侵权联系[admin#icode9.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有