自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

just do it!

菜鸟学习之路

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

原创 ZOJ 1010

这道题是考察计算几何的,主要有两个点。一是根据有序输入的多边形的顶点求出任意多边形的面积,二是判断不相邻的边是否相交,如果相交则不构成多边形。计算任意多边形的面积需要线性代数的知识,我也没接触过,详细的推导过程可以自行百度,介绍的很详细。大体上就是将多边形切分成多个三角形,然后用各个三角形的矢量面积求和得出多边形面积。最后,得出一个普适的公式,即,这里P(k)和P(k+

2015-04-18 00:18:31 881

原创 ZOJ 1009

解码的题目,首先你要弄明白转子旋转怎么模拟!旋转一次之后,每个字母对应的节点转了一位,与此同时,每个节点对应的密文也旋转了一次,如果听不明白就自己好好研究以下的三幅图!三个转子的关系就像秒针,分针,时针一样!然后模拟就行了,我是用数字处理的,把字母都转换成数字处理,最后再转回来。#include#include#includeint m,n;int

2015-04-07 16:23:07 407

原创 ZOJ 1008

这道题也是搜索,使用深度优先搜索就可以。当然,还是要注意一些小技巧的使用,来防止你的程序超时!在注释中我标注了我使用的办法。#includetypedef struct{ int up; int right; int down; int left;}node;typedef struct{ node data; int num;}

2015-04-06 20:41:05 385

原创 ZOJ 1007

这道题涉及到一些高数的内容。因为我们知道x=1时函数值近似为1,所以就以1为基准。1/k(k+x) - 1/k(k+1),我们只算前n项,其余的用(1-x)/k^3 来代替,而1/k^3 又要用上式积分来计算!这里误差是指1/k(k+x) - 1/k(k+1) - (1-x)/k^3 从n到无穷求和,这个求和又要用上式积分近似,从而求出误差,根据误差范围算出n值,计算过程中很多

2015-04-05 15:06:08 465

原创 ZOJ 1006

就是利用公式反向求解,主要是mod的处理!#include#includeint get_plaincode(int ciphercode,int i);int main(){ int k; scanf("%d",&k); while(k!=0) { char str[71],string[71]; int len,i,j; int ciphercode,pla

2015-04-05 14:37:00 546

原创 ZOJ 1005

还是搜索的问题,只是每次的选择有四种,要根据情况判断!#include #define PATOB 1#define PBTOA 2#define FA 3#define FB 4#define EA 5#define EB 6typedef struct { int act; int former; int a; int b;}node;int a,b,n;

2015-04-05 14:20:37 524

原创 ZOJ 1004

因为操作只有2种,每次不是i就是o。根据这个展开搜索,i要判断是否还有元素可以进栈,o要判断栈顶元素与待比较的元素是否相等!同时还要用数组记录操作。记住,每次递归都要新开一个栈和记录操作的数组!将传进来的栈和数组复制一遍在使用新开的,不然数据就混乱了...不要忘记对于递归结束的处理!#include#include#includetypedef struct{

2015-04-05 14:19:27 466

原创 ZOJ 1003

这也是一个搜索的问题,搜索两人分数的所有分解方法。当两者的所有分解方式中,都必须使用到某个或某几个相同的因子时,说明报高分的人在撒谎。换句话说,如果两人的分数能够在不占用对方因子的情况下成功分解,那么报高分的人没有撒谎!注意考虑特殊情况,如果较低分数本身不可能被1到100内的整数分解,那么高分赢,因为在这时,挑战者自己就把自己的分数算错了!#includevoid factor

2015-04-05 12:57:13 463

原创 ZOJ 1002

整体思路就是dfs,我觉得就是从第一个位置开始尝试放置火力点,如果可以放就继续向下深搜,搜索完毕后回溯!如果不可以就直接递归的判断下一个位置,就这样不断递归下去就能考虑到所有情况,而且还要比穷举快很多!#include#include#define SIZE 4int n;int max;int ret(char str[][SIZE],int k);void wor

2015-04-03 21:44:57 284

原创 ZOJ 1001

最简单地a+b,几乎是每个oj的第一道题。#includeint main(){ int a,b; while(scanf("%d%d",&a,&b)!=EOF) //用来判断输入是否结束 printf("%d\n",a+b); return 0;}

2015-04-03 21:27:55 326

空空如也

空空如也

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

TA关注的人

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