ICode9

精准搜索请尝试: 精确搜索
  • LeetCode 673 Number of Longest Increasing Subsequence2022-08-13 02:01:10

    Given an integer array nums, return the number of longest increasing subsequences. Notice that the sequence has to be strictly increasing. Solution 我们需要求出最长长度序列的个数。不妨用两个数组 \(dp1, dp2\). 其中 \(dp1[i]\) 表示以 \(i\) 结尾的最长递增序列的

  • 测试2022-04-24 12:03:21

    创建老版的基准平面 函数:uf5374() 源码: double dP1[3] = { 0.0,0.0,0.0 }; double dP2[3] = { 0.0,1.0,0.0 }; double dP3[3] = { 0.0,0.0,1.0 }; tag_t tagPlane; uf5374(dP1, dP2, dP3, &tagPlane); 函数:UF_MODL_create_plane() double dP1[3] = { 0.0,0.0,0.0 }; double dDi

  • 【动态规划】The least round way2022-03-04 15:02:39

    B. The least round way time limit per test5 seconds memory limit per test64 megabytes inputstandard input outputstandard output There is a square matrix n × n, consisting of non-negative integer numbers. You should find such a way on it that starts in the

  • 动态规划3:连续子数组类问题2022-02-09 11:30:50

    本期题目 53.最大子数组和 918.环形子数组最大和 152.乘积最大子数组 1567. 乘积为正数的最长子数组长度 53. 最大子数组和 本期的几道题目的共同特点都是要在一个数组中找一个连续的数组,以使得目标最大化,我们从这道题入手来分析这类题目该如何求解。 首先是暴力解

  • [ONTAK2015] Badania naukowe2022-02-05 16:03:52

    洛谷题面 \(\rm DP\) 好题。 题目大意 给定三个数字串 \(A,B,C\),请找到一个 \(A,B\) 的最长公共子序列,满足 \(C\) 是该子序列的子串。 题目分析 本题解中数组下标均从 \(1\) 开始。 初见此题,我们对答案毫无头绪,不妨考虑答案是由什么构成的。 我们枚举 \(C\) 在 \(A,B\) 中的位置,再

  • 蓝桥杯3(DP最短路径覆盖问题:老爷机)2022-01-17 09:06:51

    1. 题目 题目描述: 这一天,无所事事的Carmen 意外地得到了一台老爷机。老爷机上有许多游戏,Carmen可以随意玩耍,但是每一个游戏都有固定的开始和结束时间。Carmen不想做一个中途挂机的坏孩子,所以每一个游戏一旦开始玩就必须玩到结束,不能中途停止去玩其他游戏,也不能从中途开始玩某

  • 数论 期望 lgCF235B题解2022-01-10 16:03:32

    简单期望/fad 题意明确,不说了。 对于高次期望,一个套路的方法是维护低次期望(?) 考虑 dp,设 \(dp1[i]\) 为前 \(i\) 次点击中 所有连续的 \(O\) 的长度之和,\(dp2[i]\) 为前 \(i\) 次点击中 所有连续的 \(O\) 的长度的平方和。 很明显有:\(dp1[i]=(dp1[i-1]+1]) \times p[i]\) 然后能发现

  • 力扣746题(使用最小花费爬楼梯)2021-11-23 23:00:41

    746、使用最小花费爬楼梯 基本思想: 动态规划 具体实现: 1、确定dp数组以及下标的含义 dp[i]:到达第i个台阶所花费的最少体力为dp[i] 第一步一定要花费 2、确定递推公式 有两个途径可以得到dp[i],一个是dp[i-1],一个是dp[i-2] dp[i] = min(dp[i-1]+dp[i-2])+cost[i] cost[i]是爬上一个

  • 【剑指 Offer II】 090. 环形房屋偷盗2021-11-12 10:58:00

    题目: 一个专业的小偷,计划偷窃一个环形街道上沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都 围成一圈 ,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警 。 给定一个代

  • 洛谷 P5018 [NOIP2018 普及组] 对称二叉树(树哈希)2021-10-31 11:02:13

    传送门 传送门 判断节点u的子树是否是对称二叉树的方法: 判断hash1[l[u]]是否等于hash2[r[u]]。 其中hash1中存的是按照根左右的顺序的哈希值,hash2存的是按照根右左顺序的哈希值。 当两个hash值相等时,即为对称二叉树。 单哈希和双哈希貌似都不太稳定,而用自然溢出即可AC本题。 AC代

  • 学习更新2021年10月2021-10-19 01:31:35

    2021-10-19 一本通 1264:【例9.8】合唱队形 一本通 1264:【例9.8】合唱队形 一本通的题,想明白了很简单,想不明白比较复杂。就是从左到右是升序子序列,而从右边到左也是升序子序列。两个dp数组,一个从左到右计算最大升序子序列。一个从右往左计算最大升序子序列。最后做一个合并。看每

  • 取硬币2021-10-18 23:36:21

    链接 现在有 n1+n2 种面值的硬币,其中前 n1 种为普通币,可以取任意枚,后 n2 种为纪念币,每种最多只能取 1 枚,每种硬币有一个面值,问能用多少种方法拼出 m 的面值? import java.util.Arrays; import java.util.Scanner; public class Main { private static final int MOD = 100000

  • leetcode-714 买卖股票的最佳时机含手续费2021-10-16 11:04:24

    leetcode-714 买卖股票的最佳时机含手续费 1. 题目 给定一个整数数组 prices,其中第 i 个元素代表了第 i 天的股票价格 ;非负整数 fee 代表了交易股票的手续费用。你可以无限次地完成交易,但是你每笔交易都需要付手续费。如果你已经购买了一个股票,在卖出它之前你就不能再继续购

  • leetcode198. House Robber2021-10-10 15:31:46

    题目:题目链接 思路:看他的related topics。然后动态规划做。 这一看就是一维的,为什么因为二维的我不会,你也就看不到这篇题解了。嘿嘿 咱们令dp[i]表示前i个房子能偷的最大值。那么此时有两种情况:要么选第i个房子,那i-1就不能选,只能加上dp[i-2]。要么不选第i个房子,那么就可以是d

  • 最长的递减或递增序列-python2021-10-05 13:01:30

    要求求出给出的序列中的最长的递增或递减序列。 笨办法-两个动态规划合并 input = [5, 2, 3, 4, 1] def longList(nums): dp1 = [1] * len(nums) # 递减dp dp2 = [1] * len(nums) result1 = 1 result2 = 1 for i in range(len(nums)-1): if nums[

  • 面试题 08.01. 三步问题(dp)2021-09-27 20:34:10

    题目 三步问题。有个小孩正在上楼梯,楼梯有n阶台阶,小孩一次可以上1阶、2阶或3阶。实现一种方法,计算小孩有多少种上楼梯的方式。结果可能很大,你需要对结果模1000000007。 示例1: 输入:n = 3 输出:4 说明: 有四种走法 示例2: 输入:n = 5 输出:13 提示: n范围在[1, 1000000]之

  • 673. 最长递增子序列的个数2021-09-21 18:31:44

            673. 最长递增子序列的个数         这道题目是300. 最长递增子序列的进阶版。         解决代码如下: from bisect import bisect_left class Solution(object): def findNumberOfLIS(self, nums): dp = [nums[0]] dp1 = [{num

  • 46-把数字翻译成字符串2021-09-12 14:01:49

            给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法。如输入: 12258 输出: 5    给定一个数字,从个位

  • P1091合唱队列[线性DP]2021-09-07 18:30:36

    原题传送门 思路:线性DP 对于原序列求满足 t 1 < ⋅ ⋅ ⋅

  • 题解 卷2021-08-17 20:32:53

    传送门 大水题,因为状态不怎么好炸成60pts 发现它要求什么「乘积最大」,需要我们比较几个很大的乘积 那很套路的,long double+log莽上 然而我不知道是困傻了还是怎么取了log之后接着用乘法 显然 \(log_2^a + log_2^b = log_2^{ab}\) 对数的加法对应原数的乘法 于是我挂了 Code: #incl

  • 题解 HDU5834 【Magic boy Bi Luo with his excited tree】2021-08-14 13:32:12

    前置芝士:换根 dp 首先考虑不换根的做法,设 \(dp1_u\) 表示在 \(u\) 的子树里走且需要回到 \(u\) 所能获得的最大收益,\(dp2_u\) 表示在 \(u\) 的子树里走且不需要回到 \(u\) 所能获得的最大收益。 显然,\(dp1_u = V_u + \displaystyle\sum_{u \to^w v} \max(dp1_v - 2w, 0)\)。 代码:

  • [LeetCode] #121 买卖股票的最佳时机2021-08-11 15:31:34

    给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0

  • 打家劫舍2021-08-06 21:01:16

        变量间接正确完整思路 精确定义 dpi 到第i家最多钱,dp0表示空,dp1表示第一家 转移 2 7 9 3 1 dp i=maxdp i-1 dpi-2+val 初始化 dp0 =0 dp1=nums[0] class Solution { public: int rob(vector<int>& nums) { int n=nums.size(); vector<int>dp(n

  • 乘积最大子数组2021-08-04 23:32:44

        变量简洁正确完整思路 具有某种递推关系dpi,因为遇到负数则前面越小越好,所以维护dp2 i,遇到正数,则前面的越大越好,不要麻烦的ifelse,直接维护dp和dp2,一个最大一个最小   精确定义 dp i 第i个元素结尾连续数组最大乘积,dp0是空,dp1是第一个 dp2 i 第i个元素结尾连续数组最小乘积

  • 程序运行万能脚本2021-07-04 17:59:47

    万能程序运行脚本 新建一个文本文件,后缀改成.bat,将下面的代码粘贴进去,保存。 可以模仿着加其它后缀。 @ECHO off SET str=%~x1 if "%str%"==".c" ( CD "%~dp1" && gcc %~nx1 -o %~n1 && %~n1.exe ) else if "%str%"==".cpp" ( CD "%~dp

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

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

ICode9版权所有