摘要: /* * hdu3792.c * * Created on: 2011-9-19 * Author: bjfuwangzhu */#include<stdio.h>#include<string.h>#define nmax 100200int prime[nmax], flag[nmax];int plen, nlen;typedef struct node { int i, value;} node;node Node[nmax];void init() { memset(flag, -1, sizeof(flag)); int i, j; for (i... 阅读全文
posted @ 2011-09-19 17:58 qingyezhu 阅读(169) 评论(0) 推荐(0)
摘要: 转载于:http://hi.baidu.com/ericxieforever/blog/item/3b313d11ba95c4d0a6ef3f1a.html大家都在中学阶段学习了组合数的定义:这个表示的是从n个元素中选取m个元素的方案数。(PS.组合数求模似乎只用在信息学竞赛和 ACM竞赛等计算机编程设计大赛中……,求在现实中的运用)可以知道当n,m取得比较大的时候,组合数可能很大很大 (天文数字?无法度量?)例如 C(100, 50) = 100891344545564193334812497256,于是计算机的 64位整数型已经没法阻止它了!C(1000000000, 500000000) 阅读全文
posted @ 2011-09-19 16:08 qingyezhu 阅读(300) 评论(0) 推荐(0)
摘要: 思路:由于N<=10000 ,所以我们不可能吧集合C中的元素全部算出来O(n^2),显然不行,这样的话,你还没求出集合C就已经TLE,根本没时间求第k大的值。所以我们要换种角度,题目要求我们求集合c中第k大的数(用num_k表示),我们只要找出集合C中<=num_k的元素个数为m=n^2-k+1个即可。这样我们先对A集合与B集合元素进行排序,先锁定集合C中元素的范围,在这个范围里面进行二分,再在这个二分里嵌套二分求<=当前num_k的元素的个数less_num。无限的去逼近num_k。/* * hrbeu1211.c * * Created on: 2011-9-19 * A 阅读全文
posted @ 2011-09-19 13:34 qingyezhu 阅读(190) 评论(0) 推荐(0)
摘要: 转载于:http://blog.csdn.net/xieshimao/article/details/6425099断断续续的学习数论已经有一段时间了,学得也很杂,现在进行一些简单的回顾和总结。学过的东西不能忘啊。。。1、本原勾股数:概念:一个三元组(a,b,c),其中a,b,c没有公因数而且满足:a^2+b^2=c^2首先,这种本原勾股数的个数是无限的,而且构造的条件满足:a=s*t,b=(s^2-t^2)/2,c=(s^2+t^2)/2其中s>t>=1是任意没有公因数的奇数!由以上概念就可以导出任意一个本原勾股数组。2、素数计数(素数定理)令π(x)为1到x中素数的个数19世纪 阅读全文
posted @ 2011-09-19 09:22 qingyezhu 阅读(306) 评论(0) 推荐(0)