笔记
文章平均质量分 82
arc3102
个人博客 arc3102
展开
-
轻量级锁(CAS)和重量级锁
JVM线程:OS线程 == 1:1<jdk1.2 重量级锁(个人见解,尤其在重量级锁方面)重量级锁和轻量级锁的概念重量级锁:交给 OS 管理锁的争抢,释放 CPU 资源轻量级锁:JVM 自己管理锁的争抢(无锁,自旋锁),CPU资源不释放不上锁时的多线程并发问题在不上锁的情况下,多个线程可能会出现以下的并发问题轻量级锁的实现方式:CAS查看现在的值是不是原先读到本地线程的值,是就修改,不是重新读取到本地,继续循环;因为需要一直循环直到修改成功,所以使用 while 循环,所以轻原创 2021-04-23 21:57:30 · 1765 阅读 · 0 评论 -
RMQ问题 st表详解【模板】【板题】POJ-3264 Balanced Lineup
RMQ问题RMQ (Range Minimum/Maximum Query)问题是指:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j<=n),返回数列A中下标在i,j里的最小(大)值,也就是说,RMQ问题是指求区间最值的问题。来自百度百科简单说就是给出n个数的数组,每次询问给出L和R,问在 a[L…R] 这个区间里的最值ST表就是用来解决该问题ST(Sparse Table)算法可以在O(nlogn)时间内进行预处理,然后在O(1)时间内查询每个问题;但是ST只能解决原创 2020-08-15 20:38:59 · 149 阅读 · 0 评论 -
HDU-6825 Set1【2020 Multi-University Training Contest 5】【组合数学】
题目HDU-6825题意值为1-n的n个数的集合(n为奇数),每次进行一次操作:删除集合中最小的数,同时随机删除集合中的另一个数,进行(n-1)/2次这样的操作,最终剩下一个数,现在问集合1-n每个数最终被留下的概率题解我们定义操作中选择最小的数删除为操作1,随机删除的为操作2;我们考虑每个i最终留下的方案,首先当i前面的数大于等于后边的数时才有可能会被留下来,即i-1>=n-i;因为如果前边的数小于后边的数时,当i前边的数被操作1删除时,集合中的数量还大于1,而i是最小的数,会在下一次操原创 2020-08-09 17:52:48 · 116 阅读 · 0 评论