自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

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

原创 hdu 1005 找规律(循环点)

序列公式f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7.很明显这是一道找规律的题目。用到模数的一个性质  (a*b)%m=(a%m * b%m)%m, (a+b)%m=(a%m+b%m)%m由此  f(n)=(A%7*f(n-1)+B%7*f(n-2))%7虽然1一下为参考

2012-03-30 17:31:35 1136

转载 鸽巢原理(抽屉原理)

鸽巢原理和抽屉原理是同义词,已合并。抽屉原理百科名片  抽屉原理桌上有十个苹果,要把这十个苹果放到九个抽屉里,无论怎样放,我们会发现至少会有一个抽屉里面放两个苹果。这一现象就是我们所说的“抽屉原理”。 抽屉原理的一般含义为:“如果每个抽屉代表一个集合,每一个苹果就可以代表一个元素,假如有n+1或多于n+1个元素放到n个

2012-03-30 13:00:19 6513

原创 1003

简单的DP:now 表示当前的值,顺序输入temp 若now+temp(代码参考的别人的……)#includeusing namespace std;int main(){    int t,n;    scanf("%d",&t);    int now,temp,pos1,pos2,x,max;    int num=0;    wh

2012-03-29 20:37:19 579

原创 hunnu 11082 The Minesweeper Game(BFS)

题目来源     :        http://acm.hunnu.edu.cn/online/?action=problem&type=show&id=11082广度搜索bfs    最后输出的不为“#”的部分,实际上是指1、(点击处若为0)处于此处八个方向内且为0(相当于一个“感染区”)并且这个“感染区”的八个方向除了是0的情况,就必须被不为0且不为地雷的包围)。所以,从点击

2012-03-26 20:28:58 494

转载 最短路径之Dijkstra算法详细讲解

1  最短路径算法在日常生活中,我们如果需要常常往返A地区和B地区之间,我们最希望知道的可能是从A地区到B地区间的众多路径中,那一条路径的路途最短。最短路径问题是图论研究中的一个经典算法问题, 旨在寻找图(由结点和路径组成的)中两结点之间的最短路径。 算法具体的形式包括:(1)确定起点的最短路径问题:即已知起始结点,求最短路径的问题。(2)确定终点的最短路径问题:与确定起点的问题相反,

2012-03-24 10:00:17 736

转载 01背包(转)

例题1、 基本的0-1背包问题(HDU 2602)        这是最基本的01背包模型。定义f[i][j]:在前i个bone中用容量为j的包选择bone所能得到的最大价值。设:第i个bone的volume为c[i],相应的value为w[i]。分析:将“前i个bone装进容量为j的包中所得到的最大价值”这个子问题的求解,考虑第i个bone,则会有两种策略:、不选择第i个bone

2012-03-23 17:25:18 636

转载 快速排序及其分析

