Light oj-1259 - Goldbach`s Conjecture
分拆素数和,本来很水的题,但硬生生跪了18+。这题卡内存实在太凶残了,MLT了10+,TLE了10+。
题意:在1e7内验证哥德巴赫猜想,求一个数拆分成两个不同的素数和有多少中方法。
思路:打表。就是打表。
但为什么会MLE呢,因为1e7的数组实在太大了,于是换了好几种写法优化,但又面临着TLE的囧境。在山穷水尽之际百度了一遍题解,坑爹竟然就是1e7的数组打表。但我为什么MLE了呢,于是找啊找,我用的int数组,初始化用的-1,但bool型的数组直接初始化为1。are you kidding me ?多次验证之后发现只有bool型的能过,其他的果断MLE。
那就是说:bool型的数组可以达到1e7,相比int型数组要更优一点。
const int N=1e7+10;
int len=0,b[N/10];//int 数组开这么大可能会被卡。
bool a[N];
void init()
{
memset(a,1,sizeof(a));
a[0]=a[1]=0;
for(int i=2; i<N; i++)
if(a[i])
{
b[len++]=i;
if(N/i<i) continue;
for(int j=i*i; j<N; j+=i) a[j]=0;
}
}
int main()
{
init();
int t,n,t1=1;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
int ans=0;
for(int i=0; i<len&&b[i]<=n/2; i++)
if(a[n-b[i]]) ans++;
printf("Case %d: %d\n",t1++,ans);
}
return 0;
}
哎,也算是学到了!!
Light oj-1259 - Goldbach`s Conjecture的更多相关文章
- LightOJ - 1259 - Goldbach`s Conjecture(整数分解定理)
链接: https://vjudge.net/problem/LightOJ-1259 题意: Goldbach's conjecture is one of the oldest unsolved ...
- LightOJ 1259 Goldbach`s Conjecture (哥德巴赫猜想 + 素数筛选法)
http://lightoj.com/volume_showproblem.php?problem=1259 题目大意:给你一个数n,这个数能分成两个素数a.b,n = a + b且a<=b,问 ...
- LightOJ 1259 Goldbach`s Conjecture 水题
不想说了 #include <cstdio> #include <iostream> #include <ctime> #include <vector> ...
- LightOJ 1259 Goldbach`s Conjecture 素数打表
题目大意:求讲一个整数n分解为两个素数的方案数. 题目思路:素数打表,后遍历 1-n/2,寻找方案数,需要注意的是:C/C++中 bool类型占用一个字节,int类型占用4个字节,在素数打表中采用bo ...
- LightOJ1259 Goldbach`s Conjecture —— 素数表
题目链接:https://vjudge.net/problem/LightOJ-1259 1259 - Goldbach`s Conjecture PDF (English) Statistic ...
- Goldbach`s Conjecture(LightOJ - 1259)【简单数论】【筛法】
Goldbach`s Conjecture(LightOJ - 1259)[简单数论][筛法] 标签: 入门讲座题解 数论 题目描述 Goldbach's conjecture is one of t ...
- Goldbach's Conjecture
Goldbach's Conjecture Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I ...
- Poj 2262 / OpenJudge 2262 Goldbach's Conjecture
1.Link: http://poj.org/problem?id=2262 http://bailian.openjudge.cn/practice/2262 2.Content: Goldbach ...
- poj 2262 Goldbach's Conjecture(素数筛选法)
http://poj.org/problem?id=2262 Goldbach's Conjecture Time Limit: 1000MS Memory Limit: 65536K Total ...
随机推荐
- 转 ORACLE数据库ORA-00392 log 4 of thread 1 is being cleared, operation not allowed错误
现象: 数据库在做to-time recovery, 时候,restore and recover 都是正常的,但是最后一步open resetlogs 报错如下 ORA-00392 原因: 因为是在 ...
- SqlParameter 操作 image 字段
public static void AddEmployee( string lastName, string firstName, string title, DateTime hireDate, ...
- RHEL6.5----LVS(NAT)
主机名 IP 所需软件 master 192.168.30.130(Nat) 192.168.17.130(VMnet4) ipvsadm node-1 192.168.17.131 http ...
- Python打开目录下所有文件
用Python打开指定目录下所有文件,统计文件里特定的字段信息. 这里是先进入2017-02-25到2017-03-03目录,然后进入特定IP段目录下,最后打开文件进行统计 import os, gl ...
- Android CursorAdapter的使用
CursorAdapter继承于BaseAdapter,为Cursor和ListView连接提供了桥梁. 首先看一下CursorAdapter的部分源码: /** * @see android.wid ...
- DDR SDRAM
DDR SDRAM(Double Data Rate SDRAM)是一种高速CMOS.动态随机访问存储器, 它采用双倍数据速率结构来完成高速操作.应用在高速信号处理系统中, 需要缓存高速.大量的数据的 ...
- Performance engineering introduction
1.Performance Software performance is one of software quality attributes, it equal to efficiency w ...
- laravel核心思想
服务容器.依赖注入.门脸模式 服务容器 容器概念 用来装一个个实例的对象,比如邮件类. IOC控制反转 IOC(Inversion of Control)控制反转,面向对象,可降低代码之间的耦合度,借 ...
- windows session logoff时进行处理动作
目标:Windows session logoff时得到通知,进行一些记录/清理工作 测试平台: win7 x64 logoff时系统会发送WM_ENDSESSION消息,如果某个应用对这个消息的处理 ...
- 微信小程序开发系列六:微信框架API的调用
微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 微信小程序开发系列三:微信小程序的调试方法 微信小程序开发系列四:微信小程序 ...