BZOJ 3181 BROJ
像我这种SB还是早点退役。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define maxn 1000050
#define inf 1000000000
using namespace std;
long long k,p,prime[maxn],cnt=,tab[maxn],lim,regis,kr=;
bool vis[maxn];
void get_table()
{
tab[]=;
for (long long i=;i<=maxn-;i++)
{
if (!vis[i])
{
tab[i]=i;
prime[++cnt]=i;
if (i==p) lim=cnt;
}
for (long long j=;j<=cnt && i*prime[j]<=maxn-;j++)
{
vis[i*prime[j]]=true;tab[i*prime[j]]=prime[j];
if (!(i%prime[j])) break;
}
}
}
void dfs(long long x,long long ret,long long tag)
{
if (ret>regis) return;
if (x==lim)
{
kr+=regis/ret*tag;
return;
}
dfs(x+,ret,tag);
dfs(x+,ret*prime[x],-tag);
}
long long check(long long x)
{
regis=x/p;kr=;
dfs(,,);
return kr;
}
void work1()
{
k--;
long long ret=;
for (long long i=;i<=maxn-;i++)
{
if (i*p>inf) break;
if (tab[i]>=p) ret++;
if (ret==k) {printf("%lld\n",i*p);return;}
}
printf("0\n");
}
void work2()
{
long long l=,r=inf,ans=-;
while (l<=r)
{
long long mid=l+r>>,ret=check(mid);
if (ret>=k) {ans=mid;r=mid-;}
else l=mid+;
}
if (ans==-) printf("0\n");
else printf("%lld\n",ans);
}
int main()
{
scanf("%lld%lld",&k,&p);
get_table();
if (p>) work1();
else work2();
return ;
}
BZOJ 3181 BROJ的更多相关文章
- BZOJ 3181([Coci2012]BROJ-最小质因子为p的第k小素数)
3181: [Coci2012]BROJ Time Limit: 10 Sec Memory Limit: 64 MB Submit: 26 Solved: 7 [ Submit][ Stat ...
- [SinGuLaRiTy] 组合数学题目复习
[SinGuLaRiTy] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. [CQBZOJ 2011] 计算系数 题目描述 给定一个多项式( ...
- bzoj AC倒序
Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem ...
- BZOJ 2127: happiness [最小割]
2127: happiness Time Limit: 51 Sec Memory Limit: 259 MBSubmit: 1815 Solved: 878[Submit][Status][Di ...
- BZOJ 3275: Number
3275: Number Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 874 Solved: 371[Submit][Status][Discus ...
- BZOJ 2879: [Noi2012]美食节
2879: [Noi2012]美食节 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 1834 Solved: 969[Submit][Status] ...
- bzoj3181: [Coci2012]BROJ
#include <iostream> #include <cstdio> #include <cstring> #include <cmath> #i ...
- bzoj 4610 Ceiling Functi
bzoj 4610 Ceiling Functi Description bzoj上的描述有问题 给出\(n\)个长度为\(k\)的数列,将每个数列构成一个二叉搜索树,问有多少颗形态不同的树. Inp ...
- BZOJ 题目整理
bzoj 500题纪念 总结一发题目吧,挑几道题整理一下,(方便拖板子) 1039:每条线段与前一条线段之间的长度的比例和夹角不会因平移.旋转.放缩而改变,所以将每条轨迹改为比例和夹角的序列,复制一份 ...
随机推荐
- MYSQL的三种注释
#CREATE SCHEMA `paw-jj` DEFAULT CHARACTER SET utf8 ; -- select * from vrv_paw_terminalinfo /* selec ...
- poj3669 Meteor Shower(BFS)
题目链接:poj3669 Meteor Shower 我只想说这题WA了后去看讨论才发现的坑点,除了要注意原点外,流星范围题目给的是[0,300],到302的位置就绝对安全了... #include& ...
- Python eclipse开发环境搭建
http://jingyan.baidu.com/article/cd4c2979101f02756f6e6064.html http://jingyan.baidu.com/article/1876 ...
- [转]Java FileInputStream与FileReader的区别
在解释Java中FileInputStream和FileReader的具体区别之前,我想讲述一下Java中InputStream和Reader的根本差异,以及分别什么时候使用InputStream和R ...
- linux sort 命令详解
sort是在Linux里非常常用的一个命令,管排序的,集中精力,五分钟搞定sort,现在开始! 1 sort的工作原理 sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按AS ...
- Gramar
一.And 并列关系(and) in addition / and / similarly / likewise / as well as / besides / furthermore / also ...
- bzoj 2037: [Sdoi2008]Sue的小球
#include<cstdio> #include<iostream> #include<algorithm> using namespace std; struc ...
- caches 文件夹删除
模拟器 可以 删除 真机不行
- jQuery初步
1.jQuery开发步骤 jQuery是第三方开源组织基于js写的一款跨主流浏览器的实用库. (1)引用第三方js库文件,<script type="text/javascript&q ...
- 自定义cursor
cursor: url('绝对路径/big.cur'),auto; //通用方式