自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Heu_Ice_Fire的专栏

走在学习编程的路上……

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

原创 全排列

今天晚上TP的时候一题用到了全排列,当时不知道该怎么写,DT了=、= 后来,原来了解到全排列实际上用dfs即可。然后,发现真的很容易 =。= #include int n=4,arr[4]={1,2,3,4},visit[4],ans[4]; int dfs(int count) { int i; if(count==4) { for(i=0;i<4;i++)print

2013-09-27 21:36:00 493

原创 卡塔兰数

问题描述:卡塔兰数,是组合数学中一个常出现在各种计数问题中出现的数列。输入一个整数n,计算h(n)。其递归式如下:h(n)= h(0)*h(n-1)+h(1)*h(n-2) + ... + h(n-1)h(0) (其中n>=2,h(0) = h(1) = 1)    该递推关系的解为:h(n)=C(2n,n)/(n+1) (n=1,2,3,...) 或者根据其递归式 f(n+1)=(4n

2013-09-25 20:59:51 533

原创 hdu 1006 时针/分针/秒针

参考的别人的,因为我一直以为是按照秒针1s的方式移动,所以总是有点误差。。。原来秒针是连续运动的 =、= 秒钟的速度s=6°/s,分针是1/10°/s,时针是1/120°/s 所以相对速度s_m=59/10°/s,s_h=719/120°/s,m_h=120/11°/s 所以相差一度所需要的时间sm=10/59 s/°,sh=120/719 s/°,mh=120/11 s/°

2013-09-23 20:04:26 743

原创 字典树 hdu 1075

#include #include #include using namespace std; #define maxn1 20 #define maxn2 3000 + 10 struct TrieNode{ char word[maxn1]; struct TrieNode * next[ 26 ]; TrieNode(){ word[0] = '\0'; for(int i =

2013-09-22 22:36:39 559

原创 字典树

又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来节约存储空间,最大限度地减少无谓的字符串比较,查询效率比哈希表高。      字典树与字典很相似,当你要查一个单词是不是在字典树中,首先看单词的第一个字母是不是在字典的第一层,如果不在

2013-09-22 22:19:20 419

原创 hdu 1022 火车 栈 问题

#include int main() { char in[1000],out[1000],stack[20],ans[1000]; int n,l,falie,i,j,k,s; while(scanf("%d",&n)!=-1) { scanf("%s%s",in,out); i=1;j=0;k=1;stack[1]=in[0];ans[0]=1;l=1; falie=0;

2013-09-17 22:20:24 851

原创 hdu 1020

#include #include char ch[10010]; int main() { int N,i,j,count,len; scanf("%d",&N); getchar(); while(N--) { gets(ch); len=strlen(ch); for(i=0;i<len;i++)

2013-09-17 19:41:15 530

原创 hdu 1004

#include #include typedef struct{ char ch[20]; int count; }node; node arr[1010]; int main() { int max,pos,i,j,k,N; char c[20]; while(~scanf("%d",&N)&&N) { k=0;

2013-09-17 19:33:42 500

原创 hdu 1017

题目那2B的输出要求格式……其实都是废话,没用的。 #include #include int main() { int m,n,T,i,j,ncase,a,b,count,flag; scanf("%d",&T); while(T--) { ncase=1; while(~scanf("%d%d",&n,&m)&&(

2013-09-17 19:33:04 486

原创 费马小定理 hdu 1098

地址:http://acm.hdu.edu.cn/showproblem.php?pid=1098 题意:给出k。求使得f(x)=5*x^13+13*x^5+k*a*x对任意x都为65的倍数的a的最小值。 mark:65=13*5。要使f(x)是65的倍数,只需要f(x)是5和13的倍数即可。先来分析13的。 若f(x)是13的倍数, 有5*x^13+13*x^5+k*a*x % 13 =

2013-09-16 00:11:13 641

原创 ACMer感想贴

转自 acmicpc.info 感想帖 ACM-ICPC比赛随想 by 刘汝佳 http://shexinwei.blogbus.com/logs/74680526.html ACM是不务正业? by ECUST http://hi.baidu.com/%C9%B1%BD%E7and/blog/item/c6766913bb79ccc5c3fd789c.html ACM总结 b

2013-09-15 14:07:39 609

原创 hdu 1010

纪念一下这苦逼的一晚上吧,就为了这个题目,其实这个题目不是很难,就是用个奇偶剪枝+DFS. 所谓奇偶剪枝,其实道理挺简单的,比如: S . X . X . X . X . X . X . X 若起始位置为S,若移动步数为偶数,那么图中X则为S可到达的地方。反之,易得。 调试了一晚上,发现一句话写错了 visit[x][y]==1; !!!!!应该是visit[x][y]=1;

2013-09-11 23:15:23 392

原创 hdu题目分类

1001       这个就不用说了吧  1002       简单的大数  1003       DP经典问题,最大连续子段和  1004       简单题  1005       找规律(循环点)  1006       感觉有点BT的题,我到现在还没过  1007       经典问题,最近点对问题,用分治  1008       简单题  1009

2013-09-11 19:48:30 648

原创 大数阶乘

计算某个大数的阶乘之后的位数,可以利用公式 ans(N)=log10(1)+log10(2)+……+log10(N)+1 #include #include #include #include int main() { int i,j,count,T; double k; scanf("%d",&T); while(T--) { scanf("%d",&i);

2013-09-10 15:32:38 342

原创 Bullseye

Problem Maria has been hired by the Ghastly Chemicals Junkies (GCJ) company to help them manufacture bullseyes. A bullseye consists of a number of concentric rings (rings that are centered at the

2013-09-10 14:52:30 801

原创 poj分类1

1、 排序 1423, 1694, 1723, 1727, 1763, 1788, 1828, 1838, 1840, 2201, 2376, 2377, 2380, 13 18, 1877, 1928, 1971, 1974, 1990, 2001, 2002, 2092, 2379, 1002(需要字符处理,排序用快排即可) 1007(稳定的排序) 2159(题意较难懂) 223

2013-09-09 22:58:29 670

原创 poj 2965 //枚举

/* 参考高手的高效解法: > 证明:要使一个为'+'的符号变为'-',必须其相应的行和列的操作数为奇数;可以证明,如果'+'位置对应的行和列上每一个位置都进行一次操作,则整个图只有这一'+'位置的符号改变,其余都不会改变. > 设置一个4*4的整型数组,初值为零,用于记录每个点的操作数,那么在每个'+'上的行和列的的位置都加1,得到结果模2(因为一个点进行偶数次操作的效果和没进行操作一样,这就

2013-09-09 21:02:50 516

原创 PID控制算法通俗理解

本文以通俗的理解,以小车纵向控制举例说明PID的一些理解。 (一)首先,为什么要做PID? 由于外界原因,小车的实际速度有时不稳定,这是其一, 要让小车以最快的时间达达到既定的目标速度,这是其二。 速度控制系统是闭环,才能满足整个系统的稳定要求,必竟速度是系统参数之一,这是其三.     小车调速肯定不是线性的,外界因素那么多,没人能证明是线性的。如果是线性的,直接用P就可以了。 比如

2013-09-04 17:20:55 2554

原创 从数组中取出n个元素的所有组合(递归实现)

如数组为{1, 2, 3, 4, 5, 6},那么从它中取出3个元素的组合有哪些,取出4个元素的组合呢? 比如取3个元素的组合,我们的思维是: 取1、2,然后再分别取3,4,5,6; 取1、3,然后再分别取4,5,6; ...... 取2、3,然后再分别取4,5,5; ...... 这样按顺序来,就可以保证完全没有重复。 #include #include //arr为原

2013-09-03 11:41:52 908

原创 POJ分类

水题: 3299,2159,2739,1083,2262,1503,3006,2255,3094  初级: 一、基本算法:        (1)枚举 (1753,2965)       (2)贪心(1328,2109,2586)       (3)递归和分治法      (4)递推      (5)构造法(3295)       (6)模拟法(1068,2632,1573,299

2013-09-03 08:49:49 1058

空空如也

空空如也

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

TA关注的人

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