前言快速排序的平均情况下是O(nlogn),但是一般都比其他运行时间为O(nlogn)的算法都要快,因为它隐藏的常数因子比较小,但是在最坏情况之下,快速排序的运行时间是O(n2)。快速排序过程快速排序采用的思想是分治思想,就像合并排序算法的思想一样,合并排序算法是从数组的中间开始分治,直到分为N个分组,最后分别合并N个分组的解。如下图,有原始数组A = {1, 3, 4, 5, 7

2012-03-14 21:51:02 468

原创 XTU 1097 SSB的烦恼 (线性规划)

根据x‘^2+y’^2-x‘-y’-2*x‘*y’=0  可得:(x‘-y’)^2-(x‘+y’)=0; ……③   设x=(x'-y')  y=(x'+y') ,则可知:2=1 && xi=1 && yi   而③又可写为(y'-x')^2-(x'+y')=0,所以x'与y' 可交换 所以将a与b交换在算一遍,两和相加得最后结果线性规划的图:(多年未用过了,嘿嘿)代码:#

2012-03-11 17:36:33 588

转载 求阶乘得一些有趣方法

一个正整数n的阶乘就是前n个正整数的乘积,我们通常需要n-1次乘法操作来算出精确的值。不像等差数列求和、a的n次幂之类的东西,目前求阶乘还没有什么巨牛无比的高效算法,我们所能做的仅仅是做一些小的优化。更少的乘法运算次数?    在高精度运算中,乘法计算的速度远远慢于加减法,因此我们有必要减少乘法运算的次数。下面我将做一个非常简单的变换,使得计算阶乘只需要n/2次乘法。继续看下去之前,你

2012-03-11 13:34:00 737

原创 XTU 1095 连续自然数和

之前,是想利用高斯公式直接求取(第一项最大为m/2),但是超时。  后来,看到网上一篇“另类”的求法利用hash[],觉得还不错,好不容易看懂了吧,还是超时!不过,通过这个可以知有时候利用hash[],也是一种好办法呗。  再后来,终于找到了关于该题的结题报……该题被定义为:基础模拟题。有题目可看出10000=1998+1999+2000+2001+2002;有五项,中间项为200

2012-03-11 11:08:46 615

原创 ccsu1359 木棒相交 (叉积线段判交,并查集判断是否属于同一个集合)

题意:判断n条木棒中木棒a是否与木棒b相交。其中木棒的相交具有传递性。  首先用一个判断线段是否相交的函数判断相交:   struct Point{ double x; double y;};typedef struct Point point;Const int easp=1e-9;//叉积double multi(point p0, point

2012-03-07 20:33:54 879

原创 ccsu 数星星

#include#includeusing namespace std;int start[1001][1001]={0};int main(){ int n,m; int x,y; int num,x1,y1,x2,y2,sum; scanf("%d",&n); for(int i=0;i<n;i++) { sca

2012-03-07 20:18:01 528

转载 扑克牌

扑克牌型下面列出从大到小的扑克牌面. 这是所有的扑克通用规则。1Royal Flush 同花大顺又称皇家同花顺它是所有德州扑克中的王牌,即使您经常玩扑克,也很少见到这样的牌。好比打高尔夫球一杆进洞一样。它是由T(10)到Ace的清一色同花组成。 131 - The Psychic Poker Player" alt="Uva 131 - T

2012-03-04 15:07:21 1221

原创 爬等腰三角形的山的问题 ccsu 1283

山有n座,但是不一定按顺序(例如:从左至右的输入),所以必须得将输入的x1 排序   但是前几次做的时候,只知道要分类,结果把分的自己都搞不驼清,   后来想到 可以将left = tri[0].x1    right = tri[i].x2  ,即将left 和 right 看做一个线段的左右顶点,接下来得n-1个数据便   相当于求不重复的线段和(据情况,更新left 和 ri

2012-03-04 14:34:51 1320

原创 迭代加深搜索 埃及分数

在古埃及,人们使用单位分数的和(形如1/a的, a是自然数)表示一切有理数。    如:2/3=1/2+1/6,但不允许2/3=1/3+1/3,因为加数中有相同的。   对于一个分数a/b,表示方法有很多种,但是哪种最好呢?  首先,加数少的比加数多的好,其次,加数个数相同的,最小的分数越大越好。 如: 19/45=1/3 + 1/12 + 1/180  19/45=1/3 + 1

2012-03-04 11:48:45 2820 2

转载 qsort()应用大全

七种qsort排序方法 一、对int类型数组排序 七种qsort排序方法 一、对int类型数组排序 int num[100]; Sample: int cmp ( const void *a , const void *b ) { return *(int *)a - *(int *)b; } qsort(num,1

2012-03-04 10:53:58 745

原创 Uva OJ 11205 - The broken pedometer

描述: 输入t,p,n,n个数的显示法             t 表示有几组测试数据,p表示有多少条显示条,n表示需要显示的数据有多少    (0                                                                                     题意: p 条显示条中能否找到最少的条数便可表示 n 个数(即 找

2012-03-03 11:27:03 741

原创 Uva OJ 10167 birthday cake

直接枚举法   蛋糕的半径为100,所以 a*x+b*y=0 中  -100所以 就只用枚举   for(int i=-100;i然后判断此a、b确定的直线两侧是否都有n个樱桃;此时必须分三种情况:                                 1、直线上侧;                                  2、直线下侧;

2012-03-02 16:41:52 575

转载 STL中sets的基本用法

集合(Set)是一种包含已排序对象的关联容器C++ Setsbegin语法: iterator begin();返回指向当前集合中第一个元素的迭代器。clear语法: void clear();清除当前集合中的所有元素。

2012-03-02 14:38:05 1102

空空如也

空空如也

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

TA关注的人

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