ICode9

精准搜索请尝试: 精确搜索
  • 763. 划分字母区间(滑动窗口,贪心)2022-01-01 15:30:00

     分析:运用滑动窗口的思想,开needs哈希表和窗口哈希表,由于要划分尽可能多的片段,那么只要当前窗口中全部元素都满足了needs的数量(同一字母只在一个片段中),就立即断开,保证尽可能多的数量 class Solution { public: vector<int> partitionLabels(string s) { unordered

  • 2021年最后的每日一题练习 (持续更新)2021-12-27 19:58:00

    题号 (NC-牛客; AW-AcWing) 知识点判断我的题解12/24NC50439堆+贪心(贪心+小顶堆)NC50439 tokitsukaze12/25NC13230区间DP(区间DP)[最长回文子序列] NC13230 合并回文子串12/26NC15553 前缀和+ 线性 DP (前缀和+线性 DP) NC15553 数学考试12/27NC50528单调队列(单调队列) NC505

  • leetcode:吃苹果的最大数目(最小堆+贪心)2021-12-24 21:33:41

    我的思路: 给活着的苹果记录下来,每天更新 很不幸,超时了 我的初代暴力代码: class Solution: def eatenApples(self, apples: List[int], days: List[int]) -> int: # 每天都吃最快要过期的苹果? cur = [] ans = 0 maxn = 0 for i

  • 剑指 Offer 45. 把数组排成最小的数(贪心)2021-12-23 20:03:28

    链接:https://leetcode-cn.com/problems/ba-shu-zu-pai-cheng-zui-xiao-de-shu-lcof/ 题目 输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。 用例 示例 1: 输入: [10,2] 输出: "102" 示例 2: 输入: [3,30,34,5,9] 输出: "3033459"

  • 杂题选做Ⅴ2021-12-21 20:05:28

    前传: 贪心/构造/DP 杂题选做 贪心/构造/DP 杂题选做Ⅱ 贪心/构造/DP 杂题选做Ⅲ 贪心/构造/DP 杂题选做Ⅳ 101. CF1354G Find a Gift 首先考虑我们假如知道某个盒子里是石头怎么求解答案。考虑倍增,具体来说我们先假设第一个盒子里是石头,否则直接返回 \(1\) 即可。那么我们第一次

  • 3. 贪心思想(todo)2021-12-19 23:33:25

    目录1. 分配饼干2. 不重叠区间个数3. 投飞镖刺破气球5. 买卖股票最大的收益6. 买卖股票的最大收益 II9. 修改一个数成为非递减数组10. 子数组的最大和11. 分隔字符串使同种字符出现在一起 leetcode 题解-贪心思想 保证每次操作都是局部最优的,并且最后得到的结果是全局最优的。 1.

  • 贪心算法——1229:电池的寿命2021-12-19 22:32:08

    1229:电池的寿命 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 7028 通过数: 3951 【题目描述】 小S新买了一个掌上游戏机,这个游戏机由两节5号电池供电。为了保证能够长时间玩 游戏,他买了很多5号电池,这些电池的生产商不同,质量也有差异,因而使用寿命 也有所不同,

  • 二分题目总结2021-12-19 18:34:09

    二分作为基础算法,主要有两种题型  1.二分查找 二分查找是利用二分搜索时间复杂度O(logn)的性质,对于算法中某一步骤需要优化的时候,使用二分查找优化,又分为实数二分和整数二分 (1).实数二分  实数二分比较简单,主要是在数轴上寻找某一个点,是否满足性质 1.数的三方根 #include

  • 贪心+回溯解决TSP问题2021-12-19 17:31:44

    旅行商问题,即TSP问题(Traveling Salesman Problem)又译为旅行推销员问题、货郎担问题,是数学领域中著名问题之一。假设有一个旅行商人要拜访n个城市,他必须选择所要走的路径,路径的限制是每个城市只能拜访一次,而且最后要回到原来出发的城市。路径的选择目标是要求得的路径路程为所

  • 【贪心】134. 加油站2021-12-18 18:02:45

    class Solution { public int canCompleteCircuit(int[] gas, int[] cost) { int min = Integer.MAX_VALUE; int start = 0; int total = 0; for(int i = 0 ; i < gas.length ; i++){ total += gas[i] - cost[i];

  • leetcode851. 喧闹和富有(贪心 拓扑 dp)2021-12-16 16:33:35

    链接:https://leetcode-cn.com/problems/loud-and-rich/ 题目 有一组 n 个人作为实验对象,从 0 到 n - 1 编号,其中每个人都有不同数目的钱,以及不同程度的安静值(quietness)。为了方便起见,我们将编号为 x 的人简称为 "person x "。 给你一个数组 richer ,其中 richer[i] = [ai, bi]

  • 贪心-会议安排2021-12-14 20:02:46

    Leetcode 630. 课程表 III 前面两题是拓扑排序,和这题没有实际联系 看起来像 n 个区间,顺序执行,怎么有点像会议安排,结论:贪心,按结束时间排序 具体的,每次从剩下未安排会议中选出最早结束且与已安排会议不冲突的会议; 写了一下: int scheduleCourse(vector<vector<int>>& courses) {

  • 删数问题 贪心算法2021-12-13 18:32:11

    删数问题 描述: 给定一个高精度正整数a, 去掉其中k个数字后按原左右次序将组成一个新的正整数。对给定的a, k寻找一种方案,使得剩下的数字组成的新数最小。 应用贪心算法设计求解 设计要点 操作对象为n位高精度数,存储在数组a中。 在整数的位数固定的前提下,让高位的数字尽量

  • 最优分解问题 贪心算法2021-12-13 18:30:56

    最优分解问题 问题描述: 设n是一个正整数,要求将n分解为若干互不相同的自然数之和,且这些自然数的乘积最大。 输入: 正整数n 输出: 计算的最大乘积。 如输入10,则输出30. 提示: 若a+b的值为一个常量,则a-b的绝对值越小,ab值越大。贪心策略:将n分成从2开始的连续自然数之和,如果

  • C语言【微项目11】—活动安排问题[求解元素最多的相容活动子集](采用贪心算法思想实现)2021-12-12 16:05:15

    目录一、Txsf.c二、 运行结果示例2.1 输入8个活动2.2 输入9个活动 【TDTX】 【C99】 【注】相容活动:两活动之间可顺序化,即两个需要执行的时间段无重叠 如:活动A:开始点0,结束点3;活动B:开始点1,结束点6;则两活动不相容,有重叠时间段。 一、Txsf.c #include <stdio.h> #include <stdlib.h>

  • 【刷题】动态规划——最长上升子序列:拦截导弹2021-12-11 18:33:29

    第一问就是普通的最长下降子序列,重点是第二问。 先给出贪心策略: 首先假设已有若干套系统拦截了导弹,对于一个新来的导弹X: 1、如果已有的系统能够拦截X,很自然的想法是把他丢到已有系统中末尾最小的,因为这样其他系统的末尾才能尽可能大,拦截更多的导弹。 2、如果已有系统都不能

  • 贪心算法和动态规划的区别2021-12-10 21:31:59

    一、动态规划  动态规划(简称DP)的思想是把一个大的问题进行拆分,细分成一个个小的子问题,且能够从这些小的子问题的解当中推导出原问题的解。 性质 1、最优子结构性:既所拆分的子问题的解是最优解。 2、无后效性:即子问题的解一旦确定,就不再改变,不受在这之后、包含它的更大的问题

  • 738. 单调递增的数字(中等,贪心)2021-12-10 21:05:04

    题目链接:738. 单调递增的数字 思路一:暴力破解,每次减1一个一个数判断 class Solution { //暴力破解 //时间复杂度:O(nm) m为n的数字长度 //空间复杂度:O(1) public: bool checkNum(int num) { int low_pos = 10; while (num) { int temp_pos = num % 10; if

  • 汽车加油问题 贪心算法2021-12-10 21:03:08

    汽车加油问题 描述: 题目来源:王晓东《算法设计与分析》 一辆汽车加满油后可行驶 n公里。旅途中有若干个加油站。设计一个有效算法,指出应 在哪些加油站停靠加油,使沿途加油次数最少。 输入格式: 第一行有 2 个正整数n和 k(k<=1000 ),表示汽车加满油后可行驶n公里,且旅途中有 k个

  • 贪心算法的证明2021-12-10 19:04:10

    由于考试算法中用到贪心时需要先证明其正确性才能使用,所以本人学习了一下贪心算法的证明方法并作此笔记。 首先,在网上找到的贪心策略证明有: 考察一个问题的最优解,证明可修改该最优解,使得其从贪心选择开始,然后用数学归纳法证明每一步都可以通过贪心选择得到最优解 1,假定首选

  • 贪心题目的笔记(活动数一定,房间数最少的模型)2021-12-10 19:03:22

    1.贪心的经典问题   (1)贪心算法我们在刚开始学习的时候遇到的往往是就一间房间,要求安排的活动数最多,这个我们已经非常熟悉了,只需要将活动按结束时间排好,然后将活动安排一下即可。 (2)证明正确性(AC题目时无需证明,根据感觉来即可): 2.另一个贪心问题 题目: 假设要用很多个教室对一组

  • 以leetcode上“最大子数组和”为例详解贪心算法2021-12-08 22:02:04

    题目链接: 力扣 题目描述: 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组 是数组中的一个连续部分。 示例 1: 输入:nums = [-2,1,-3,4,-1,2,1,-5,4] 输出:6 解释:连续子数组 [4,-1,2,1] 的和最大,为 6 最近刷leetcode这道

  • 算法-贪心2021-12-06 23:33:33

    贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,算法得到的是在某种意义上的局部最优解.贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择.贪心算法一般按如下步骤进行:1.建立数学模型来描述问题2.把求解的

  • NOIp 2021 游记2021-12-04 21:32:11

      图论数论计几,刘汝佳珂朵莉。   红橙黄绿蓝紫,CFATC。   七十行自动机,线段树 3KB。   三年搜索 dp,考场只剩暴力。   贪心对着样例,乱搞卡线省一。   省队失之交臂,何时能进国集?   生非神如 jiangly,假不过 djq。   勤学习,勇刷题,OI 只争朝夕。     上一次来 NOIp

  • 12/1 小结2021-12-01 20:34:57

    #6429 简单无向图: 图的区间连边,使用线段树矩形 +1 结合找 0,用 Boruvka 算法求连通块数量。   #6433 金色飞贼: 将平面上的三角形投影到一条线段上后再利用 set 进行计算。   #6435 inversion: 树上 map 启发式合并。   #6437 turing machine: 数位置的移动转为平面直角坐标系上点

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

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

ICode9版权所有