摘要: 本来用cin cout输入输出,可不知道怎么弄得cin was not declared in this scorpe,怎么调都不行,郁闷...#include<iostream>#include<cstdio>#include<cstring>intmain(){intn,d;chara[100];boolv[100],e[100];while(scanf("%d",&n)!=EOF&&n){scanf("%s",&a);intb=0;memset(v,0,sizeof(v));mem 阅读全文
posted @ 2011-09-14 02:19 追逐. 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=3302 题意: 给定两个字符串,求第二个字符串是否为第一个字符串正向或反向的子串。 直接按s2中的字符在s1中搜索,有两个地方要剪枝,一是当s2的长度大于s1时,还有当s1剩余字符无s2的当前字符时。#include<cstdio>#include<fstream>#include<iostream>#include<cstring>usingnamespacestd;intn,i,j;chars1[101],s2[101];boolis_sub(){ints1_len=strlen 阅读全文
posted @ 2011-09-11 23:13 追逐. 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 基于C的文件操作 在ANSI C中,对文件的操作分为两种方式,即流式文件操作和I/O文件操作,下面就分别介绍之。一、流式文件操作这种方式的文件操作有一个重要的结构FILE,FILE在头文件stdio.h中定义如下:typedef struct {int level; /* fill/empty level of buffer */unsigned flags; /* File status flags */char fd; /* File descriptor */unsigned char hold; /* Ungetc char if no buffer */int bsize; /* B 阅读全文
posted @ 2011-09-11 21:18 追逐. 阅读(3904) 评论(0) 推荐(0) 编辑
摘要: 从刚开始接触ACM到现在也有八个月左右的时间了,断断续续的一直都没好好的做。究其原因,一是自己太懒了,把很多的精力都放在了其他的地方,二是ACM确实不好做,有太多东西需要一定的基础,而且很多基础知识从来没有接触过,都需要从头学起。就算是现在,也总感觉是为了做题而做题,根本没有一个整体把握的感觉,说白了就是没有方向,不知道怎么才能做好。这个暑假,在家里不用说,杂事太多,只是看了很少的一些知识总结,做了寥寥的几道题而已;返校后,起初整天郁闷在一道道难搞的模拟题上,后来看算法,总算是找到了一点感觉,至少觉得自己有能力继续搞下去。再往后便是一次次的打击,复杂点的题没思路,有思路的题出了样例后却怎么改. 阅读全文
posted @ 2011-09-07 22:12 追逐. 阅读(133) 评论(0) 推荐(0) 编辑
摘要: SDAU-ACM耀哥整理的,感觉很不错,弄过来慢慢看 原文链接:http://blog.csdn.net/lmyclever/article/details/6750041向量(vector)<vector>连续存储的元素<vector>Vector<int>c;c.back()传回最后一个数据,不检查这个数据是否存在。c.clear() 移除容器中所有数据。c.empty()判断容器是否为空。c.front() 传回地一个数据。c.pop_back() 删除最后一个数据。c.push_back(elem) 在尾部加入一个数据。c[i]等同于 c.at(i) 阅读全文
posted @ 2011-09-05 23:57 追逐. 阅读(2555) 评论(0) 推荐(1) 编辑
摘要: 题目链接:http://poj.org/problem?id=1328 题意: 设x轴为海岸,下方为陆地,上方为海。海上有n个岛屿,现在需要用雷达将所有的岛屿覆盖起来。给定岛屿个数及每个岛屿的坐标,给定雷达覆盖半径,求覆盖所有岛屿所需雷达最小数。(PS:雷达只能安置在海岸上) 设将雷达建在每个岛屿上,求出覆盖海岸的区间。将这些区间以左端点从小到大排序,采用贪心策略。先将雷达建在左端区间的右端点上,看雷达是否能覆盖到下一区间,若能,更新此雷达建设点为两区间右端点的最小值(保证雷达能覆盖所有遍历过的区间);若不能,则只能增加雷达个数,并将建设点选为下一区间右端点。 WA了好多次... 阅读全文
posted @ 2011-09-05 23:33 追逐. 阅读(305) 评论(1) 推荐(0) 编辑
摘要: 计算几何题的特点与做题要领:1.大部分不会很难,少部分题目思路很巧妙2.做计算几何题目,模板很重要,模板必须高度可靠。3.要注意代码的组织,因为计算几何的题目很容易上两百行代码,里面大部分是模板。如果代码一片混乱,那么会严重影响做题正确率。4.注意精度控制。5.能用整数的地方尽量用整数,要想到扩大数据的方法(扩大一倍,或扩大sqrt2)。因为整数不用考虑浮点误差,而且运算比浮点快。一。点,线,面,形基本关系,点积叉积的理解POJ 2318 TOYS(推荐)http://acm.pku.edu.cn/JudgeOnline/problem?id=2318POJ 2398 Toy Storage( 阅读全文
posted @ 2011-09-04 21:38 追逐. 阅读(834) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=3299 挺扯蛋的一题,本来想刷点水题,结果让这题的题目给虐了...抽空得好好补补英语了。主要是公式的推导代码:#include<iostream>#include<cstdio>#include<math.h>usingnamespacestd;floate=2.718281828;floatfun1(floath,floatd){returnh-(0.5555*((6.11*pow(e,5417.7530*(1/273.16-1/(d+273.16))))-10.0));}floatfun2( 阅读全文
posted @ 2011-09-02 20:25 追逐. 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=1321 按行搜索,当前棋格所在列无棋子且当前位置可放棋子时搜索下一位置(k-1)。若当前行无法放置,搜索下一行(k)。代码:#include<iostream>#include<cstring>usingnamespacestd;chara[8][8];boolb[8];//记录第i列是否放了棋子intcount,n;intdfs(intr,intk){if(k==0){//所有棋子放完则产生一个新方案count++;returncount;}if(r>=n)returncount;//搜索完毕for 阅读全文
posted @ 2011-09-01 22:39 追逐. 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 题目链接: http://poj.org/problem?id=2488题意: 棋子按象棋中马的方式在棋盘中跳,给定棋盘的大小,求能使棋子走遍每个棋格且每个棋格只走一次的方案,要求是字典顺序最小的方案。 看到要求字典顺序最小,便单纯的想dfs出所有解然后字典排序。看了解体报告才知道自己多么幼稚......可以先定义好棋子跳动的顺序,使其为字典最小序列。代码:#include<iostream>#include<cstring>usingnamespacestd;intc,r;boolb[30][30],bl;charstr[100];intmove[8][2]={{-2 阅读全文
posted @ 2011-08-31 23:14 追逐. 阅读(216) 评论(0) 推荐(0) 编辑