上一页 1 ··· 3 4 5 6 7 8 9 下一页

2012年8月19日

Letter Grid(动规)

摘要: Consider the following letter grid:ERATATSRAUTUThere are 7 ways to read the word TARTU from the grid:ERATATSRAUTUERATATSRAUTUERATATSRAUTUERATATSRAUTUERATATSRAUTUERATATSRAUTUERATATSRAUTUGiven a letter grid and a word, your task is to determine the number of ways the word can be read from the grid. Th 阅读全文

posted @ 2012-08-19 19:54 yumao 阅读(197) 评论(0) 推荐(0) 编辑

删数问题

摘要: 给你一个N位数,从中去掉K个数字,能得到的最大的数是多少?INPUT有T测试数据,每组测试数据第一行由N和K2个整数组成(1 ≤ K < N ≤ 500 000),第二行是N位数(非0开头)。OUTPUT对每组数据输出去掉K个数字得到的最大数。SAMPLE TESTSINOUT34 219247 3123123410 44177252841943234775841贪心思想: 从头遍历k次,每次遇到不递减的数字,就将其删除掉,并结束该次循环。每次循环都如上所做。 其中如果遇到从头到尾一直都是递减的,则删除最后一个数字。代码实现:#include<iostream>#includ 阅读全文

posted @ 2012-08-19 19:40 yumao 阅读(176) 评论(0) 推荐(0) 编辑

2012年8月10日

三角形的有向面积

摘要: 三角形的有向面积: Double area(double x0,double y0,double x1,double y1,double x2,double y2){ Return xo*y1+y0*x2+x1*y2-x2*y1-x0*y2-x1*y0; } 上面得到的即是顶点为A(x0,y0),B(x1,y1),C(x2,y2)的三角形的有向面积S的两倍; 如果area》0,则说明ABC三点呈现逆时针排列; 如果area=0,则ABC三点共线; 如果area《0,则说明ABC三点呈现顺时针排列。这个定理:① 计算三角形的面积。 ② 判断点是否在三角形的内部。 阅读全文

posted @ 2012-08-10 10:53 yumao 阅读(1333) 评论(0) 推荐(0) 编辑

正整数的素数表达式

摘要: 一个正整数一定可以用若干个素数的幂积相乘表示。eg. N=2^3*3^2*7^0……;那么怎么求一个正整数的素数表达式:首先先求出范围内所有的素数,并存在数组中: Int m; For(int i=0;i<INF;i++){ if(isprime(i)){ Prime[m]=i; M++; } }然后,求正整数的素数表达式: Cin>>n; Int n1=n; For(int j=0;j<n;j++){If(n1==0)Break; while(n1%prime[j]==0){ p[j]++; N1/=prime[j]; } If(j>max) Max=j; } 阅读全文

posted @ 2012-08-10 10:52 yumao 阅读(260) 评论(0) 推荐(0) 编辑

2012年8月8日

关于memset,memcpy的用法

摘要: 1. 最常用的还是: memset(a,0,sizeof(a)); 需要注意的是memset()一般用于字节填充,即a一般是char型; 当a为char时,可以被赋任何值。而如果a是其他的类型,那么a就只能被全部赋予0或者-1,如果是其他的值,就不能保证被全部赋予。2. 接下来时memcpy(d,s,n); 其中d为指定的复制到的地方,而s是被复制的地方,n为复制的长度。并且,复制和被复制的区域不能重合。 memcpy与strcpy比较相像,区别是strcpy只针对字符串的复制,而memcpy为内存的复制,可以复制包括字符串的其他类型,比如说:结构体等。 memcpy可以指定长度,而strcp 阅读全文

posted @ 2012-08-08 10:53 yumao 阅读(162) 评论(0) 推荐(0) 编辑

用STL查询区间长度

摘要: 用STL查询区间的长度: 大于等于a的第一个元素下标d 为STL中a的lower_bound值,如果所有的元素都小于a,则d=n,为把不存在的元素看成无穷大。 小于等于b的最后一个元素的下一个下标r 为b的upper_bound值,如果所有的元素都大于b,则r=0。求集合v中区间[a,b]的长度:eg. #include<algorithm> Sort(v,v+n); Int times=upper_bound(v,v+n,b)—lower_bound(v,v+n,a); 阅读全文

posted @ 2012-08-08 10:53 yumao 阅读(157) 评论(0) 推荐(0) 编辑

2012年7月14日

卷包裹法 得到凸包

摘要: 给定一系列的点,求出这些点中可以组合得到的最大的凸多边形的点集。即求凸包;① 先从这一系列的点中找到y值最小的点,如果存在相等的y值,则取x值最小的点。② 再根据其他各点与最小的点的向量之间的叉积的关系,对其他各点进行排序。http://www.cnblogs.com/Booble/archive/2011/02/28/1967179.html网址中的博客中说明的十分清楚;两个向量:a bif(a x b>0)则说明向量a在b的外侧,否则说明b在a的外侧。将以上各点与最小点的向量进行叉乘,如果一个点与任何一个点的值都>0,那么该点在最外侧,为第二小点。如有两点的向量的乘积为0,则比 阅读全文

posted @ 2012-07-14 11:41 yumao 阅读(565) 评论(0) 推荐(0) 编辑

中国剩余定理

摘要: 求一个数m,使: m%a=a1; m%b=b1; m%c=c1;即使:m1%a==1(m1从1枚举到a) m2%b==1 m3%c==1 m=(m1*b*c*a1+m2*c*a*b1+m3*a*b*c1)/a*b*c 阅读全文

posted @ 2012-07-14 11:08 yumao 阅读(101) 评论(0) 推荐(0) 编辑

树状数祖 hdu 1541

摘要: 树状数组与线段树的作用十分的相似,基本上只要是线段树能解决的问题,用树状数组都能解决。(不过个人比较偏向树状数组一点点,因为结构比线段树简单,并且所需的空间比树状数组更加的少)树状数组一般用于动态数据的统计。并且是通过0~i 区间i 的二进制的结构来表示该区间的一种统计性质。每一个节点的单独的性质用一个数组来统计表示,而有关二进制的表示用另一个数组来统计表示。eg.已知节点1~i 的单个值为a[1]~a[i], 另有一个数组表示与节点二进制的性质相关的值tree[i]~tree[i];现求sum[j](1<=j<=i), 表示从a[1]+....+a[j];则:sum[5]=sum 阅读全文

posted @ 2012-07-14 10:59 yumao 阅读(147) 评论(0) 推荐(0) 编辑

2012年7月11日

summer competition D 一些数学值的求法

摘要: 题目:Problem DGrassLandDescriptionFarmer John has a grass land, which is very large that when you stand in the middle of it, you can not see its edge.Farmer John had built his barn in the center of the grass land, which is rectangle shape of w × h. And now in the barn lives his favourate cow Bess 阅读全文

posted @ 2012-07-11 17:11 yumao 阅读(306) 评论(1) 推荐(0) 编辑

上一页 1 ··· 3 4 5 6 7 8 9 下一页

导航