自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

This is bill的专属博客

blog做为个人笔记使用,转载如果未贴地址,原作者看到可以联系我,我会将您的地址附上

  • 博客(58)
  • 资源 (15)
  • 问答 (1)
  • 收藏
  • 关注

原创 poj 1477 Box of Bricks

很简单的题目,我看完题到AC大概一共就7、8分钟。。。同样比赛的时候希望遇到不过不太完美的是,我presentation error了一次,原因就是结尾还应该打一个空行。。。如果我继续这么不仔细,真的会吃大亏!吸取教训吧。。。一道很简单的数学问题,思路是:先求平均数,然后求出每个数与平均数的差(绝对值)并累加,最后输出累加和的一半即可AC的代码:#include i

2013-10-31 11:02:03 1362

原创 poj 1450 Gridland

我在之前的博文里面提到过:比赛的时候最怕做字符串处理或者是那种不断WA,却是因为一个字母是小写的题目。。。那像1450这种题就是比赛中最希望碰到的题目。。。这种题就是读懂题目最重要,读懂了题目找到了规律,基本上在10分钟以内可以A掉。。。题目大意:给出一个n×m的矩阵,每个点可以朝上下左右,还有4个斜着的方向走问从某点出发,走遍所有的点的最短距离,每个点只能经过一次很简单的一道题目

2013-10-31 10:13:09 1425

原创 poj 1350 Cabric Number Problem

先写了一个程序测试 1000~9999,四位数中按这种算法第一次减得出的最小值:#include #include using namespace std;int smallDigit(int num){ int a[5]; a[0]=num%10; a[1]=num%100/10; a[2]=num%1000/100; a[3]=num/1000; so

2013-10-30 16:05:48 1230

原创 希尔排序【模板】

希尔排序用了用了更少的时间编出来:#include void Shellsort(int A[],int p,int r){ int d=r-p+1; //将 length(A) 赋给d int i,j,tmp; while(d>=1) { d/=2; for(i=p+d;i<=r;i++) { tmp=A[i]; j=i-d; //从i的前一个步

2013-10-30 15:15:16 1588

原创 快速排序【模板】

快排还是比堆排序的调用简单些,很快敲定了《算导》正文里面的快排 Partition 程序是由 N.Lomuto 提出的,与我们教科书上面的 Partition 不同,教科书上面的程序是由 Hoare 提出的,Hoare 是快排的发明者,很厉害的人!!这两种算法并没有本质上的差别,但是前者的思路更清晰#include //引用地址空间void exchange(int &a,i

2013-10-30 14:54:19 1192

原创 引用传实参

希望传实参时,除了传地址,然后那边用指针接收外,还可以直接用“引用”这种机制,十分方便,而且让代码更加简洁清晰唯一的缺点就是如果只看调用的代码,不知道是不是传实参,不过如果是统一的用法就不会出错了#include //引用地址空间void exchange(int &a,int &b){ int tmp=a; a=b; b=tmp;}int main(){

2013-10-30 14:24:51 1371

原创 堆排序【模板】

很认真地看完了《算导》的排序之前的所有部分,除了算法复杂度那一章的数学要求太高,难以完全驾驭以外,其他的部分还是很好理解的。。。争取把《算导》里面出现的算法都自己实现,制作自己的模板,以后好用。。。堆排序虽然在一般的时候是没有快排好用,但是在优先队列里面很好用,所以也是很有力的武器!这个堆排序模板是我基本完全按照《算法导论》里面自己一个字一个字的敲上去的,调试的时候修改了几个小地方:1.h

2013-10-30 11:42:37 2287

原创 VC++ 6.0 单步调试【写给自己看的调试总结帖】

写给自己看的调试总结帖参考一:先将光标移动到你需要停止的地方,点击一下工具栏中的小手工具,这个时候左边会有一个红色的圆点出现,然后点击“go F5”工具。程序会开始运行,直到运行到你设置的断点处停下来,这个时候你可以在下边的出口中检查你的变量的值 了。如果下面没有你需要的变量,你可以将变量名拖到变量窗口中。如果你的变量窗口没有显示,你可以通过菜单-->查看-->调试窗口--

2013-10-30 11:23:03 2108

原创 数组赋初值和数组传参

