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:每条线段与前一条线段之间的长度的比例和夹角不会因平移.旋转.放缩而改变,所以将每条轨迹改为比例和夹角的序列,复制一份 ...
随机推荐
- 二级菜单jquery
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Swift和Objective-C混编注意
前言 Swift已推出数年,与Objective-C相比Swift的语言机制及使用简易程度上更接地气,大大降低了iOS入门门槛.当然这对新入行的童鞋们来讲,的确算是福音,但对于整个iOS编程从业者来讲 ...
- Java List的深度克隆
关于java List的深度克隆 List是java容器中最常用的顺序存储数据结构之一.有些时候我们将一组数据取出放到一个List对象中,但是可能会很多处程序要读取他或者是修改他.尤其是并发处理的话, ...
- OUT函数及其熟练使用,split的用法
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- javascript function new this
1. 首先,我们这里把function直接调用时将这个function当做方法来看待,而new function是将function当做类来看待 2. 当把function作为类来使用时,functi ...
- python logger
[loggers] keys=root [handlers] keys=consoleHandler [formatters] keys=simpleFormatter [logger_root] l ...
- 设置正确的post数据格式
之前一直使用苏飞的HttpHelper类来访问网络,用起来一直感觉很爽.使用其工具直接生成访问代码很是方便.直到昨天下午做到需要使用wpf来post两个字段数据到服务器,服务器使用ASP.NET MV ...
- uva 10491
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...
- webApi跨域
<system.webServer> <httpProtocol> <customHeaders> <add name="Access-Contro ...
- visual studio 2013连接Oracle 11g并获取数据:(一:环境搭建)
C# WinForm案例: 目标: visual studio 中点击按钮,就可获取到Oracle中数据表的内容 1.安装Visual Studio 2013 ,推荐如下网址,下载ISO镜像,一路ne ...