上一页 1 2 3 4 5 6 7 8 9 ··· 51 下一页
摘要: 地址:http://acm.hdu.edu.cn/showproblem.php?pid=2197题意:中文。mark:这题一看题感觉应该是简单题,但是想了挺久。一开始看到是这种单输入单输出的,而且n达到10^9那么大,想了一下应该是公式,没啥好的思路,就果断打表,然后丢到oeis.org里,结果发现根本没公式。后来思考了一下,因为每个串所有可能肯定是2^n,设{i1,i2...im}是n的所有因数,可知非本源串的个数是2^n - sum{f[i1],f[i2]...f[im]}。其中f[i]代表长度为i的非本源串个数。这样只要枚举一下递归就可以了。犹豫了很久没写,总觉得复杂度很大。后来写完以 阅读全文
posted @ 2013-05-24 10:13 Seraph2012 阅读(443) 评论(0) 推荐(0) 编辑
摘要: 地址:http://acm.hdu.edu.cn/showproblem.php?pid=1175题意:中文不多说。mark:3WA,各种脑残错误不多说。最后一个竟然是忘记写return 0。无法直视。说下算法,这题感觉既可以dfs,也可以bfs,但是都不是特好写。好在转弯数限定为2次。那么可以尝试一下比较生猛的写法:先把起点和终点不需转弯直接可达的区域染色(形状大概是2个十字架)。如果这2个区域有重合的地方,自然是YES了。如果没有,扫每一行和每一列,看是否存在2个不同颜色区域之间都没有别的棋子(全0)的情况,如果有,则YES。否则NO。代码: 1 # include <stdio.h 阅读全文
posted @ 2013-05-21 22:36 Seraph2012 阅读(432) 评论(0) 推荐(0) 编辑
摘要: 地址:http://acm.hdu.edu.cn/showproblem.php?pid=2483题意:给一个n*m的0-1矩阵。在里面找符合条件的方阵。条件有3个:1.方阵的4条边上全为1;2.方阵内(除了4条边的)0和1的个数之差不超过1;3.方阵大小至少为2*2。问能找到几个这样的方针。mark:最朴素的做法是枚举所有的1当做要找的方阵左上角的元素。然后判断四边是否全为1,再统计内部0和1的个数。但是每次判断边上的1和计算内部1的数量复杂度太高,肯定是不行的。我们用一个数组sum[i][j]表示从矩形左上角到(i,j)这个位置里1的个数。在计算区域内1的个数的时候可以利用这个sum[i] 阅读全文
posted @ 2013-05-17 15:30 Seraph2012 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 地址:http://acm.hdu.edu.cn/showproblem.php?pid=2717题意:在x坐标上,农夫在n,牛在k。农夫每次可以移动到n-1, n+1, n*2的点。求最少到达k的步数。mark:bfs。范围是2*k内。因为如果当前点大于k,执行2*n和n+1的操作都不是最佳选择。代码: 1 # include <stdio.h> 2 # include <string.h> 3 4 5 int vis[200010] ; 6 int q[200010] ; 7 8 9 int bfs (int n, int k)10 {11 int f = 0, r 阅读全文
posted @ 2013-05-15 12:02 Seraph2012 阅读(936) 评论(0) 推荐(0) 编辑
摘要: 最近在研究ZIP,其中涉及到CRC循环冗余校验,是对未压缩数据的CRC验证。CRC网上代码比较乱,整理了一个发一下。# include <stdio.h># include <string.h>typedef unsigned int uint ;uint POLYNOMIAL = 0xEDB88320 ;int have_table = 0 ;uint table[256] ;void make_table(){ int i, j, crc ; have_table = 1 ; for (i = 0 ; i < 256 ; i++) for (j = 0, t. 阅读全文
posted @ 2013-02-26 17:32 Seraph2012 阅读(12369) 评论(1) 推荐(0) 编辑
摘要: 不得不说vim是一个神器,只不过学习曲线比较长,需要慢慢熟悉。 这篇文章主要记录一些vim的配置过程。 windows下的vim用的最多的自然是gvim了。下载安装都很方便。 下载地址:ftp://ftp.vim.org/pub/vim/pc/gvim73_46.exe 按照提示安装好以后,除了常规 阅读全文
posted @ 2013-01-14 11:27 Seraph2012 阅读(246) 评论(1) 推荐(0) 编辑
摘要: 地址:http://poj.org/problem?id=1004题意:输入12个月的财务状况,求平均值。代码: 1 # include <stdio.h> 2 3 4 int main () 5 { 6 int i ; 7 double sum, num ; 8 for (i = 0 ;i < 12 ; i++) 9 {10 scanf("%lf", &num) ;11 sum += num ;12 }13 printf ("$%.2f\n", sum/12.0) ;14 return 0 ;15 } 阅读全文
posted @ 2012-11-19 09:13 Seraph2012 阅读(126) 评论(3) 推荐(0) 编辑
摘要: 地址:http://poj.org/problem?id=1000题意:输入a和b,输出a+b。代码: 1 # include <stdio.h> 2 3 4 int main () 5 { 6 int a, b ; 7 scanf ("%d%d", &a, &b) ; 8 printf ("%d\n", a+b) ; 9 return 0 ;10 } 阅读全文
posted @ 2012-11-19 09:04 Seraph2012 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 真正的ACMer上海交大 戴文渊 大牛写的东西,建议大家看看 yiyiyi4321 2007-07-10 13:49:30.0http://dwyak.spaces.live.com/?_c11_BlogPart_BlogPart=blogview&_c=BlogPart&partqs=cat%3d%25e7%25ab%259e%25e8%25b5%259bup yiyiyi4321 2007-08-27 18:46:01.0TEAM对我意味着什么 ceshi 2008-04-16 22:25:16.0这个世界是假的,而TEAM是真的。什么是“假”?活在这个世界上,要说很多违心 阅读全文
posted @ 2012-11-01 23:20 Seraph2012 阅读(534) 评论(0) 推荐(2) 编辑
摘要: 不知不觉就水到450题了,距离12月12日第一题开始,几乎正好差半年。hh半年900题啊,我半年只有他一半啊,果然还是太菜了。啊啊啊啊啊,还有说好的背单词呢!!! 阅读全文
posted @ 2012-06-10 11:16 Seraph2012 阅读(229) 评论(6) 推荐(1) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 51 下一页