随笔分类 -  数学题-技巧-思维

1
摘要:/*题意:给你二个区间[a,b]和[c,d]分别从中选一个数x和y使的(x+y)%p=m;可以这样来求,先求出(0->b和0->d区间段的值)-(区间0->a-1和0->d的值)-(区间0->b和0->c-1的值)+(0->a-1和0->c-1)的值而且发现有这样的规律对于连个区间的末端值a和b来说... 阅读全文
posted @ 2014-11-07 18:05 HYDhyd 阅读(176) 评论(0) 推荐(0)
摘要:/*参看博客地址:http://blog.csdn.net/oceanlight/article/details/7857713重点是取完最优的后剩余的rest=n%lcm+lcm;中性价比小的数目num#include#include#define ll __int64ll gcd(ll a,l... 阅读全文
posted @ 2014-11-03 16:56 HYDhyd 阅读(200) 评论(0) 推荐(0)
摘要:/*普通的二分不好写,反正我没写出来,这题核心需要求出绝对值最小公式sum=|x+10|+|x+5|+|x+1|+|x-2|+|x-6|;sumx[1]=-10;sumx[2]=-15;sumx[3]=-16;sumx[4]=-14;sumx[5]=-8; 对于第3个点sum=(-1)*3-su... 阅读全文
posted @ 2014-11-01 14:30 HYDhyd 阅读(234) 评论(0) 推荐(0)
摘要:import java.io.*;import java.math.*;import java.util.*;import java.text.*;public class Main{ public static void main(String[] args) { ... 阅读全文
posted @ 2014-09-27 19:54 HYDhyd 阅读(185) 评论(0) 推荐(0)
摘要:/*三个点的话 A--D--B | C dis(AD)=(AB+AC-BC)/2;拓展到到n个点 每次去叶子节点,先去掉与A相连长度最小的。 将他们的长度加起来。*/#include#define N 110i... 阅读全文
posted @ 2014-09-26 11:11 HYDhyd 阅读(147) 评论(0) 推荐(0)
摘要:/*注意两点1.从后往前找互补的,刚开始我找的是相邻的但是这个例子就不行101 1102.因为时累加所以sum可能会超出int范围,这个很重要。*/#include#define N 110000#includeint a[N];int vis[N];int power(int u) { int ... 阅读全文
posted @ 2014-09-25 14:00 HYDhyd 阅读(135) 评论(0) 推荐(0)
摘要:#includeint main(){ __int64 h,a,b,k,j=0; while(scanf("%I64d%I64d%I64d%I64d",&h,&a,&b,&k),h||a||b||k) { printf("Case #%I64d: ",++j); ... 阅读全文
posted @ 2014-08-14 18:26 HYDhyd 阅读(91) 评论(0) 推荐(0)
摘要:/*对于本题题意很简单关键在于求杨辉三角时的二项式是没有用到优化,导致超时。对于第n行的二项式的第i个可有第i-1个乘于一个数处于一个数得到,要用到大数,java比较方便。假如n=6,i=4;C(n,i)=C(n,i-1)*(n-i+1)/i;*/import java.io.*;import ja... 阅读全文
posted @ 2014-08-09 17:32 HYDhyd 阅读(153) 评论(0) 推荐(0)
摘要:先看对数的性质,loga(b^c)=c*loga(b),loga(b*c)=loga(b)+loga(c);假设给出一个数10234432,那么log10(10234432)=log10(1.0234432*10^7)=log10(1.0234432)+7;log10(1.0234432)就是log... 阅读全文
posted @ 2014-07-05 09:10 HYDhyd 阅读(258) 评论(0) 推荐(0)
摘要:#includeint main() { int n,m,i,j,k; while(scanf("%d",&n)!=EOF) { k=2; j=0; for(i=2;;i++) { if((2*n+i-i*i)/(2*i)<=0) bre... 阅读全文
posted @ 2014-05-23 09:39 HYDhyd 阅读(123) 评论(0) 推荐(0)
摘要:别人的代码开始自己不知道什么数论解法: ab*ab=(a*10+b)(a*10+b)=a^2*100+2ab*10+b^2 所以the root digital=(a+b)*(a+b); 而数论中的定理:两数之积对9取余数等于两数对9的余数的乘积。 ... 阅读全文
posted @ 2014-05-20 09:46 HYDhyd 阅读(150) 评论(0) 推荐(0)
摘要:#include#define N 11000int a[N];int main() { int i,n; a[1]=0;a[2]=5;a[3]=15;a[4]=20; a[5]=30; for(i=6;i<=10000;i++) a[i]=a[i-1]+10; while(scan... 阅读全文
posted @ 2014-05-17 09:55 HYDhyd 阅读(115) 评论(0) 推荐(0)
摘要:hi.baidu.com/ydlqw/item/120cd21a5afd5becddeeca41?qq-pf-to=pcqq.c2c 阅读全文
posted @ 2014-05-07 22:59 HYDhyd 阅读(104) 评论(0) 推荐(0)
摘要:#include#includeint a[10];int cmp(const void *a,const void *b) {return *(int *)a-*(int *)b;}int main() { int n,m,i,t; scanf("%d",&t); while(t--) { sc... 阅读全文
posted @ 2014-05-07 22:57 HYDhyd 阅读(127) 评论(0) 推荐(0)
摘要:#include#define inf 1000000000#define N 110000int a[N];struct node {int start,end;}b[N];int minn[N];int main() { int n,t,i,j,len; scanf("%d",&t); whil... 阅读全文
posted @ 2014-05-06 16:43 HYDhyd 阅读(132) 评论(0) 推荐(0)
摘要:#include#include#define N 10char s[N][N][N]={{"***","* *","* *","* *","***"},{" *"," *"," *"," *"," *"},{"***"," *","***","* ","***"},{"***" 阅读全文
posted @ 2014-05-06 15:57 HYDhyd 阅读(135) 评论(0) 推荐(0)
摘要:#includedouble h;double tt;void s(long long m,long long n) { long long i,j,sum; j=1; sum=1; for(i=n;i>=n-m+1;i--,j++) { sum*=i; sum/=j; }... 阅读全文
posted @ 2014-05-05 15:57 HYDhyd 阅读(140) 评论(0) 推荐(0)
摘要://假设n个人每个人都做对了两道题,那么要想获奖人数最少的话,那么做题数目肯定最多即全做对的,中间可能会小于零那么没有获奖的#includeint main() { int t,n,m,i,sum; scanf("%d",&t); while(t--) { scanf("%d",&n); ... 阅读全文
posted @ 2014-05-05 15:38 HYDhyd 阅读(110) 评论(0) 推荐(0)
摘要:#include#define inf 1000000000000000#define N 100long long tmp[N][N],ma[N][N];int n;long long min(long long a,long long b){ return acost){ ma[u][v]=c... 阅读全文
posted @ 2014-04-30 12:17 HYDhyd 阅读(171) 评论(0) 推荐(0)
摘要:Problem 2173 NostopAccept: 52Submit: 210Time Limit: 3000 mSecMemory Limit : 32768 KBProblem DescriptionM国有N个城市,H条单向的道路,AekdyCoin从编号为1的城市出发,每经过一条道路要花一个... 阅读全文
posted @ 2014-04-30 10:33 HYDhyd 阅读(199) 评论(0) 推荐(0)

1