ACM
文章平均质量分 73
LYG105504
中大某菜鸟~~~我觉得自己是才露尖尖角的小荷,贪婪而又小心翼翼地吮吸着知识的甘霖
展开
-
Catalan数(转自百度百科)
Catalan数 中文:卡特兰数 原理: 令h(0)=1,h(1)=1,catalan数满足递归式: h(n)= h(0)*h(n-1) + h(1)*h(n-2) + ... + h(n-1)h(0) (其中n>=2) 另类递归式: h(n)=((4*n-6)/(n))*h(n-1); 该递推关系的解为: h(n)=C(2n,n)/(n + 1) (n=1,2,3,...原创 2010-03-23 00:58:00 · 814 阅读 · 0 评论 -
Sicily 1020 Big Integer
//简单的高精度摸除,模除过程从个位开始,算当前位有//个指针指向下一位#include#include#includeusing namespace std;//模除函数 int high_mod(string a,int b){ string result; int temp = a[0] - '0'; int s = 1;go_on: while(temp原创 2010-07-06 23:01:00 · 1025 阅读 · 0 评论 -
Sicily 1001 Alphacode
班别:计算机A班学号:08380076姓名:林榆耿算法描述:动态规划,要排除一些特殊的情况,具体的状态转移如下:用F1 F2记录前次状态的count值算出第一次和第二的count值,建立f1 f2两个值进入循环(三种情况独立)1. 若当前位为0,刚count值为前前状态的值2. 若当前位与前一位能结合(指看作一个两位数是在11~26之间)则count值为f1+f23. 若当前位与前一位不能结合,则count值为f2更新f1 f2的值。继续循环#include原创 2010-07-06 13:07:00 · 2937 阅读 · 1 评论 -
Message Flood
trie tree 字典树 trie的原理是利用字符串集合中字符串的公共前缀来降低时间开销以达到提高效率的目的。它具有以下性质:1,根结点不包含任何字符信息;2,如果字符的种数为n,则每个结点的出度为n(这样必然会导致浪费很多空间,这也是trie的缺点,我还没有想到好点的办法避免);3,查找,插入复杂度为O(n),n为字符串长度。 举一个例子,给50000个由小写字母构成的转载 2010-05-27 01:23:00 · 1718 阅读 · 3 评论 -
HDOJ1710 Binary Tree Traversals
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1710题目描述:知道二叉树先序遍历序列和中序遍历序列,输出后序遍历序列.解题思路:先序遍历序列的第一个值为根节点,在中序遍历序列中找到根节点所在位置.中序遍历序列根节点之前的序列为左孩子树的所有节点,之后的序列为右孩子树的所有节点.接着又在先序遍历序列中找到左右子树根节点,照次递归建立二叉树.#include #include #include using namespace std;struct BiNode{转载 2010-06-16 20:36:00 · 830 阅读 · 0 评论 -
Sicily 1021 Couples(数据结构——栈)
//利用堆栈和MAP的映射关系#includeusing namespace std;#include#includeint main(){ int n; while(cin>>n&&n) { map m; stack c; int m1,m2; for(int i=0;i>m1>>m2; m[m1]=m2; m[m2]=m1; } int k; for( k=1;k原创 2010-06-20 21:56:00 · 1658 阅读 · 0 评论 -
中大Sicily分类
<br /><br />【数据结构/图论】<br />1310 Right-Heavy Tree 笛卡尔树相关,复杂度O(N)或O(NlogN)。<br />1426 Phone List 电话号码前缀检索,trie树相关。<br />1443 Printer Queue 基本队列操作。<br />1149 等价表达式 判断表达式是否等价(递归求解)<br />1136 山海经 n长序列里求m次区间询问的最大连续子区间和。线段树/RMQ<转载 2010-06-20 21:58:00 · 2973 阅读 · 5 评论 -
Sicily 1031 Campus(Dijkstra[邻接表+优先队列优化])
<br />原文地址:http://blog.csdn.net/ChinaCzy/archive/2010/05/19/5607184.aspx<br />//Dijkstra邻接表做法 //邻接表使得计算复杂度成为O(E*n),但图为稀疏图时效率比邻接矩阵高,但当图为稠密图时,E与n^2同阶,计算复杂度最坏可到O(n^3) //Dijkstra优先队列实现(相当于堆优化) //优先队列的实现的Dijstra可以使得算法在处理稠密图时速度也比使用邻接矩阵要快 //原因在于插入队列的元转载 2010-06-21 01:20:00 · 1880 阅读 · 1 评论 -
[字符串专题-挑战编程]Common Permutation
<br />//还是得注意空串的问题<br />#include <iostream>#include<string>#include<algorithm>using namespace std;//最长公共子序列 string CalCommon(string s1,string s2){ string result; int len1=s1.length(); int len2=s2.length(); sort(s1.begin(),s1.end()); s原创 2011-03-19 17:07:00 · 1120 阅读 · 0 评论 -
Sicily 1027
//算法描述:简单的搜索的问题,如果用pair的话可以使问题变得很简单,另外用list存储序列,其自、、//带的sort函数实现的排序刚好与题目要求一致,按首个元素的字典序。#include#include#include#includeusing namespace std;list > in,out;//in是输入序列,out是待输出的序列,基本元素是parilist >::iterator p,q;int main(){ int n; while(cin原创 2010-07-06 23:09:00 · 1330 阅读 · 0 评论 -
POJ做题分类
初期:一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法. (4)递推. (5)构造法.(poj3295) (6)模拟法.(poj1068,poj2632,poj1573,poj2993,poj2996)二.图算法: (1)图的深度优先遍历和广度优先遍历. (2)最短路径算法(dijkstra,bellman-ford,floyd,heap转载 2010-07-02 12:39:00 · 1798 阅读 · 2 评论 -
字符串分割函数strtok的用法
strtok(摘自百度百科)原型char *strtok(char *s, char *delim);功能分解字符串为一组字符串。s为要分解的字符串,delim为分隔符字符串。说明首次调用时,s指向要分解的字符串,之后再次调用要把s设成NULL。 strtok在s中查找包含在delim中的字符并用NULL()来替换,直到找遍整个字符串原创 2010-04-12 20:46:00 · 1494 阅读 · 0 评论 -
求质数的文章
求质数的文章: [原创]求质数(C语言描述) 【问题描述】:试编写一个程序,找出2->N之间的所有质数。希望用尽可能快的方法实现。 【问题分析】:这个问题可以有两种解法:一种是用“筛子法”,另一种是从2->N检查,找出质数。先来简单介绍一下“筛法”,求2~20的质数,它的做法是先把2~20这些数一字排开:2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17转载 2010-04-17 16:50:00 · 929 阅读 · 0 评论 -
zoj 1064--Parencoding
ParencodingsTime Limit: 1 Second Memory Limit: 32768 KBLet S = s1 s2 ... s2n be a well-formed string of parentheses. S can be encoded in two different ways:By an integer sequ原创 2010-04-16 20:16:00 · 1417 阅读 · 0 评论 -
第11篇 ACM/ICPC竞赛之调试
第11篇 ACM/ICPC竞赛之调试在写程序时,调试程序也是一个重要的环节。怎样才能够更有效地调试程序,发现并修正错误呢?1、调试中的输入输出为了调试程序,我们可能需要反复执行程序,也就需要反复输入相同或不相同的测试数据。如果每次调试运行时都是以手工的方式输入测试数据,相信很多人都会觉得不胜其烦。其实我们可以用一些辅助的手段来简化这个过程。方法一:使用剪贴板可以将输入数转载 2010-04-16 20:37:00 · 1174 阅读 · 0 评论 -
快速判断一个数能否被1、2、3、4、5、6、7、8、9、10、11、12、13、17、19、23等整除的规律总结
快速判断一个数能否被1、2、3、4、5、6、7、8、9、10、11、12、13、17、19、23等整除的规律总结(1) 1与0的特性: 1是任何整数的约数,即对于任何整数a,总有1|a. 0是任何非零整数的倍数,a≠0,a为整数,则a|0. (2) 若一个整数的末位是0、2、4、6或8,则这个数能被2整除。 (3) 若一个整数的数字和能被3整除,则这个整数转载 2010-04-16 21:06:00 · 14303 阅读 · 0 评论 -
第09篇 ACM/ICPC竞赛之STL--algorithm
第09篇 ACM/ICPC竞赛之STL--algorithm无疑是STL中最大的一个头文件,它是由一大堆模板函数组成的。下面列举出中的模板函数:adjacent_find / binary_search / copy / copy_backward / count / count_if / equal / equal_range / fill / fill_n / find /转载 2010-04-16 20:34:00 · 1043 阅读 · 0 评论 -
基于STL的KMP算法
<br />#include <vector>#include <iostream>using namespace std;const vector<int> * kmp_next(string &m) // count the longest prefex string ; { static vector<int> next(m.size()); next[0]=0; // the initialization of the next[0]; int te转载 2010-06-25 21:24:00 · 2449 阅读 · 0 评论 -
高精度总结
<br /><br />整数>>字符串(高精度常用):<br />string int_to_str(int a) //整数转为字符串<br />{<br /> string result;<br /> while(a)<br /> {<br /> result.insert(0,1,a%10+'0');<br /> a /= 10;<br /> }<br />转载 2010-07-02 13:15:00 · 792 阅读 · 0 评论 -
[字符串专题-挑战编程]Where's Waldorf?
<br />//遍历,不是好办法<br />#include<iostream>#include<string>#include<vector>using namespace std;class cell{public: int r; int c; string s; cell(int r1,int c1,string s1) { r=r1; c=c1; s=s1; }};vector<cell> list;int coun原创 2011-03-19 17:10:00 · 1023 阅读 · 0 评论