自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Heu_Ice_Fire的专栏

走在学习编程的路上……

  • 博客(14)
  • 收藏
  • 关注

原创 hdu 2205

题解:交叉回文,所谓交叉的意思就是指各字符串中的字符的相对位置保持不变。 用枚举法即可,然后判断是否为回文。 #include #include #include char s1[55],s2[55]; int MAX(int a,int b){ return a>b?a:b; } int judge(int i,int j,int m,int n) { int ss

2013-10-31 18:39:53 719

原创 hdu 2200

题解:思路很简单 (i-1)*C(i,n),但是,不知道为什么,只有用double 类型 才能AC…… #include int main() { double a,n,b; double sum; double r,z,c; int i,j; while(~scanf("%lf",&n)) { sum=0; f

2013-10-31 16:26:22 576

原创 hdu 2122

题意:DFS数,从1~2147483647,寻找数据,那些是由该数的每一位数字的阶乘组成,比如145=1!+4!+5!. 首先看数字范围很大的,所以要缩小,9!=362880,若一个数是9位数,既是全为9.其阶乘之和仅仅为3265920.所以,长度为9位或者10位数的肯定不行。 那么来看长度为8位数的,如果所有数都为9.则为2903040,7*9!=2540160,所以最大的数肯定不会超过 3

2013-10-31 15:52:20 577

原创 hdu 1691

给跪了,这道题花了一天多的时间,模拟题嘛,并不难,模拟中国象棋,但是考虑不好各种情况,就容易wa了…… 测试了好长时间,慢慢找到的错误。哎。做事要细心认真啊!!! 注意: 帅、士、像的初始位置以及所要到达的位置。 将和帅不能对面。 兵过河之后走向可变。 马、像的走位。 下面是AC代码: #include #include #include int x[2],y[2];

2013-10-25 19:34:13 504

原创 hdu 2199

二分,但是需要卡精度,1e-8.一般此类题目精度需要控制在1e-8~1e-12之间。 #include #include #include const double d=1e-8; double fun(double x) { return 8*x*x*x*x+7*x*x*x+2*x*x+3*x+6; } double search(double target) {

2013-10-24 11:36:01 434

原创 数组排序

给定一个包含1-n的数列,我们通过交换任意两个元素给数列重新排序。求最少需要多少次交换,能把数组排成按1-n递增的顺序,其中,数组长度不超过100。 例如: 原数组是3,2,1, 我们只需要交换1和3就行了,交换次数为1,所以输出1。 原数组是2,3,1,我们需要交换2和1,变成1,3,2,再交换3和2,变为1,2,3,总共需要的交换次数为2,所以输出2。 mark:忘记判断ret

2013-10-23 19:30:30 504

原创 hdu 1054 树形dp

/* 【题意】 给定一棵树,标记一节点,则与该节点所连的边都被标记,问最少需要标记多少个节点使得所有边都被标记; 或者说给定一个树型城堡,在交叉路口放一个士兵,则与该路口相连的路都被守住, 问最少需要派遣多少个士兵来守住这个城堡 dp[father].yes= ( min(dp[child].yes,dp[child].no) 之和) d

2013-10-23 17:38:05 485

原创 素数判断算法 - 拉宾-米勒测试定理(c++实现)

在1000如此小的素数判断,在不考虑效率的情况下可以利用素数的定义来判断 printf("2 ");//2是唯一一个偶素数 for( int a = 3; a <= 1000; a+=2) //步进为2, 因为只有奇数才有可能是素数(已排除了2) { bool bDivision = false; i

2013-10-22 20:41:41 1298

原创 hdu 2203

判断亲和串问题 #include #include char s1[100010]; char s2[100010]; int main() { int len1,len2,i,j,k,flag; while(gets(s1)) { flag = 1; gets(s2); len1 = strlen(s1)

2013-10-21 23:18:13 453

原创 hdu 2197

分析了一下,大概就是{i1,i2...im}是n的所有因数,可知非本源串的个数是2^n - sum{f[i1],f[i2]...f[im]}。其中f[i]代表长度为i的非本源串个数。 为避免重复计算,首先要进行打表。。。 #include #include int dp[2][10010]; int n; int pow(int a,int b) { int r = 1;

2013-10-21 21:14:18 586

原创 hdu 2143

原来 此处的'/'并不是整除,而是可以 3/2=1.5的 =。=纠结 …… #include long long arr[6][3]; int main() { long long a,b,c,i,j,flag; while(~scanf("%I64d%I64d%I64d",&a,&b,&c)) { flag=0; arr[0][

2013-10-21 19:39:10 590

原创 hdu 2112 最短路径

#include #include #include char city[155][35]; int visit[155]; int dis[155][155]; int distance[155]; int main() { int n,i,j,k,min,num,t,s,e,pos,flag; char a[35],b[35]; char start[35],end

2013-10-17 21:10:25 436

原创 每位输出

#include #include int main() { int arr[3]={1,2,3}; int i,j,k; for(i=0;i<3;i++) { char* p=(char *)&arr[i]; for(j=31;j>=0;j--) printf("%d",(arr[i]>>j)&1);

2013-10-15 19:59:15 396

原创 Sudoku Checker

https://code.google.com/codejam/contest/2929486/dashboard #include #include int arr[40][40]; int key[40]; int main() { FILE *file; int T,N,i,ncase=1,j,flag,x,y; freopen("C:\\Users

2013-10-13 11:24:54 479

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除