bzoj:3085: 反质数加强版SAPGAP】的更多相关文章

Description 先解释一下SAPGAP=Super AntiPrime, Greatest AntiPrime(真不是网络流),于是你就应该知道本题是一个关于反质数(Antiprime)的问题.下面给出反质数的定义: 将一个正整数i的约数个数记为g(i),如g(1)=1,g(2)=2,g(6)=4. 如果对于一个正整数k,对于任意正整数i<k,均有g(k)>g(i),则k被称为反质数. 比如说1,2,4,6,12就是前5个反质数. 现在给定一个N,求N以内最大的反质数. 你一定会认为这…
题目链接:http://www.lydsy.com:808/JudgeOnline/problem.php?id=3085 题意:求n(<=10^100)之内最大的反素数. 思路: 优化2: int prime[]= { 1, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101,103,107,109, 113,127,131,137,139, 14…
BZOJ 1053 Description 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4.如果某个正整数x满足:g(x)>g(i) 0<i<x ,则称x为反质数.例如,整数1,2,4,6等都是反质数.现在给定一个数N,你能求出不超过N的最大的反质数么 ? Input 一个数N(1<=N<=2,000,000,000). Output 不超过N的最大的反质数. Sample Input 1000 Sample Output 840 题解 可以发现,…
题面 奇数+奇数一定不是质数(1+1除外),偶数+偶数一定不是质数,质数只可能出现在偶数+奇数中 把所有的点排成两列,权值为奇数的点在左边,权值为偶数的在右边 如果左边的点x+右边的点y是质数,我们就连一条x->y的边 最后答案显然是最大独立集=n-最小点覆盖=n-最大匹配数 由于1比较特殊,考虑到最终答案1的出现次数<=1,所以如果有多个1只保留一个即可 #include <bits/stdc++.h> using namespace std; struct littlstar{…
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1053 感想:这道题拿到以后还是想去知道一个数的约数个数要怎么求,去网上搜了公式,但是还是没有思路,最后看了好几个大佬的博客我才勉强知道这道题怎么做 其实我看见这数据范围我就下意识觉得搜索会爆,但是实际上这道题不会爆的 方法:首先约数的个数求法 已知数n=2^a + 3^b + 5^c + 7^d +……+ 第i个素数^x 约数个数=(a+1)*(b+1)*(c+1)*(d+1)*……*(x+…
难度级别:A: 运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 将正整数 x 的约数个数表示为 g(x).例如,g(1)=1,g(4)=3, g(6)=4. 如果对于任意正整数y,当 0 < y < x 时,x 都满足 g(x) > g(y), 则称 x 为反质数.整数 1,2,4,6 等都是反质数. 现在任意给定两个正整数 M, N,其中,M < N <= 20000000,按从小到大输出其中(包括 M 和 N)的所有…
反质数:设f(n)表示n个约数的个数,如果对于任意x有0<x<n, f(x) < f(n),那么n就是一个反质数 我们都知道对于任意一个数n,都可以用质数乘积的形式表示出来:x = p1^k1+p2^k2...pn^kn 一个数n如果可以表示成 n = p1^k1 + p2^k2, 那么它的约数的个数就是 (k1+1)*(k2+1) ::k1个p1,可以产生k1个约数,分别是p1^1, p1^2...p1^k1, 同理k2个p2 那么这k1个约数与k2个约数分别相乘,又会得到k1*k2个…
转载http://www.cnblogs.com/tiankonguse/archive/2012/07/29/2613877.html 问题描述: 对于任何正整数x,起约数的个数记做g(x).例如g(1)=1,g(6)=4. 定义:如果某个正整数x满足:对于任意i(0<i<x),都有g(i)<g(x),则称x为反素数. 现在给一个N,求出不超过N的最大的反素数. 比如:输入1000 输出 840 思维过程: 求[1..N]中最大的反素数-->求约数最多的数(约数同样多取数值小的)…
800401反质数 难度级别:A: 运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 将正整数 x 的约数个数表示为 g(x).例如,g(1)=1,g(4)=3, g(6)=4. 如果对于任意正整数y,当 0 < y < x 时,x 都满足 g(x) > g(y), 则称 x 为反质数.整数 1,2,4,6 等都是反质数. 现在任意给定两个正整数 M, N,其中,M < N <= 20000000,按从小到大输出其中(包括…
input n 1<=n<=2000000000 output 不大于n的最大反质数 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4.如果某个正整数x满足:g(x)>g(i) 0<i<x,则称x为反质数.例如,整数1,2,4,6等都是反质数. 做法:直接打表查找 #include <cstdio> #include <queue> #include <cstring> #include <iostream&…
题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1053 题解: 可以证明,$1 \sim N$ 中最大的反质数,就是 $1 \sim N$ 中约数个数最多的数中,最小的那个. 证明:假设 $1 \sim N$ 中最大的反质数 $x$ 不是 $1 \sim N$ 中约数个数最多的,那么必然存在至少一个不等于 $x$ 的数字 $y$,它是 $1 \sim N$ 中约数个数最多的数中最小的,显然有 $g(y) > g(x)$. 那么,分类讨…
题面 引理1:  1~n中的最大反质数,就是1~n中约数个数最多的数中最小的一个(因为要严格保证g(x)>g(i)): 引理2:1~n中任何数的不同因子不会超过10个,因为他们的乘积大于2,000,000,000: 引理3:  1~n中任何数的质因子的指数总和不超过30: 引理4:  x的质因子是连续的若干个最小的质数,并且指数单调递减: 对于指数的排列我们只要深搜就可以找到方案,对于不同情况判断是否更新答案: #include <bits/stdc++.h> using namespa…
传送门 $ \color{green} {solution : } $ 因为 $ 1 $ 的个数我们最多只能选一个,所以剩下的数如果组成素数那么只有一奇一偶,显然是个二分图模型 #include <bits/stdc++.h> using namespace std; const int maxn = 1000010, inf = 0x3f3f3f3f; int head[maxn], to[maxn << 1], v[maxn << 1], pos[maxn <…
题意: 反素数,膜一篇GOD's Blog...http://blog.csdn.net/ACdreamers/article/details/25049767 此文一出,无与争锋... CODE: 没有啦啦啦...…
       初读这道题,一定有许多疑惑,其中最大的疑惑便是"反素数",反素数的概念很简单,就是,a<b同时a的因数个数大于b的因数个数.但是想要完成本题还需要一些信息,关于反素数的特点:反素数的质因子必定为从2开始的连续素数,若A=2的t1次方*3的t2次方*5的t3次方*7的t4次方-则t1>=t2>=t3>=t4-知道这些题做起来就简单多了.       但是我在这里不推荐此方法,因为用打表的方法更简单,不要被数据吓倒哟!        代码如下: #in…
今天看到一个kata,提出一个"emirps"的概念:一个质数倒转后得到的是一个不同的质数,这个数叫做"emirps". 例如:13,17是质数,31,71也是质数,13和17是"emirps". 但是质数757,787,797是回文质数,这意味着反转的数字与原始数字相同,所以它们不被认为是"emirps". 题目要求写一个函数输入一个正整数n,返回小于n的"emirps"的个数,其中最大"emi…
3551: [ONTAK2010]Peaks加强版 题意:带权图,多组询问与一个点通过边权\(\le lim\)的边连通的点中点权k大值,强制在线 PoPoQQQ大爷题解传送门 说一下感受: 容易发现一定选最小生成树上的边,然后用到了一个神奇的东西 Kruskal重构树 进行Kruskal过程中,每条边用一个点代替,左右儿子分别是连的两个点的当前的父亲 这样就形成了一棵树,叶子都是原图上的点,其他都是原图上的边 深度越小的点对应的边权值越大 两点路径上的权值不变 这样的话,与一个点通过权值\(\…
4407: 于神之怒加强版 Time Limit: 80 Sec  Memory Limit: 512 MBSubmit: 1067  Solved: 494[Submit][Status][Discuss] Description 给下N,M,K.求     Input 输入有多组数据,输入数据的第一行两个正整数T,K,代表有T组数据,K的意义如上所示,下面第二行到第T+1行,每行为两个正整数N,M,其意义如上式所示. Output 如题 Sample Input 1 2 3 3 Sample…
题意 在长度为 \(n\) 的序列 \(a\) 中选择尽量长的子序列,使得选出子序列中任意两个数的和不为质数. \(n\leq3000\ ,a_i\leq10^5\). 分析 直接按照奇偶性建立二分图,两个数之和如果为质数连边,跑独立集. 假设\(a+b= p_1\ ,a+c=p_2\) ,在除了 \(1+1=2\) 的情况下 \(b,c\) 奇偶性相同,构成合数. 所以总边数不会达到 \(n^2\) ,注意选出子序列中最多存在一个1. 总时间复杂度为 \(Dinic\) 时间复杂度. 代码 #…
Description 同OJ3522 数据范围:n<=100000 Solution dp的设计见[刷题]BZOJ 3522 [Poi2014]Hotel 然后发现dp的第二维与深度有关,于是长链剖分就可以优化成 \(O(n)\) 的了 不会写指针,所以写deque #include<bits/stdc++.h> #define ui unsigned int #define ll long long #define db double #define ld long double #…
于神之怒加强版 Time Limit: 80 Sec  Memory Limit: 512 MBSubmit: 1184  Solved: 535[Submit][Status][Discuss] Description 给下N,M,K.求     Input 输入有多组数据,输入数据的第一行两个正整数T,K,代表有T组数据,K的意义如上所示,下面第二行到第T+1行,每行为两个正整数N,M,其意义如上式所示. Output 如题 Sample Input 1 2 3 3 Sample Outpu…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4407 推导如这里:https://www.cnblogs.com/clrs97/p/5191506.html 然后发现 \( F(D) \) 是一个积性函数,可以筛质数的同时筛出来: 首先,单个质数 \( p \) 时只有 \( d=1 \) 和 \( d=p \) 两个因数,所以 \( F[p] = p^{k} - 1 \) 然后如果筛到互质的数,直接把 \( F() \) 相乘即可:…
我竟然半个小时切了一道JSOI2016,,,,不敢相信. 首先可以发现,如果N个数中1出现的次数<=1的话,我们按不能在一个集合连无向边的话,连出的一定是一个二分图. 接下来我来证明一下: 因为1出现的次数<=1,所以如果两个数的和是质数的话,首先得满足他们的和是奇数,所以这两个数肯定得是一奇一偶,也就是连出的图中的边的两个端点的奇偶性肯定是不同的,这就证明了这是一个二分图. 然后我们还可以发现,如果1的个数>1的话,我们只留下一个1,答案是不变的,因为1的选择只能是{0,1},多了没用…
3265: 志愿者招募加强版 Time Limit: 20 Sec  Memory Limit: 512 MBSubmit: 848  Solved: 436[Submit][Status][Discuss] Description Input Output Sample Input 3 3 2 3 4 1 1 2 2 1 2 3 5 1 3 3 2 Sample Output 14 HINT 题解:这一题类似于BZOJ1061,(几乎相同,只是把一段连续区间改为几段连续区间而已),做法一样,单…
题目 中文题目,不解释: BZOJ传送门 分析 这道题BZOJ上也只有几个人过-奇怪了 下面是正解 原问题为一个二分图边染色问题.首先考虑最好情况.最理想情况的分配为:设一个点xxx的度为dgr(x)dgr(x)dgr(x).那么若dgr(x)dgr(x)dgr(x)为ttt的倍数,那么与xxx相连的边恰好平均分配给ttt个公司,每个公司dgr(x)/tdgr(x)/tdgr(x)/t个:如果不是ttt的倍数,那么要尽量分的均匀,即max(ax(c))−min(ax(c))=1max(a_x(c…
Description [题目描述]同3545 Input 第一行三个数N,M,Q. 第二行N个数,第i个数为h_i 接下来M行,每行3个数a b c,表示从a到b有一条困难值为c的双向路径. 接下来Q行,每行三个数v x k,表示一组询问.v=v xor lastans,x=x xor lastans,k=k xor lastans.如果lastans=-1则不变.   Output 同3545 [思路] Kruskal+主席树+dfs序 一个叫kruskal重构树的方法QWQ.在kruska…
http://www.lydsy.com/JudgeOnline/problem.php?id=4407 题意: 给下N,M,K.求 思路:  来自:http://blog.csdn.net/ws_yzy/article/details/50670213 #include<cstdio> #include<cmath> #include<iostream> #include<algorithm> #include<cstring> #define…
Description [题目描述]同3545 Input 第一行三个数N,M,Q. 第二行N个数,第i个数为h_i 接下来M行,每行3个数a b c,表示从a到b有一条困难值为c的双向路径. 接下来Q行,每行三个数v x k,表示一组询问.v=v xor lastans,x=x xor lastans,k=k xor lastans.如果lastans=-1则不变.   Output 同3545 Sample Input Sample Output HINT [数据范围]同3545 Sourc…
题意:提前给出\(k\),求\(\sum\limits_{i=1}^n \sum\limits_{j=1}^m gcd(i,j)^k\) 套路推♂倒 \[ \sum_{D=1}^n \sum_{d|D} d^k\mu(\frac{D}{d}) \frac{n}{D} \frac{m}{D} \] 是一个\(g = idk * \mu\)啊,单位幂函数和莫比乌斯函数的卷积! \(g(1) = 1\) \(g(p) = -1 + p^k\) 因为带着\(\mu\),只有sf才有贡献 所以\(p \m…
传送门 一个人多段区间,一样.... 不过国家队论文上说这道题好像不能保证整数解.... #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <cmath> using namespace std; typedef long long ll; ,M=1e4+; ; inline int read(){ ,f=; ;c=getc…