我早知道了数组这样为数组赋初值:int a[5]={0}; 这样就都初始化为0或者干脆设全局变量就可以自动初始化为0但是下面的代码可以更方便的为数组赋初值:#include int main(){ int a[5]={55,999}; for(int i=0;i<5;i++) printf("%d ",a[i]); return 0;}运行结果为:55

2013-10-30 09:09:44 1668

原创 poj 2591 Set Definition【OJ实验】

这道题本身比我之前A的题目要简单,我自己另外在OJ上用这道题做了几个有趣一点的实验poj2591只是定义集合的方式不同了而已。。。ans[a2]*2+1,ans[a3]*3+1,还有注意一点就是我改的时候用%I64d不能输入int型的数,OJ会爆Runtime error先贴AC的代码:#include #include using namespace std;int ans

2013-10-29 16:40:59 1303

原创 poj 2545 Hamming Problem

参考别人的思路写的,别人的这种算法很给力!效率很高O(n)的效率#include #include using namespace std;__int64 ans[1000000];__int64 getMin(__int64 a,__int64 b,__int64 c){ __int64 rs=0; rs=a<b?a:b; rs=rs<c?r

2013-10-29 16:01:52 1159

转载 转一篇好文:poj1338 poj2591 poj2545 这三道题

poj1338 poj2591 poj2545 这三道题先来看1338题目定义一种集合,使得其中的元素的素数因子只能是2,3,5即:1, 2, 3, 4, 5, 6, 8, 9, 10, 12, ...要求这个集合的第n个数是多少很直接的想法,我们通过题目的要求预处理算出这样的集合,然后再输出第n个数当然,我们在得到这样的一个数组num[

2013-10-29 15:35:06 1162

原创 poj 2247 Humble Numbers

这道题和1338几乎一模一样不同就是数据量变得更大了,而且多了一个素数 7 参与运算,这道题我用了更“高明”的数字转换技术,用了重定向,可是因为代码太长不能提交,不能用终极打表了,只能另谋他法。。。打表程序:#include #include using namespace std;const int M=5845;int ans[M];int getMin(

2013-10-28 16:14:57 1188

原创 poj 1338 Ugly Numbers【终极打表】

这道题我用的是终极打表的方法。。。。。。。。。。哈哈哈,为了避免代码太长刷屏,把我自己的代码放到最后。。。这道题当我想到这种方法的时候哈哈大笑。。。大家注意亮点【代码长度】:我自己的代码效率很低,所以想到这种方法。。。网上的结题报告多用的是,指针法我的低效代码:#include int ugly[1510];void Process(

2013-10-28 12:42:38 2297

原创 素数筛【模板】

筛法求素数模板每次筛掉倍数,得到的一定是素数。#include #define MAXN 1000002int prime[MAXN]; //用筛法求素数,1代表不是素数(被筛掉)int main(){ //先打出素数表 prime[0]=prime[1]=1; //开始去掉prime[0]和prime[1] int i,j; for(i=2;i<

2013-10-28 10:24:16 1415

原创 四舍五入【模板】

自己写了一个round四舍五入模板:四舍五入代码模板:#include int round(double a){ if(a-(int)(a)>=0.5) return (int)(a)+1; else return (int)(a);}int main(){ double a; int result; while(scanf("%lf",&a

2013-10-28 10:17:25 1213

原创 poj 1326 Mileage Bank【四舍五入】

说实话,这道题虽然不难,但是考人的点还是有的,我WA了一次,后来检查发现了两个错误,看网上的结题报告,发现基本每个人都错了很多次。。。这说明不只是不仔细这么简单。。。这道题有两个考人的点:1.1-500 miles 就说明了 0miles 就不能算跑了路,如果出现 0miles 得算0处理2.就是四舍五入的地方,只可能出现在 “B” 中,任何整数乘以1.5,只可

2013-10-28 09:35:34 1452

原创 关于四舍五入

用 int 的强制转换是直接取下面一个整数,不论是不是 四舍五入。。。贴代码:#include int main(){ printf("5 * 1.5 = %d\n",(int)(5*1.5)); printf("4 * 2.1 = %d\n",(int)(4*2.1)); return 0;}运行结果是:78

2013-10-27 16:49:17 1427

原创 poj 1298 The Hardest Problem Ever

题目是很水的,要注意两点,一个就是字符串必须比放入的数组多一个,如这道题strlen(a)=26,sizeof(a)=27。。。还有一点就是gets()函数可以输入空格,不能输入回车,但是s%不能输入空格,也不能输入回车AC的代码:#include #include char a[27] = {'V','W','X','Y','Z', 'A','B','

2013-10-26 16:43:38 1257

原创 poj 1318 Word Amalgamation

这种字符串的题一定要仔细,不然很容易WA。。。我开始的一种方法不是处理dictionary和sortDis,而是每次都搜索一次,到现在我都还没找到为什么错了。。。后一种代码就是先处理dictionary和sortDis,之后就容易处理了AC的代码:#include #include #include #include using namespace std

2013-10-26 16:07:18 1518 1

原创 strcmp

以下代码成功输出结果:#include #include int main(){ char a[6]="abcde"; char b[6]="zbcde"; if(strcmp(a,b)<0) printf("a比b字典序靠前\n"); return 0;}这说明当a比b字典序靠前时,strcmp

2013-10-26 12:03:50 1152

原创 关于对Floyd算法的思索

这个问题困扰我很久了,终于还是上机得到了证实,实践出真知啊!贴代码#include #define MAX 999999int main(){ //无向无环图的floyd int map[6][6]; int i,j; for(i=0;i<6;i++) for(j=0;j<6;j++) map[i][j]=MAX; //自己到自己的距离是0 f

2013-10-26 09:29:20 994

原创 poj 1250 Tanning Salon

这题不用完全模拟不好做,我放弃用逻辑分析的方法。。错误的分析代码:#include #include int main(){ int n; char Customers[100]; while(scanf("%d",&n)) //n 代表床位数量 { //输入数据 if(n==0) return 0; scanf("%s",Customers

2013-10-25 10:08:43 1281

原创 poj 1248 Safecracker

同样的理解题意很重要,我觉得可能这题作者的本意不是这么水,没那么简单可以暴力过的,但是我是暴力A了。。。网上有用回溯的,字典树的。。。也有5重暴力,反正我是懒得看,暴力我还是有自信自己写的,说不定写的还好一些。。哈哈我这个解法的亮点应该就是转换以后的sort(),这样算出来的一定是最大字典序的。。。一次A题意:给定一个长度为5……12个不同字符组成的字符串,从中选取5个,设为v

2013-10-24 21:14:19 1188

原创 poj 1247 Magnificent Meatballs

这道题主要就是先理解题意就成功了一大半。。。很水的题目题意:就是求当两个人按顺时针方向和按逆时针方向放置肉丸子后,当两个人肉丸子相等时所处的位置。按以下顺序考虑:1.如果肉丸的总数是奇数,那就不用往下考虑了,一定不行2.把总数除以2,然后从host(N=1)开始sum-=seat【i】,一旦sum==0,证明成功;小于0,失败;否则就继续循环。。。一个很简单的数学问题,我看到网

2013-10-24 15:25:41 1358

转载 楼天城楼教主的acm心路历程(作为励志用)

转载的文章,好好加油!说不定什么时候我也可以说:“这题我虽然不会,但是AC还是可以的”。。。利用假期空闲之时,将这几年GCJ,ACM,TopCoder 参加的一些重要比赛作个回顾。昨天是GCJ2006 的回忆,今天时间上更早一些吧,我现在还清晰记得3 年前,我刚刚参加ACM 时参加北京赛区2005 和杭州赛区2005 的情况。2005 年ACM-ICPC——酸甜苦辣

2013-10-22 17:51:27 10471

原创 poj 1207 The 3n + 1 problem

当我看到题目的时候我就感觉到这是一道彻彻底底的水题,因为很像A+B的作风。。。但是看完题目我心里想了想:应该没有那么水吧,可能还是要优化的,暴力可能会TLE。。。但是我暴力过了以后我这样想:。。。。。。。【纯暴力】AC的代码:#includeint Process(int i){ int count=1; while(i!=1) { if(i%2

2013-10-22 16:06:45 1136

原创 poj 2780 Linearity 【高效版 同一条直线上的点】

这道题才真的没有那么的水,可能因为测试数据很多,然后又每个数据有1000个点要处理,用O(n^3)的三重循环直接TLE掉了。。。所以得另想办法,后来参考了一下别人的想法,得用极角排序,一个sort()就可以了,极角为0的因为无法做分母,所以得单独考虑,终于AC。。。AC的代码:#include #include #include using namespace st

2013-10-19 11:57:47 1161

原创 sort()

sort()函数是对连续空间排序,最好用数组首地址和偏移量这种写法,如果用 & 地址就必须完全包括进去不然就出现各种奇怪的结果:用 首地址+偏移量 【正确】#include#include using namespace std;int main(){ int a[5]={6,5,87,7,9}; sort(a,a+5); //最好用这个 //sor

2013-10-19 11:16:00 1054

原创 poj 2606 Rabbit hunt【同一条直线上的点】

我想这道2606在一条线上面杀死兔子和上一题1118的在一条线上面投放炸弹貌似没有什么不同。。。如果硬要扯点不同就是1118没有交代坐标点 的正负,而2606交代了。。。直接在上一题的基础上改了一下就顺利AC。。。AC的代码:#include int x[202],y[202];int main(){ int n; scanf("%d",&n);

2013-10-18 11:01:05 1316

原创 poj 1118 Lining Up【同一条直线上的点】

题意:给出 n 个点的整数坐标(n解题思路:采用几何中的三个点是否在一条直线上判定定理:(yi-yk)/(xi-xk)=(yj-yk)/(xj-xk),除法不能出现分母为0的情况,所以转换为乘法做(而且乘法效率也高些),即:(y[i]-y[k])*(x[j]-x[k])==(y[j]-y[k])*(x[i]-x[k])(i、j、k共线)。暴搜肯定尽量追求不重不漏,重了会超时(我

2013-10-18 10:46:35 1182

原创 poj 1046 Color Me Less

这道题也是一道很水的题,一个简单的数学计算,再就是找到集合中的最小的值就可以了,反正暴搜一遍就可以了,数据量也不大,不然就得sort()了。。。但是还是学得到小技巧,就是     INT_MAX 要用到头文件  ,我试了一下 INT_MAX 的值是 2147483647,就是   int型(有符号)最大的数。。。另外就是读懂题意很重要了,再简单的题目,读不懂题目也白搭这道题目的大致含义

2013-10-18 09:53:17 1166

原创 2013-10-18

这几天学校有很多事没办法脱不开身,又有很多天没有刷题了,迅速捡起来!

2013-10-18 09:16:51 1030

原创 poj 1007 DNA Sorting【逆序对】

终于可以说:没有那么水了(虽然还是很水)。。。。。。关于逆序数的题目,开始用塑料的冒泡排序一直WA,后来自己写一个,终于过了,要求是稳定的!!!!!!!AC的代码:#include #include char DNA[105][55]; //输入原DNA序列int visit[105];int Inversion(int nTh,int len){

2013-10-13 14:04:59 1495

原创 poj 1005 I Think I Need a Houseboat

有一个水题,题目读懂就可以了,千万注意是“半圆”!!!题目大意:已知一个圆心为(0,0),半径随时间增长的位于X轴上方的半圆,初始面积为0,每年的面积增加50,给出一个坐标,求该坐标在第几年被该半圆覆盖。代码:#include int main(){ int n; scanf("%d",&n); int i; double x,y; i

2013-10-13 10:25:19 991

原创 poj 1003 Hangover

我只能说我又刷了一道水题。。。基本题目理解了,就是注意一下强制转换就可以了。题目大意:已知c=1/2+1/3+1/4+....1/(n+1).现给出一个值m,求n的值使得c刚好超过m。AC的代码:#include int main(){ double c; int i; while(scanf("%lf",&c)) { if(c==0) r

2013-10-12 17:09:28 1196

原创 poj 1163 The Triangle【dp】

和POJ3176几乎一模一样(只有row的范围不同,其实可以不用改的,我还是改了一下),都是最简单的那个 dp 动归问题AC的代码:#includeint dp[102][102];inline int max(int a,int b){return a>b?a:b;}int main(){ int n,i,j; scan

2013-10-12 15:59:39 1160

原创 poj 3167 Cow Bowling【dp】

这是一道最最基础的dp题目,还记得当时看刘汝佳写的《入门经典》时,就是拿的这个做例子,不过牛人当然是一笔带过这么简单的例子。状态转移方程为:dp[i][j]+=max(dp[i+1][j],dp[i+1][j+1])思路很清晰AC的代码:#includeint dp[352][352];inline int max(int a,int b){return a>b

2013-10-12 15:48:19 1135

原创 poj 3299 Humidex

其实就是纯粹的数学公式推导,然后就是格式的控制(本人认为题目的难点在此,虽然题目不难,O(∩_∩)O哈哈~),再就是精度问题对于输入的格式控制,因为有字符输入,建议用s%弄,不然总是考虑空格也不方便。。。开始用单个字符 (“%c”,ch) 一直输出不对,后来单步调试才发现是输了一个空格进去,进入了不同的循环。一次AC的代码:#include #include #def

2013-10-12 11:13:56 1183

原创 poj 3006 Dirichlet's Theorem on Arithmetic Progressions 【素数筛】

说实话,题目很长,但是和真正要思考的东西关系不大。。。就用了之前的素数筛的模板,控制了一下输入、输出格式就过了,很水的题,没什么技术含量,我好像也只会用暴搜。。。#include #define MAXN 1000002int prime[MAXN]; //用筛法求素数,1代表不是素数(被筛掉)int main(){ //先打出素数表 prime[0]=pr

2013-10-11 16:48:08 1108

趣配音简易Java网络爬虫 2.0版

趣配音简易Java网络爬虫 2.0版,修复了之前的一些小bug

2015-08-07

简易Java网络爬虫

简易Java网络爬虫,爬虫的目标是趣配音的web页面

2015-08-07

【免费】很小的UML画类图工具很好用

这是一个很好用的画类图的工具,对于学生来说很是好用,小而且很方便,画好类图后海可以直接转换为图片,当然,如果要转换为代码的话需要装插件,不过要是你需要转换成代码的话,不建议使用这个,用些visio之类的还行,然而作为画类图的工具,个人认为是我用到的最方便的,而且很小,也不需要安装

2015-08-03

画UML的超小好用工具 violet 免费下载

画UML的超小好用工具 violet 免费下载,网上有5分下载,但是我觉得好东西应该免费共享,下这个吧

2015-08-02

struts2+myeclipse 入门级例程

struts2+myeclipse 入门级例程 非常适合初学者学习struts

2014-03-31

《算法导论原书第3版》(高清正宗中文版).pdf

网上看到很多第三版的打着中文版的旗号,下载了却是英文原版,很坑爹(笔者中过很多枪,终于找到这一版,很清晰),为了改变这个现象,我把找到的中文版放上来,分数也比较中肯,大家多多下载支持支持我!!

2013-10-06

8051系列单片机C程序设计完全手册 part4

因为CSDN有大小限制,我把他分成几部分,大家可以通过评论返回分数

2013-02-03

8051系列单片机C程序设计完全手册 part3

因为CSDN有大小限制,我把他分成几部分,大家可以通过评论返回分数

2013-02-03

8051系列单片机C程序设计完全手册 part7

因为CSDN有大小限制,我把他分成几部分,大家可以通过评论返回分数

2013-02-03

8051系列单片机C程序设计完全手册 part6

因为CSDN有大小限制,我把他分成几部分,大家可以通过评论返回分数

2013-02-03

8051系列单片机C程序设计完全手册 part5

因为CSDN有大小限制,我把他分成几部分,大家可以通过评论返回分数

2013-02-03

8051系列单片机C程序设计完全手册 part

因为CSDN有大小限制,我把他分成几部分,大家可以通过评论返回分数

2013-02-03

8051系列单片机C程序设计完全手册 part2

因为CSDN有大小限制,我把他分成几部分,大家可以通过评论返回分数

2013-02-03

8051系列单片机C程序设计完全手册 part1

大家可以通过评论获得返还分数,由于CSDN的限制我把他分成了7分

2013-02-03

8051系列单片机C程序设计完全手册 清晰版.pdf

大家下载的分数(1分)可以通过评论来返还

2013-02-03

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

TA关注的人

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