
C
文章平均质量分 81
一起来玩玩呗
just to fun...
展开
-
数据结构与算法二
1.课程安排表:1. 线性表2. 字符串3. 栈和队列4.树5.查找6.排序7.暴力枚举法8.广度优先搜索9.深度优先搜索10.分治11.贪心12.动态规划13.图14.数学方法与常见模型15.大整数运算16. 基础功能2. 编程技巧:1.把较大的数组放在main 函数(全局变量)外,作为全局变量,这样可以防止栈溢出,原创 2014-05-23 14:27:09 · 1224 阅读 · 0 评论 -
POJ 1016 Numbers That Count 递归
Numbers That CountTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 18162 Accepted: 6026Description"Kronecker's Knumbers" is a little company that manufac原创 2013-12-09 16:59:41 · 1214 阅读 · 0 评论 -
acm 1012
JosephTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 45627 Accepted: 17206DescriptionThe Joseph's problem is notoriously known. For those who are not fam原创 2013-11-29 14:55:11 · 1304 阅读 · 0 评论 -
北大ACM 3982 序列
序列Time Limit: 1000MS Memory Limit: 65536KTotal Submissions: 6614 Accepted: 2951Description数列A满足An = An-1 + An-2 + An-3, n >= 3 编写程序,给定A0, A1 和 A2, 计算A99Inpu原创 2013-11-12 17:57:40 · 1342 阅读 · 0 评论 -
树中前中后序的相互求法
二叉树前序、中序、后序遍历相互求法 今天来总结下二叉树前序、中序、后序遍历相互求法,即如果知道两个的遍历,如何求第三种遍历方法,比较笨的方法是画出来二叉树,然后根据各种遍历不同的特性来求,也可以编程求出,下面我们分别说明。 首先,我们看看前序、中序、后序遍历的特性: 前序遍历: 1.访问根节点 2.前序遍历左子树 3.转载 2013-11-12 12:46:03 · 1178 阅读 · 0 评论 -
北大ACM 3094 Quicksum
QuicksumTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 12627 Accepted: 8756DescriptionA checksum is an algorithm that scans a packet of data and return原创 2013-11-12 14:46:38 · 1638 阅读 · 0 评论 -
北大 ACM 2255 Tree Recovery
Tree RecoveryTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 10152 Accepted: 6377DescriptionLittle Valentine liked playing with binary trees very much.原创 2013-11-12 12:17:54 · 1880 阅读 · 0 评论 -
北大 ACM 2602 Superlong sums
Superlong sumsTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 21887 Accepted: 6435DescriptionThe creators of a new programming language D++ have found o原创 2013-11-12 15:52:22 · 1559 阅读 · 0 评论 -
北大ACM 2262 Goldbach's Conjecture
Goldbach's ConjectureTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 35054 Accepted: 13441DescriptionIn 1742, Christian Goldbach, a German amateur mathe原创 2013-11-11 13:54:12 · 1705 阅读 · 0 评论 -
随机选择求第k 大的数
在一串乱序的数组中,不经过排序而去这个数组中第k 大的数#include #include #define SWAP(x, y) {int t; t=x; x=y; y=t;}int partition(int a[], int p, int r){ int x = a[r]; int i = p-1, j; for(j = p; j <= r-1; j++)原创 2013-11-24 22:20:50 · 1338 阅读 · 0 评论 -
北大ACM 2739 Sum of Consecutive Prime Numbers
Sum of Consecutive Prime NumbersTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 17141 Accepted: 9428DescriptionSome positive integers can be represented原创 2013-11-10 22:30:15 · 1558 阅读 · 0 评论 -
北大ACM 2159 Ancient Cipher——这题一点都不水!!!!
Ancient CipherTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 26102 Accepted: 8592DescriptionAncient Roman empire had a strong government system with va原创 2013-11-10 16:43:44 · 2196 阅读 · 0 评论 -
非比较排序——计数排序
对于包括n 个元素的输入序列来说,任何比较排序在最坏情况下都要经过nlg(n) 次比较,因此归并和堆排序是渐进最优的,并且任何已知的比较排序最多就是在常数因子上优于它们。而对于非比较排序来说,下界nlg(n) 对它们是没用的,在某些情况下排序的复杂度可以达到 n .下面介绍其中的一种非比较排序:计数排序计数排序有一个非常重要的地方就是:假定数据的范围是在某个区间内,如果数据的大小相差非常大原创 2013-11-22 23:26:38 · 1862 阅读 · 0 评论 -
POJ 1017 Packets 模拟法
PacketsTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 40908 Accepted: 13732DescriptionA factory produces products packed in square packets of the same原创 2013-12-09 20:41:48 · 1389 阅读 · 0 评论 -
poj 1018 Communication System 枚举 VS 贪心
Communication SystemTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 21631 Accepted: 7689DescriptionWe have received an order from Pizoor Communications原创 2013-12-10 22:20:29 · 1171 阅读 · 0 评论 -
ACM 1013 Counterfeit Dollar
Counterfeit DollarTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 37015 Accepted: 11837DescriptionSally Jones has a dozen Voyageur silver dollars. Howev原创 2013-12-05 14:57:19 · 2263 阅读 · 0 评论 -
poj 2229 Sumsets DP
SumsetsTime Limit: 2000MS Memory Limit: 200000KTotal Submissions: 11618 Accepted: 4677DescriptionFarmer John commanded his cows to search for different sets of nu原创 2014-02-20 13:22:39 · 1235 阅读 · 0 评论 -
poj 3262 贪心
Protecting the FlowersTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 3575 Accepted: 1465DescriptionFarmer John went to cut some wood and left N (2 ≤ N原创 2014-02-19 11:23:08 · 1971 阅读 · 0 评论 -
UVa 11292 The Dragon of Loowater 简单的比较题
Problem C: The Dragon of LoowaterOnce upon a time, in the Kingdom of Loowater, a minor nuisance turnedinto a major problem.The shores of Rellau Creek in central Loowater had always been a primebre原创 2014-02-23 08:57:20 · 1102 阅读 · 0 评论 -
函数中关于“函数声明”“函数定义”“函数原型”的辨析
对函数的“定义”和“声明”不是一回事。函数的定义是指对函数功能的确立,包括指定函数名,函数值类型、形参及其类型以及函数体等,它是一个完整的、独立的函数单位。而函数的声明的作用则是把函数的名字,函数类型以及形参的类型、个数和顺序通知编译系统,以便在调用该函数时进行对照检查(例如,函数名是否正确,实参与形参的类型和个数是否一致),它不包括函数体。————谭浩强 ,《C程序设计》(第四版),清华大学原创 2014-01-05 15:24:18 · 2988 阅读 · 0 评论 -
poj 1579 Function Run Fun 递归
Function Run FunTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 15333 Accepted: 7935DescriptionWe all love recursion! Don't we? Consider a three-par原创 2013-12-20 14:16:50 · 1108 阅读 · 0 评论 -
递归求解八皇后问题
问题描述会下国际象棋的人都很清楚:皇后可以在横、竖、斜线上不限步数地吃掉其他棋子。如何将 8 个皇后放在棋盘上(有 8 * 8 个方格),使它们谁也不能被吃掉!这就是著名的八皇后问题。 对于某个满足要求的 8 皇后的摆放方法,定义一个皇后串 a 与之对应, a=b1b2...b8,即其中 bi 为相应摆法中第 i 行皇后所处的列数。已经知道 8 皇后问题一共有 92 组解(即 92 个不同的皇原创 2013-12-19 19:10:41 · 2567 阅读 · 0 评论 -
poj 1979 Red and Black 递归实现
Red and BlackTime Limit: 1000MS Memory Limit: 30000KTotal Submissions: 20075 Accepted: 10737DescriptionThere is a rectangular room, covered with square tiles. Eac原创 2013-12-18 17:35:38 · 1528 阅读 · 0 评论 -
递归与逆波兰式
递归实现逆波兰式:#include #include double f(){ char a[10]; scanf("%s", a); switch(a[0]) { case '+' : return f()+f(); case '-' : return f()-f(); case '*' : return f()*f(); case '/' : return f原创 2013-12-18 16:59:55 · 1744 阅读 · 0 评论 -
pku 2750 鸡兔同笼 简单的计算
2750:鸡兔同笼总时间限制: 1000ms内存限制: 65536kB描述一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物输入第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,每行一个正整数a (a 输出输出包含n行,每行对应一个输入,包含两个正整数,第一个是最少的动物数,第二个是最原创 2013-12-17 10:24:20 · 1140 阅读 · 0 评论 -
POJ 1657 Distance on Chessboard 简单的计算问题
Distance on ChessboardTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 23096 Accepted: 7912Description国际象棋的棋盘是黑白相间的8 * 8的方格,棋子放在格子中间。如下图所示:王、后、车、象的走子原创 2013-12-17 09:41:28 · 3542 阅读 · 0 评论 -
poj 1936 All in All 简单的字符串匹配
All in AllTime Limit: 1000MS Memory Limit: 30000KTotal Submissions: 26339 Accepted: 10691DescriptionYou have devised a new encryption technique which encodes a mess原创 2013-12-17 13:14:25 · 1934 阅读 · 0 评论 -
pku 2808 校门外的树 简单的计算题
问题描述某校大门外长度为 L 的马路上有一排树,每两棵相邻的树之间的间隔都是 1 米。我们可以把马路看成一个数轴,马路的一端在数轴 0 的位置,另一端在 L 的位置;数轴上的每个整数点,即 0,1,2,......,L,都种有一棵树。由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重原创 2013-12-17 10:27:57 · 1044 阅读 · 0 评论 -
详解冒泡排序和对其优化的Shaker 排序
冒泡排序以及对其优化后的shake 排序原创 2013-11-08 10:37:01 · 1700 阅读 · 0 评论 -
算法之旅——快速排序
快速排序算法是基于分治策略的另一个排序算法。其基本思想是,对于输入的子数组,按以下三步进行排序。一:分解二:递归求解三:合并#include #define N 8typedef int Type;using namespace std;void QuickSort(Type a[], int left, int right){ if(left < right)原创 2013-10-13 22:16:39 · 1447 阅读 · 0 评论 -
单片机之旅——1
题目: 单片机接9个LED灯,4个按键,按上图所示排列。4个按键分别代表 上、左、下、右。初始时9个灯的最中间那个点亮,按下按键后灯按照按键所代表的方向移动。当所亮灯到达边缘后,再次按下就循环进行。例如,如果当前所亮灯为左上角的那个红色的时,再次按下“向上键”时,所亮灯变为绿色那个;如果当前所亮灯为左上角的那个红色的时,再次按下“向左键”时,所亮灯变为黑色那个;其余以此类推。原创 2013-06-08 12:47:41 · 1227 阅读 · 2 评论 -
单片机之旅——中断之流水灯
#include#includesbit K2 = P3^2;sbit K3 = P3^3;void delayms(unsigned int m);unsigned char aa = 0xfe;void main(){ EA = 1; EX0 = 1; EX1 = 1; IT0 = 0; IT1 = 0; IP = 0xf1; P1 = 0xff;}/原创 2013-06-08 12:52:49 · 4341 阅读 · 3 评论 -
单片机之旅——拓展的IO接口8255A
#include#define PA XBYTE[0x7cff] /*PA口地址*/#define PB XBYTE[0x7dff] /*PB口地址*/#define PC XBYTE[0x7eff] /*PC口地址*/#define CON XBYTE[0x7fff] /*控制字地址*/unsigned char code led原创 2013-06-08 13:02:59 · 4005 阅读 · 2 评论 -
杨辉三角
#include#define N 15int main(){ int i,j; int a[N][N]; for(i=0; i < N; i++) { a[i][i] = 1; // 赋值斜边的 1 a[i][0] = 1; // 赋值左边的 1 } for(i=2; i < N; i++) { for(j=1; j < i; j++) {原创 2013-05-05 12:59:49 · 1168 阅读 · 2 评论 -
浮点数(谁偷了你的精度?)
如果我告诉你,中关村配置最高的电子计算机的计算精度还不如一个便利店卖的手持计算器,你一定会反驳我:「今天写博客之前又忘记吃药了吧」。你可以用最主流的编程语言计算 0.2 + 0.4,如果你使用的是 Chrome、FireFox、IE 8+,可以按 F12 键,然后找到 「控制台」,输入上面的 表达式 0.2 + 0.4,回车。然后再用最简陋的计算器(如果你没有手持计算器没关系,转载 2013-03-23 23:19:04 · 1153 阅读 · 0 评论 -
希尔排序
在直接插入排序中,最坏的时间复杂度是当待排序的数组是逆序的时候,那时是 o(n^2); 最好的时候是待排序的集合越接近有序时越快,在这个思想下,于是就衍生出了希尔排序。希尔排序的思想是:把待排序的数据元素分成若干个小组,对同一个小组内的数据元素用直接插入排序;小组的个数逐次缩小,当完成了所有数据元素都在一个组内的排序后排序过程结束。#include #define KeyType in原创 2013-03-21 21:59:11 · 1016 阅读 · 1 评论 -
插入排序
直接插入排序:直接插入排序的思想是,将一个新的数据元素插入到已排列好的有序的子集中。#include #define KeyType inttypedef struct { KeyType key;}DataType;void InsertSort(DataType a[], int n){ int i, j; DataType temp; for(i = 0; i原创 2013-03-21 21:32:17 · 1377 阅读 · 4 评论 -
double 型浮点数能精确到多少位小数
#include/*double 型浮点数能精确到多少位小数*/int main(){ double i = 1.0, j = 3.0; printf("%.20lf\n",i/j); return 0;}原创 2013-03-12 18:35:10 · 10364 阅读 · 3 评论 -
C语言中打开文件选择
#includeOPENFILENAME ofn;char szFile[MAX_PATH];ZeroMemory(&ofn,sizeof(ofn));ofn.lStructSize = sizeof(ofn);ofn.lpstrFile = szFile;ofn.lpstrFile[0] = TEXT('\0');ofn.nMaxFile = sizeof(szFile);of原创 2013-03-13 16:02:26 · 2130 阅读 · 2 评论 -
用程序求出int 的取值范围
#include/*用程序求出int 的取值范围*/int main(){ int max = 0, i, temp = 1; printf("%d\n",sizeof(int)); for(i = sizeof(int)*8-2; i>=0; i--) { for(int j = i; j >0; j--) { temp *= 2原创 2013-03-11 20:41:10 · 2051 阅读 · 2 评论