总所周知,枚举实现单例模式是最好的。 这样实现的好处为:每个枚举类型及其定义的枚举变量在JVM中都是唯一的 所以我们不用new 也不用加逻辑判断 就能得到唯一实例了。只要类的类型是enmu不是class 那么如何实现呢? 看教程 实现很简单,理解起来有 点难度,我们只需要知道 枚举类似于类变量那种, ...
分类:
其他好文 时间:
2020-07-23 16:31:01
阅读次数:
74
##定义 object.assign用于对象的合并,将源对象(source)的所有可枚举属性复制到目标对象(target)中 let targetObj = { a: 1 }; let sourceObj1 = { b: 2 }; let sourceObj2 = { c: 3 }; Object. ...
分类:
Web程序 时间:
2020-07-23 16:20:10
阅读次数:
79
#A.s1mple 直接做不好做,考虑求出答案数组经过某种变换后的数组,再经过逆变换求出答案数组。考虑求出答案的超集数组。 那么实际上就是钦定一些位置必须选1,其他位置任意的方案数。 假如钦定了一些位置是1,那么可以发现方案数只和每一个极长1连续段有关,于是可以暴力枚举每个极长连续1段的长度,总状态 ...
分类:
其他好文 时间:
2020-07-22 20:39:25
阅读次数:
75
容易发现已经结束掉的一个子串只要合法就对后面没有影响,所以可以令 \(f_{i,j,p,q}\) 表示前 \(i+j\) 个人有 \(i\) 个男孩,\(j\) 个女孩,所有后缀中男孩最多比女孩多 \(p\) 个,女孩最多比男孩多 \(q\) 个的方案数。 转移即枚举下一个位置是男孩或者女孩,记得对 ...
分类:
其他好文 时间:
2020-07-22 15:59:43
阅读次数:
58
题意:有N(1 ? N ? 20000)个音符的序列来表示一首乐曲,每个音符都是1...88范围内的整数,现在要找一个重复的子串,它需要满足如下条件:1.长度至少为5个音符。2.在乐曲中重复出现(就是出现过至少两次)。(可能经过转调,"转调"的意思是主题序列中每个音符都被加上或者减去了同一个整数值) ...
分类:
编程语言 时间:
2020-07-22 15:37:38
阅读次数:
73
分析:$f[i][j][k]$表示$i到2k$行和$j到2k$列的矩阵中的最大值,可以从四个部分状态转移过来,\(f[i][j][k - 1], f[i + (1 << (k - 1))][j][k - 1]), f[i][j + (1 << (k - 1))][k - 1], f[i + (1 < ...
分类:
其他好文 时间:
2020-07-21 23:21:36
阅读次数:
75
第一类 · 树形动态规划 问题一:求树上最大权独立集 题意描述 有一棵大小为 $n$ 的树,其中有 $n-1$ 组点有连边,请找到大小最大的一个集合,使得树中以编号为集合内元素的节点两两无直接连边。 $n \le 5000$。 (简单讲,就是从一棵树内找到尽可能多的点,并且这些点两两没有连边) 算法 ...
分类:
其他好文 时间:
2020-07-21 23:20:52
阅读次数:
86
传送门 题目:可以改变'?'为任意'a'~'z'的字符,可不可以让s有且仅有一个子串为"abacaba"。 思路:暴力就行,枚举每个位置开始7个字符能否组成"abacaba",可以的话在判断此时把这7个位置的字符变成"abacaba"时,s有几个"abacaba"子串。 1 #include <io ...
分类:
其他好文 时间:
2020-07-21 23:02:59
阅读次数:
96
题目链接 #解题思路 题面差不多已经用的算法写到脸上了,不过有个问题就是怎么判断枚举的区间符合条件,如果直接暴力的话复杂度就要乘上q,但是如果用一个变量来计数的话,就能让时间复杂度降下来。 #代码 const int maxn = 1e5+10; int n,m,a[maxn],cnt[maxn]; ...
分类:
其他好文 时间:
2020-07-21 13:37:33
阅读次数:
60
注意点:1、其实就是讲所有走每一步的时候求大致值就好,然后这个值又会对下面进行影响,就像自己思考问题一样 2、然后就是需要注意一下边界问题,因为我们这边求最大值,所以需要对边界进行初始化 #include <iostream> #include <cstring> #include <string> ...