lightoj1259 【素数预处理】
题意:
输出有多少对满足条件的(a,b)
both a and b are prime;
a+b=n
a<=b;
思路:
一开始想的就是打表一个素数数组,然后还去二分。。mdzz。。直接判断一下n-A[I]是不是素数和是不是>=A[I]就好了。
都能标记何必二分…= =、我比较蠢。。
然后是内存爆了。。
后来标记的需要开bool,而且那个记录素数的数组最好开小;
以后int a[1e7]要么就不开,要么就开bool类型。。。谨慎。。
PS:亲测,int a[1e7]爆内存,32778kb= =
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N=1e7+10;
bool isPrime[N];
int sum[N/10];
int num;
void init()
{
memset(isPrime,0,sizeof(isPrime));
for(int i=2;i<=10000000;i++)
{
if(isPrime[i]) continue;
for(int j=i+i;j<=10000000;j+=i)
{
isPrime[j]=1;
}
}
num=0;
for(int i=2;i<=10000000;i++)
{
if(!isPrime[i])
sum[++num]=i;
}
}
int main()
{
int n;
init();
int T,cas=1;
scanf("%d",&T);
while(T--)
{
scanf("%d",&n);
int ans=0;
for(int i=1;i<=num;i++)
{
if(!isPrime[n-sum[i]]&&(n-sum[i])>=sum[i])
{
ans++;
}
if(sum[i]>=n/2)
break;
}
printf("Case %d: %d\n",cas++,ans);
}
return 0;
}
lightoj1259 【素数预处理】的更多相关文章
- hdoj5317【素数预处理】
//这个很好了...虽然是一般.. int isp[1000100]; int p[1000100]; void init() { int sum=0; int i,j; fill(isp,isp+1 ...
- Codeforces 385C Bear and Prime Numbers(素数预处理)
Codeforces 385C Bear and Prime Numbers 其实不是多值得记录的一道题,通过快速打素数表,再做前缀和的预处理,使查询的复杂度变为O(1). 但是,我在统计数组中元素出 ...
- Miller-Rabin素数检测算法
遇到了一个题: Description: Goldbach's conjecture is one of the oldest and best-known unsolved problems in ...
- 【题解】CF264B Good Sequences
[题解]CF264B Good Sequences 具有很明显的无后效性. 考虑\(dp\). 考虑初始条件,显然是\(dp(0)=0\) 考虑转移,显然是\(dp(t)=max(dp[k])+1\) ...
- 《TC训练赛一》题解!
以下题目标题就是此题题目链接,题目内容为了节省篇幅就不粘上去了.整套题的链接:https://acm.bnu.edu.cn/v3/contest_show.php?cid=8679#info 密码:7 ...
- ECUST_Algorithm_2019_1
简要题意及解析 1001 求\(a+b\). 数据范围很大,用int或者long long不行.Java和python可以使用大数直接写. 高精度加法:做法就是将数据读入字符串中,数组的每一个单元存一 ...
- qbxt五一数学Day3
目录 1. 组合数取模 1. \(n,m\le 200\),\(p\) 任意 2. \(n,m\le 10^6\),\(p\ge 10^9\) 素数 3. \(n,m\le 10^6\),\(p\le ...
- LightOJ-1259 Goldbach`s Conjecture 数论 素数筛
题目链接:https://cn.vjudge.net/problem/LightOJ-1259 题意 给一个整数n,问有多少对素数a和b,使得a+b=n 思路 素数筛 埃氏筛O(nloglogn),这 ...
- UVA-10200-Prime Time-判断素数个数(打表预处理)+精度控制
题意: 给出a.b区间,判断区间内素数所占百分比 思路: 注意提前打表和控制精度1e-8的范围足够用了 细节: 精度的处理 判断素数的方法(且返回值为bool) 数据类型的强制转换 保存素数个数 提前 ...
随机推荐
- 基于chyh1990/caffe-compact在windows vs2013上编译caffe步骤
1. 从https://github.com/chyh1990/caffe-compact下载caffe-compact代码: 2. 通过CMake(cmake-gui)生成vs2 ...
- RS-485接口的防护电路设计
RS-485总线标准是安防系统设备上应用最为广泛的物理层协议之一.RS-485的主要特点:支持远距离传输,长达4000英尺:双向信号差分传输,提高信号的噪音抑制能力,并且允许一条总线上可以挂接多个发射 ...
- if __name__ == "__main__": 怎么理解?
参考:https://www.cnblogs.com/Neeo/p/9504779.html 总结: 1.防止模块间调用时,执行被调用模块实例化执行,换句话说,就是不要执行调用模块原来实例化的内容 2 ...
- java手写单例模式
1 懒汉模式 public class Singleton { private Singleton singleton = null; private Singleton() { } public S ...
- Detours3.0 文档翻译
http://blog.csdn.net/buck84/article/details/8289991 拦截二进制函数 Detours库能够在执行过程中动态拦截函数调用.detours将目标函数前几个 ...
- ORACLE函数之单行转换函数
1 ASCIISTR 格式:ASCIISTR(C) 说明:将字符串C转换为ASCII字符串,即将C中的ASCII字符保留不变,但非ASCII字符则以ASCII表示返回 举例: ...
- C++设计模式实现--策略(Strategy)模式
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/L_Andy/article/details/30489331 一. 举例说明 曾经做了一个程序,程序 ...
- ThinkPHP 静态页缓存
通过对ThinkPHP的学习,记录下静态页的缓存步骤,以便以后查阅: 1.配置配置文件/Admin/Conf/config.php代码如下: /*静态缓存*/ 'HTML_CACHE_ON'=> ...
- Ubuntu增加Swap分区大小
参考:http://blog.csdn.net/mznewfacer/article/details/7334592 以下摘自上述地址内容,并做了点小修改: 1.首先用命令free查看系统内 Swap ...
- python基础知识踩点
1.注释 在python中,注释是以任何存在于#右侧的文字,其主要作用是写给程序读者看的笔记. 例如 单行注释 >>print("hello world") #这是一个 ...