[BZOJ3837][Pa2013]Filary Description 给定n个正整数,从中挑出k个数,满足:存在某一个m(m>=2),使得这k个数模m的余数相等. 求出k的最大值,并求出此时的m.如果有多组解使得k最大,你要在此基础上求出m的最大值. Input 第一行一个正整数n(2<=n<=10^5). 第二行n个正整数w[i](1<=w[i]<=10^7).保证不会出现所有w[i]都相等的情况. Output 一行两个整数k,m.保证答案存在. Sample Inp…
题面 权限题 题解 这题有一个很好的性质,就是一定有$k>\frac n2$.接着考虑怎么做. 我们随机选取一个数$x$,然后将所有数与它作差,那么只需要找出$k$个差值使得他们的最大公因数大于$1$即可.我们可以将所有差值分解质因数,然后统计每个质因数出现的次数,再加上与$x$相等的数的个数就是$k$.统计$k$个时候顺便记录一下这些数的最大公因数即可. 根据之前说的那个性质,我们随机出真答案的期望是$log$的.但是随机化这个东西...是靠脸的,我最开始用了那个$8$位质数做种子,然后调了$…
当m取2时,k至少为$\frac{n}{2}$ 所以在最优解中每个数被选中的概率至少为$\frac{1}{2}$ 每次随机选取一个位置i,计算出其它数与$a_i$的差值,将差值分解质因数 所有质因数中出现次数的最大值加上与$a_i$相等的数的个数就是选取i的情况下的最优解 为了最大化m,需要将所有相同位置的因数乘起来 给每个位置随机一个权值,全部异或起来求出Hash值,排序后扫一遍统计即可 因为$a_i\leq10^7$,所以可以先一遍线性筛求出每个数是被哪个素数筛掉的,这样就可以做到$O(\l…
[BZOJ3837][PA2013]Filary 题面 darkbzoj 题解 考虑到模数为\(2\)时答案至少为\(\frac n2\),这是我们答案的下界. 那么我们对于任意的一个数,它们答案集合中的就概率至少为\(\frac 12\). 那么我们随机选出一个数,将这个数与其他数作差,那么将这些数分解质因数后出现次数最多的数的个数就是出现次数,而含有这个质因数的所有数的\(gcd\)就是这种情况. 因为值域\(\leq 10^7\),所以你把每个数最小的质因子筛出来就可以做到\(\log\)…
3837: [Pa2013]Filary Time Limit: 60 Sec  Memory Limit: 256 MBSubmit: 395  Solved: 74[Submit][Status][Discuss] Description 给定n个正整数,从中挑出k个数,满足:存在某一个m(m>=2),使得这k个数模m的余数相等.   求出k的最大值,并求出此时的m.如果有多组解使得k最大,你要在此基础上求出m的最大值.   Input 第一行一个正整数n(2<=n<=10^5).…
今天写了一个自己的随机跳题小程序,第一次试发现跳的全是不可做题,但是在周围我一眼看见了这个题,不能说一眼看出来,但是也是比较有思路,所以就做他了! 做得比较顺利,做完之后美滋滋,突然发现样例第三组过不了...然后发现自己算法有问题...GG,又想了一个超复杂的算法,刚开始写就放弃了,根本没法写. 于是看题解(本来以为自己能A),就看了一行就明白了,只要倒着存边再倒着输出就行了!!!QAQ!! 跳题代码: #include<iostream> #include<cstdio> #in…
目录 目标/最终效果 关于VBA VBA简单示例 检查环境 步骤 VBA实现随机抽题 todo challenge 目标/最终效果 目标是制作一个ppt,实现随机抽题,具体描述: 第一页幻灯片中:点击开始按钮后,右边的文本框快速滚动 显示随机数字:点击停止按钮后,滚动停止,抽取到的题号会显示到第二个文本框中,并append到第三个文本框的内容中:然后点击跳转按钮,会跳转至相应题目的幻灯片. 跳转题目幻灯片后,点击返回键,可返回到第一页幻灯片继续抽题. 第一页幻灯片中,重置按钮将清除所有文本框的内…
bzoj 先搞第一问.考虑简单情况,如果\(m=2\),那么一定有个剩余类大小\(\ge \lceil\frac{n}{2}\rceil\),同时这也是答案下界 然后我们每次随机选出一个数\(a_i\),然后钦定它在我们要的剩余类里,现在再枚举其他数,看一下最多有多少个数\(a_j\)可以和他模\(m\)同余,也就是选最多的数满足\(\gcd(|a_i-a_{j_1}|,|a_i-a_{j_2}|,|a_i-a_{j_3}|...)>1\).那对于每个\(j\),把所有\(|a_i-a_j|\)…
一.编程思想: 1.定义所需要变量2.设置数组,存储运算符,3.通过随机函数random(0,100)找出运算数,random(0,4)找出运算符4.通过输出显示运算式. 二.源代码: //2016 3.3 Cheng Qiqin //sizeyunsuan #include <iostream> #include<ctime> #include<cstdlib> #include<iomanip> using namespace std; #define…
bzoj Description 给你一棵树,每个点有一个编号\(a_i\).\(Q\)组询问,每次问一条路径上最小的出现了偶数次的编号是多少(包括零次). 多组数据,\(T\le10,n,Q,a_i\le200000\) sol 这又是一道随机化神题. 给每个编号随机一个\(unsigned\ long\ long\)范围内的权值\(val_i\). 对于一次询问,统计路径上所有编号\(\in [l,mid]\)的点的权值的异或和.如果这个异或和不等于\(val_l\otimes val_{l…