数学
qq172108805
这个作者很懒,什么都没留下…
展开
-
zzuli 1661--0的个数
#includetypedef __int64 lint;lint jie[]={1,10,100,1000,10000,100000,1000000,10000000,100000000,1000000000,10000000000};lint count(lint n){ int i; lint sum=0,left,m; for(i=1;i<11;i++) {原创 2012-04-29 19:54:23 · 479 阅读 · 0 评论 -
hdu 4609 3-idiots FFT
/*hdu 4609 3-idiots FFThttp://www.cnblogs.com/kuangbin/archive/2013/07/24/3210565.html*/#pragma warning(disable : 4786)#pragma comment(linker, "/STACK:102400000,102400000")#include #include #i原创 2013-09-30 19:01:48 · 1028 阅读 · 0 评论 -
hdu 1724 Ellipse simpson积分
/*hdu 1724 Ellipse simpson积分求椭圆的部分面积simpson积分法 http://zh.wikipedia.org/zh-tw/%E8%BE%9B%E6%99%AE%E6%A3%AE%E7%A7%AF%E5%88%86%E6%B3%95*/#include#includeconst double eps=1e-8;inline double jue(do原创 2013-09-29 22:14:55 · 999 阅读 · 0 评论 -
hdu 4465 Candy - 概率 log 组合数
/*两个瓶子里都装了n个糖果;从第一个瓶子拿的概率是p当你再拿糖果的时候,发现瓶子空了求这时候另外一个瓶子的剩余的糖果的数量的期望计算过程会造成上溢和下溢用log就不会了*/#include#includedouble lognjie[400010];double logC(int n,int m){ return lognjie[n]-lognjie[m]-原创 2013-06-01 16:47:44 · 2108 阅读 · 0 评论 -
hdu 1717 小数化分数2
#include#include#includeint zui(__int64 zi,__int64 mu){ __int64 z; do { z=mu%zi; mu=zi; zi=z; }while(zi!=0); return mu;}void shu(__int64 zi,__int64 mu){ __int64 a; a=zui(zi,mu); i原创 2013-05-15 20:02:13 · 784 阅读 · 0 评论 -
hdu 2576 Another Sum Problem 水题
/*hdu 2576 Another Sum Problem1^2+2^2+3^2... n(n+1)(2n+1)/6公式很好推n(n+1)(n+2)/6但是为什么需要先/2然后再/3呢?求解答*/#include#define N 20090524int main(){ __int64 t,a,ret; scanf("%I64d",&t); while(t--)原创 2013-04-12 20:56:48 · 1079 阅读 · 1 评论 -
hdu 2398 Savings Account - 数学
/*hdu 2398 Savings Account - 数学*/#include#includeusing namespace std;int main(){ double x,y,a,l; int ret; while(cin>>x>>l>>y) { l=1+l/100; a=log(y/x)/log(l);//l^a=y/x ret=ceil(a);//向上原创 2013-04-09 13:19:27 · 1069 阅读 · 0 评论 -
hdu 3422 Triangle - 本原勾股数组 (st,(s^2-t^2)/2,(s^2+t^2)/2)
题意很简单,给定n,求4*(1+..+n)为直角三角形一直角边长的三角形中,周长最小的三角形的斜边和(周长-3),且三边长为整数且三边长无公因子。 ps:因为题目中说是摆小球,所以周长会吧三个顶点都算了两遍。首先4*(1+...+n)=2n^2+2n,如果一个直角三角形三边长为整数且无公因子,则三个数为本原勾股数组,其通项为(st,(s^2-t^2)/2,(s^2+t^2)/2),所以推导原创 2013-04-04 17:05:20 · 1715 阅读 · 1 评论 -
hdu 4015 Mario and Mushrooms - 组合数学
/*好蘑菇和烂蘑菇,好蘑菇增加1个血,烂蘑菇减m个血开始的时候0个血,最后一个血,所以 好蘑菇的数量是m*k+1这题很明显,如果这个序列合法,则他的任意一个序列的循环移动都是不合法的合法序列的第一个必须是好蘑菇 最后一个必须是烂蘑菇,所以正向负向循环移动都是不合法的*/#include int main(){ int m,k; int t,s=0;原创 2013-04-03 20:19:22 · 1260 阅读 · 1 评论 -
poj 1423 Big Number
求n!有个公式把n!对10求对数,向上取整就得到位数了#include#includedouble p=acos((double)-1),e=exp((double)1);int main(){ int n,z; double a; scanf("%d",&n); while(n--) { scanf("%d",&z); a=0.5*log10(2*z原创 2011-07-22 09:00:19 · 410 阅读 · 0 评论 -
hdu 2854 Central Meridian Number--数论--暴力--推导
这题两种做法:1.暴力(本地暴力也可以,OJ上暴力也可以)2.推导(这儿有个推导过程链接,没看懂)#includebool flag[5005];void init(){ int i,j,n,x,y; for(n=1;n<=5000;n++) { for(i=1;i<=1000;i++) { for(j=1;j<=1000;j++) { x=原创 2012-07-25 19:45:25 · 926 阅读 · 0 评论 -
异或最大--位运算--~非--zzuli1675
/*求一些数字中 两两异或 的最大值用树吧个数字存起来(二叉树,根据其各位来分支)某数跟它的反(~a)的异或最大,所以要从高位向低位寻找尽量满足其反的数字,他们的异或最大*/#includestruct node{ int l,r; __int64 a;}p[200000];int n,yong;__int64 max,a;void build(){ int i=0原创 2012-07-16 19:57:44 · 807 阅读 · 0 评论 -
可以正处n的区间和-zzuli177
/*求同余,记录相关信息*/#include#includeint m[1000010];int n;int main(){ int i,shang,a,f,ji,yo,yu; while(scanf("%d",&n)!=EOF) { shang=0; f=0; memset(m,-1,sizeof(m)); m[0]=0; for(i=1;i<=n原创 2012-07-16 20:24:45 · 706 阅读 · 0 评论 -
pick定理--zzuli1668
/***主要用了Pick定理:area=edge/2+in-1,证明如下:* 假设整个平面是一个无穷大的铁板;在0时间,每个格点上都有一个单位的热量。* 经过无穷长时间的传导后,最终这些热量将以单位密度均匀地分布在整个铁板上。* 下面我们试着求多边形P内的热量。* 考虑多边形的每一条线段e:它的两个端点均在格点上,因此线段e的中点是整个平面格点的对称中心,* 因而流经该线段的热量收支平原创 2012-07-16 20:23:37 · 386 阅读 · 0 评论 -
0的个数
#includetypedef __int64 lint;lint jie[]={1,10,100,1000,10000,100000,1000000,10000000,100000000,1000000000,10000000000};lint count(lint n){ int i; lint sum=0,left,m; for(i=1;i<11;i++) { left=原创 2012-07-16 20:22:49 · 413 阅读 · 0 评论 -
任意次方--精度--zzuli1327
#include#includeint main(){ __int64 a,b; while(scanf("%I64d",&a)!=EOF) { a=a*a; b=(int)pow((double)a,1.0/3); b++; if(b*b*b<=a) { printf("%I64d\n",a-b*b*b); }else if((b-1)*(b-1)*(b原创 2012-07-16 20:22:13 · 376 阅读 · 0 评论 -
两个日期间相隔的天数--zzuli1654
/*两个日期之间相隔的天数*/#includeint y1,y2,m1,m2,d1,d2;int tian[2][13]={0,31,28,31,30,31,30,31,31,30,31,30,31,0,31,29,31,30,31,30,31,31,30,31,30,31};int from(int n,int y,int t){ int f,ret=t,i=y-1; if(n原创 2012-07-16 20:19:06 · 1004 阅读 · 0 评论 -
母函数
普通母函数解决的大部分是组合问题如:有1克、2克、3克、4克的砝码各一枚,能称出哪几种重量?每种重量各有几种可能方案? (1+x)(1+x^2)(1+x^3)(1+x^4)=(1+x+x^2+x^4)(1+x^3+^4+x^7)=1 + x + x^2 + 2*x^3 + 2*x^4 + 2*x^5 + 2*x^6 + 2*x^7 + x^8 + x^9 + x^原创 2012-07-16 19:03:36 · 507 阅读 · 0 评论 -
hdu 1402 A * B Problem Plus FFT
/*hdu 1402 A * B Problem Plus FFT这是我的第二道FFT的题第一题是完全照着别人的代码敲出来的,也不明白是什么意思这个代码是在前一题的基础上改的做完这个题,我才有点儿感觉,原来FFT在这里就是加速大整数乘法而已像前一题,也是一个大整数乘法,然后去掉一些非法的情况*/#pragma warning(disable : 4786)#pragm原创 2013-09-30 19:02:37 · 1245 阅读 · 0 评论