【POJ 3292】 Semi-prime H-numbers



打个表

题意是1 5 9 13...这样的4的n次方+1定义为H-numbers

H-numbers中仅仅由1*自己这一种方式组成 即没有其它因子的 叫做H-prime

两个H-prime的乘积叫做H-semi-prime 另一个要求是H-semi-prime仅仅能由两个H-prime组成 即4个H-number 不可由3个或几个H-number构成

筛出来个满足题意的表 把每一个数内满足的个数存起来O(1)输出就可以

代码例如以下:

#include <iostream>
#include <cstdio>
#include <cstring> using namespace std;
const int sz = 1000001; int IsPrim[sz+1];
int p[sz];
int tp; void Init()
{
memset(IsPrim,0,sizeof(IsPrim));//H-numbers都初始化0 即默认都为H-prime
int i,j,cnt;
tp = 1;
for(i = 5; i <= sz; i += 4)
{
for(j = 5; j*i <= sz; j += 4)
{
if(IsPrim[i] || IsPrim[j])//两个数有一个不是H-prime 组合就不为H-semi-prime
IsPrim[i*j] = -1;
else IsPrim[i*j] = 1;//否则组合为H-semi-prime 注意 H-semi-prime就不为H-prime了 因为顺序枚举 后面遍历到的之前肯定会推断一下 故不会漏判
}
}
cnt = 0;
for(i = 1; i <= 1000001; ++i)
{
if(IsPrim[i] == 1) cnt++; p[tp++] = cnt;
}
} int main()
{
Init();
int h;
while(~scanf("%d",&h) && h)
{
h = (h-1)/4*4+1;
printf("%d %d\n",h,p[h]);
}
return 0;
}

【POJ 3292】 Semi-prime H-numbers的更多相关文章

  1. BZOJ 2287: 【POJ Challenge】消失之物( 背包dp )

    虽然A掉了但是时间感人啊.... f( x, k ) 表示使用前 x 种填满容量为 k 的背包的方案数, g( x , k ) 表示使用后 x 种填满容量为 k 的背包的方案数. 丢了第 i 个, 要 ...

  2. 【POJ 1741】Tree

    Tree Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 11570   Accepted: 3626 Description ...

  3. 2292: 【POJ Challenge 】永远挑战

    2292: [POJ Challenge ]永远挑战 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 553  Solved: 230[Submit][ ...

  4. 【POJ 3140】 Contestants Division(树型dp)

    id=3140">[POJ 3140] Contestants Division(树型dp) Time Limit: 2000MS   Memory Limit: 65536K Tot ...

  5. 【POJ 1275】 Cashier Employment(差分约束系统的建立和求解)

    [POJ 1275] Cashier Employment(差分约束系统的建立和求解) Cashier Employment Time Limit: 1000MS   Memory Limit: 10 ...

  6. 【POJ 2486】 Apple Tree(树型dp)

    [POJ 2486] Apple Tree(树型dp) Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 8981   Acce ...

  7. 【POJ 2942】Knights of the Round Table(双联通分量+染色判奇环)

    [POJ 2942]Knights of the Round Table(双联通分量+染色判奇环) Time Limit: 7000MS   Memory Limit: 65536K Total Su ...

  8. 【POJ 2750】 Potted Flower(线段树套dp)

    [POJ 2750] Potted Flower(线段树套dp) Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 4566   ...

  9. 【POJ 2195】 Going Home(KM算法求最小权匹配)

    [POJ 2195] Going Home(KM算法求最小权匹配) Going Home Time Limit: 1000MS   Memory Limit: 65536K Total Submiss ...

随机推荐

  1. (转) 改变UITextField placeHolder颜色、字体 、输入光标位置等

    我们有时需要定制化UITextField对象的风格,可以添加许多不同的重写方法,来改变文本字段的显示行为.这些方法都会返回一个CGRect结构,制定了文本字段每个部件的边界范围,甚至修改placeHo ...

  2. PAT Basic 1039

    1039 到底买不买 小红想买些珠子做一串自己喜欢的珠串.卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖.于是小红要你帮忙判断一下,某串珠子里是否包含了全部自己想要的珠子?如果是,那么 ...

  3. DocView mode 2 -- 快捷键

    ** 启动 C-c C-c    切换DocView和文件内容显示 M-x doc-view-mode    启动主模式 M-x doc-view-minor-mode    启动辅模式 k    k ...

  4. <题解>洛谷P3385 【模板】负环

    题目链接 判断一张图中是否存在关于顶点1的负环: 可以用SPFA跑一遍,存在负环的情况就是点进队大于n次 因为在存在负环的情况下,SPFA会越跑越小,跑进死循环 在最差的情况下,存在的负环长度是“n+ ...

  5. 【06】前端需要注意哪些SEO

    [06]前端需要注意哪些SEO 01,合理的title,description,keywords. 02,语义化的HTML代码.好处,让搜索引擎更好搜索. 03,重要的HTML内容放前面. 04,重要 ...

  6. Matplotlib绘图属性(1)

    [matplotlib颜色.形状.线型等详细配置方法] #1.颜色(三种方法)-color 八种内置颜色及其缩写: b:blue <蓝色> c:cyan <青色> g:gree ...

  7. WordPress 编辑器没有可视化

    第一次安装wordpress后出现文章编辑器只有一行按钮的问题,即使我安装了其他的编辑插件也是一样只有一行, 解决方法: 原来是再Users->All Users 中勾选了Disable the ...

  8. MySQL 子查询优化案例

    开发人员给了一个sql ,结构如下delete from B where ID in (select NID from H where guid='xxx'); 内部sql满足条件的结果集只有一条,但 ...

  9. 数组dome

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  10. xmpp 登录注册小结

    将XMPPStream放在APPDelegate,以便全局访问 #pragma mark - XMPP相关的属性和方法定义 /** * 全局xmppstream,只读属性 */ @property ( ...