原题链接 考察:容斥原理+完全背包+计数dp 本蒟蒻是打死都想不到怎么用容斥原理... 错误思路: 乍看一下是多重背包,时间复杂度80*105*103(采用二进制优化)显然T了 正确思路: 采取完全背包预处理的方法,时间复杂度105 ,求出不限数量的取法.答案就是所有取法-不合法的取法.这里就可以想 ...
分类:
其他好文 时间:
2021-02-16 12:06:08
阅读次数:
0
1.Mark-Sweep算法 整个算法分为标记和清除两个部分。 标记阶段采用可达性分析算法。可达性分析算法从GC roots出发,寻找引用的对象,如果对象被遍历到,则标记。 清除阶段对目标空间进行遍历,若对象没有被标记过,则清除该对象。时间复杂度为O(n),结果会导致空间中存在大量碎片(零碎空间), ...
分类:
编程语言 时间:
2021-02-15 12:21:19
阅读次数:
0
一、算法步骤 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。重复第二步,直到所有元素均排序完毕。 2、时间复杂度 O(n²) 的时间复杂度 3、代码实现 import java.util.Arrays; /** ...
分类:
编程语言 时间:
2021-02-15 12:00:11
阅读次数:
0
#include<bits/stdc++.h> using namespace std; const int maxn=1e5+100; const int inf=1e9; int n,m,x; int dep[maxn];//节点在第几层 int num[maxn];//每一层的节点个数 int ...
分类:
其他好文 时间:
2021-02-15 11:49:10
阅读次数:
0
剑指 Offer 53 - II. 0~n-1中缺失的数字 Offer_53 题目详情 java代码 package com.walegarrett.offer; /** * @Author WaleGarrett * @Date 2021/2/9 20:33 */ /** * 题目详情:一个长度为 ...
分类:
其他好文 时间:
2021-02-10 13:12:51
阅读次数:
0
因为怠惰比赛历程就不说了。 这次比赛自我感觉时间把控得比较好,而且没有挂分甚至有水分,发挥简直是完美。 然而为什么分数不高呢? 因为菜。 T1一开始就思维僵化在想着前缀和大于等于$0$,直到最后一个小时才抛弃这个思考方向,想出来一个多项式时间复杂度的暴力做法。由于时间不够这个暴力做法我也没有继续优化 ...
分类:
其他好文 时间:
2021-02-09 12:22:52
阅读次数:
0
这道题要求将数组中奇数放前面偶数放后面,不需要排序。 第一时间想到的是额外数组res存结果,遍历原数组奇数存在res前面,偶数存在res后面。 时间复杂度O(n),空间复杂度O(n),好处是没有修改原数组 class Solution { public int[] exchange(int[] nu ...
分类:
编程语言 时间:
2021-02-08 11:47:07
阅读次数:
0
34. 在排序数组中查找元素的第一个和最后一个位置 Difficulty: 中等 给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target,返回 [-1, -1]。 进阶: 你可以设计并实现时间复杂度为 ...
分类:
编程语言 时间:
2021-02-08 11:42:16
阅读次数:
0
P3052 [USACO12MAR]Cows in a Skyscraper G 预处理出每种状态的体积和,然后枚举子集转移。 时间复杂度 \(O\left(3^n\right)\)。 code: #include<bits/stdc++.h> using namespace std; #defin ...
分类:
其他好文 时间:
2021-02-05 10:29:05
阅读次数:
0
修改一座山可能同时改变其两侧山的类型。贪心地考虑,要么是修改成其左侧山的高度要么是修改成其右侧山的高度,这样能够在使得当前山不成为山峰和山谷的同时让两侧的山尽可能不成为山峰和山谷。 时间复杂度 \(O\left(\sum n\right)\)。 #include<bits/stdc++.h> usi ...
分类:
其他好文 时间:
2021-02-03 10:39:38
阅读次数:
0