如果一个数组中已经有一种数 $\ge k$ 个了,那么答案一定是 $0$。 否则的话,显然我们最终要凑的数字一定是数组当中的一个数。 所以我们就可以枚举这个数。 数组先排个序,分三种情况,一种是只动左边,一种是只动右边,还有一种是两边都动。 如果只动前面,把 $a_1 \sim a_i$ 全部弄成 ...
分类:
其他好文 时间:
2020-03-28 00:48:02
阅读次数:
95
import java.lang.reflect.Array; import java.math.BigInteger; import java.util.*; public class Main { public static void main(String [] args) { Scanner ...
分类:
其他好文 时间:
2020-03-28 00:41:45
阅读次数:
77
单例模式的几种实现方式: 一:饿汉式单例 方式一:枚举方式获得单例对象 方式二:静态属性获得单例对象 方式三:静态方法获得单例对象 二:懒汉式单例 方式一:静态方法获得单例对象(线程安全) 方式二:内部类方式去获取单例对象 示例: 恶汉式:方式一 enum Singleton{ INSTANCE;/ ...
分类:
编程语言 时间:
2020-03-27 12:40:41
阅读次数:
58
Solution 枚举选择一个中间点,计算把边上压到中间这条线上的答案 压的时候要考虑两边压和单边压的情况 (以下代码中的二分显得很累赘,纯粹为了偷懒而出现) ...
分类:
其他好文 时间:
2020-03-27 10:43:30
阅读次数:
141
JVM之GCRoots详解目录面试题引子什么是垃圾判断对象是否可以被回收之引用计数法判断对象是否可以被回收之枚举根节点可达性分析Java中可以作为GC Roots的对象1. 面试题引子一面:GC Roots如何确定?哪些对象可以作为GC Roots?2. 什么是垃圾1.简单说就是内存中已经不再被使用 ...
分类:
其他好文 时间:
2020-03-27 10:35:58
阅读次数:
243
先对其求出前缀异或和,然后$o(k)$次枚举,每次选择最大值,考虑如何维护可以全局开一个堆,维护出每一个点的最大值的最大值,那么相当于要在一个点中删去一个点再找到最大值将这些删去的点重新建成一颗trie树,与所有数构成的trie树减一下,就可以找到新的最大值了,再用堆维护即可有一些细节:1.数值范围 ...
分类:
其他好文 时间:
2020-03-26 21:34:50
阅读次数:
61
"Link" 首先答案显然不可能是$1$。 然后有一个很显然的方法是把度数最小的点的所有边删掉,注意到总的度数为$4n 4$,所以一定存在某个点度数不大于$3$,因此答案不大于$3$。 那么可行的答案就只有$2,3$。 也就是说要么两棵树各割掉一条边,要么一棵树割一条边另一棵树割两条边。 我们枚举割 ...
分类:
其他好文 时间:
2020-03-26 19:09:27
阅读次数:
66
线程状态及其转换 一、线程状态 Java中定义线程的状态有6种,可以查看Thread类的State枚举: 1. 初始(NEW):新创建了一个线程对象,还没调用start方法; 2. 运行(RUNNABLE):java线程中将就绪(ready)和运行中(running)统称为运行(RUNNABLE)。 ...
分类:
编程语言 时间:
2020-03-26 15:13:03
阅读次数:
90
【问题描述】 小明想知道,满足以下条件的正整数序列的数量:1. 第一项为 n;2. 第二项不超过 n;3. 从第三项开始,每一项小于前两项的差的绝对值。请计算,对于给定的 n,有多少种满足条件的序列。 【输入格式】 输入一行包含一个整数 n。 【输出格式】 输出一个整数,表示答案。答案可能很大,请输 ...
分类:
其他好文 时间:
2020-03-26 14:05:06
阅读次数:
140
主席树 概念 主席树就是可持久化并查集。 主要用于求区间第k大值。 也就是压缩的权值线段树。 思路 首先,枚举$k$,求出$n$个$1\sim k$。 因为每次都开一个权值线段树肯定爆空间,我们发现,他们都会有一个相同的部分,而且随着k的增大,相同的部分就越多。所以我们想办法把后面的东西建立在前面的 ...
分类:
其他好文 时间:
2020-03-25 23:47:44
阅读次数:
112