首页 > 其他分享 >随机化

随机化

时间:2024-05-15 13:08:40浏览次数:7  
标签:cnt Code gcd 随机化 概率 随机

Aulvwc

非正解做法,但大概率正确(实际上过不了 Hack)。

套路的,考虑让每个 \(a_i\) 减去整体的平均值,问题转换为让两个集合的和均为 \(0\)。

我们每次随机打乱 \(a\) 数组,并贪心的将其插入两个堆中,最后判断即可。

Code

ABC272G Yet Another mod M

由于同余的性质可得,如果 \(a_x\equiv a_y \pmod p\),则 \(|a_x-a_y|\bmod p=0\)。

所以我们随机选择 \(2\) 个 \(a_i,a_j(i\ne j)\) 的话,由于答案集合大于 \(2\),记 \(d=|a_i-a_j|\),则 \(m|d\) 的概率是 \(\dfrac{1}{4}\)。

由这个性质直接做即可。

Submisson

Ghd

由于要求数量超过一半,因此可以考虑随机化,每次有 \(\dfrac{1}{2}\) 的概率正确。

具体实现时,先将随机的数的因数存下来,记为 \(d_i\)。

记 \(m_i=\gcd(a_i,x)\),则 \(pos_i\) 为 \(\min_i(m_i\le d_i)\),令 \(cnt_i\) 为 \(i\) 在 \(\gcd\) 中的出现次数,初始时 \(cnt_{pos_i}=1\),(这一过程类似离散化),\(cnt_i=\sum_{d_i|d_j}cnt_j\),直接转移即可。

我们取阈值 \(w=10\),错误概率为 \(2^{-10}\)。

Code

GCD Groups 2

考虑贪心,和第一题思路类似,维护两个堆。

我们每次考虑如下选择:

  • 加入第 \(1\) 堆后,\(a_i\) 对 \(\gcd\) 不产生任何影响,则将其放入第 \(2\) 堆。
  • 否则将其放入第 \(1\) 堆。

这样显然是可以被卡的。

我们可以多做几次,随机排列 \(a_i\),正确性提升。

Code

Olha and Igor

发现随机选择 \(x,y,z\),实际上答案为根节点的左右儿子概率最大,记为 \(u,v\)。

则可以通过 \(n\) 次询问 \((u,v,i)\) 得出根的值。

Submission

标签:cnt,Code,gcd,随机化,概率,随机
From: https://www.cnblogs.com/WhisperingWillow/p/18193632

相关文章

  • P8819 [CSP-S 2022] 星战 (很厉害的随机化想法)
    简化下题意有n个点m条单向边每条边有激活和失活两种状态,一共有4中操作1.失活一条u->v的边2.失活终点是v的边3.激活u->v的边4.激活终点是v的边问你每次修改后每个点的出度是否都为1.50分的做法就是暴力修改,对于1操作和3操作都是可以o(1)解决,对于2操作和4......
  • CF1514D-区间(绝对)众数-莫队、随机化、可持久化线段树
    link:https://codeforces.com/contest/1514/problem/D很久以前小号打的场了,当时D题写的莫队,现在重新来看看。题意:给一个序列\([a_1,\dots,a_n]\),有q次询问,每次问:把\([a_l,\dots,a_r]\)划分最少几个不相交子序列,才能使得每个子序列是beautiful的。称一个序列\(a_1,\dots,a_x\)......
  • 随机化算法
    1随机化算法简介随机化算法,是一种十分玄学的做法。百度百科对其的定义是:随机化算法(randomizedalgorithm),是这样一种算法,在算法中使用了随机函数,且随机函数的返回值直接或者间接的影响了算法的执行流程或执行结果。就是将算法的某一步或某几步置于运气的控制之下,即该算法在运......
  • 随机化小结
    交互中的随机暂时还没怎么做,等以后来总结。我个人是比较认同OI-wiki对随机化技术的分类的,但是对于具体技术,这里不遵循OI-wiki的分类。1随机限制命中元素经典应用有:3-SAT(通过随机添加限制,然后弱化到2-SAT解决2借助期望/概率经典应用有:1、随机游走的最大距离期望是根号......
  • SV 随机化(Randomization)
    CoverageDriverVerification可约束的随机化验证,用于测试的值可以再一定范围内进行随机,具体的范围可以进行约束,比如可以跑100次,然后查看覆盖率,可以通过覆盖率进行度量验证的进度内容随机化的变量往往需要添加一定的约束,通过添加约束让值在一定的范围内进行随机随......
  • 【学习笔记】随机化算法
    例题P7831[COCI2009-2010#3]PATULJCI题解首先对每个颜色开一个vector<int>保存其位置,随后对于一段区间\([l,r]\)和一个颜色\(c\),可以很快速的求出\([l,r]\)内\(c\)出现的次数。然后进行随机化,每次随机一个元素并查看他的出现次数。若随机\(t\)次,那么随机不到的概率是\(\frac......
  • 随机化贪心
    随机化什么是随机化算法?随机化做法,就是基于当前算法而言,通过正确算法求解会TLE或者MLE,但是出于骗分的目的,我对可能答案中的一些序列或者值进行查找,在我随机瞎找的这些值中去找正确答案,最后,所得出的答案具有极大可能性为正确答案,甚至于百分之一百。如果题目要求最优解,但难以......
  • SQLSmith: Databend 如何利用随机化测试检测 Bug
    作者:白珅Databend 研发工程师https://github.com/b41sh为什么需要SQLSmith?在数据库系统的开发和维护过程中,测试扮演着至关重要的角色。它不仅可以验证功能的正确性,还可以发现潜在的问题,确保数据库在每个变更和迭代后保持性能和稳定性。Databend的CI已经支持了多种类......
  • 转载:孟德尔随机化(Mendelian Randomization) 统计功效(power)和样本量计算
    链接:>https://mp.weixin.qq.com/s?__biz=Mzg2MDA2MDQzMQ==&mid=2247484734&idx=1&sn=6c4a5ba21bad0058ead4f0e8d9399c72&chksm=ce2d6b5ef95ae248ae7566d87d8aa4a373ccc33082a10e37773d89a137ac4d350e591844a0bd&scene=21#wechat_redirect......
  • 将vcf文件转成孟德尔随机化分析格式
    以https://gwas.mrcieu.ac.uk/datasets/ukb-b-7330/为例:原始文件形如:转换代码library(vcfR)getwd()a_data=read.vcfR('../ukb-b-7330.vcf.gz')str(a_data)head(a_data$meta,12)head(a_data@fix)head(a_data@gt)fix=as.data.frame(a_data@fix[,(1:5)])gt=as......