- 博客(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关注的人