摘要:
Java多线程入门 线程是操作系统课程中提到的一个概念,是系统调度和分配的最小单元,其自身并不拥有系统资源,但与同属一个进程的其他线程共享进程所拥有的的全部资源。多线程编程可以使得程序共有两条或者两条以上的并发执行线索,即同时完成一个工作的多个部分。 1. 线程类 Java中线程有两方面的含义 一条 阅读全文
摘要:
马拉车,O(n)求回文串 对整个马拉车算法步骤做个总结: 第一步:将每个原字母用两个特殊字符包围如: 这样可以使得所有的奇数长度的回文串变成偶数长度 第二步:设置P数组P[N 3];代表S[i]的回文半径(包括自身),并设置id为迄今为止回文半径最大的字符位置,max为id+P[id],该回文串的右 阅读全文
摘要:
三种字符串类:String,StringBuilder,StringBuffer String类 1. 常用构造器 2. 常用方法 3. String对象的不可变性 存在代码如下 结果为true false,原因是Java中每一个String对象都是不可变的。JVM在堆内存中为String对象开辟了 阅读全文
摘要:
链接:http://codeforces.com/problemset/problem/782/B 题意: N个点,需要找到一个点使得每个点到这个点耗时最小,每个点都同时开始,且都拥有自己的速度 题解: 对于一个确定的位置,如果耗时最久的点在右边,则这个位置可以往右靠,否则就往左靠,这样,一个二分的 阅读全文
摘要:
hash定义: Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散 阅读全文
摘要:
package codeforces; import java.util.*; public class CodeForces_764C_Timofey_and_a_tree { static final int N=(int) (2e5+10); @SuppressWarnings("unchecked") static ArrayList ... 阅读全文
摘要:
Java集合之ArrayList 1. ArrayList的构造器 1. public ArrayList() 2. public ArrayList(int initialCapacity) 3. public ArrayList(Collection c) 2. 常用方法 1. boolean 阅读全文
摘要:
CA Loves GCD Accepts: 135 Submissions: 586 Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others) CA Loves GCD Accepts: 13 阅读全文
摘要:
Claris and XOR Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 744 Accepted Submission(s): 330 Pr 阅读全文
摘要:
设f[x]为x的最小变为1步数 initialize: f[1]=0 equation: f[x]=min{f[x-i](i<=t),f[x/k](if x%k==0)} (x:1~x) 对于求min{f[x-i](i<=t)} 使用单调队列维护区间最小f[x-i] #include <iostre 阅读全文