随笔分类 -  ACM

PKU OJ 进阶学习篇(JunWangUSTC+追梦)
摘要:【pku_1001】* 题目阐述: 简单的A+B 解决方法: 水题 代码: 1 #include 2 3 4 int main() 5 { 6 7 int a,b; 8 scanf("%d %d",&a,&b); 9 print... 阅读全文

posted @ 2015-06-10 16:02 AAAAAApple 阅读(225) 评论(0) 推荐(0)

排列和组合
摘要:排列和组合在我们高中的时候是最熟悉不过的数学词了,接下来找找这方面的题目供大家思考(1)爬楼梯一个楼梯有50个台阶,每一步可以走一个台阶,也可以走两个台阶,请问走完这个楼梯共有多少种方法?(2)铺砖头有一个长度为n,宽度为2的地面,有若干块长为2,宽为1的地砖,请问用此地砖铺完这个地面共有多少种方法... 阅读全文

posted @ 2014-06-05 12:51 AAAAAApple 阅读(188) 评论(0) 推荐(0)

基础算法之搜索算法
摘要:深度搜索和广度搜索是我们搜索算法中常用的一种思想4-1 油田合并问题 问题描述 : 大致思想:给一幅油田地图,算出油田中可以至少需要几个泵,相连的油田中的油可以相互流动 输入地图 m*n (<=50) 然后给出数据 输出泵的个数源代码:#include<stdio.h>#define N 50char Map[N][N];int Flag[N][N]; int m,n;void dfs(int i,int j){ //四个方向搜索 //判断边界if(i<0||i>=m||j<0||j>=n)return ;Flag[i][j]=1;//遍历了if(Fl 阅读全文

posted @ 2013-04-05 15:43 AAAAAApple 阅读(367) 评论(0) 推荐(0)

基础算法之排序查找算法
摘要:排序是计算机中重要的操作之一,接下来列举一下所有学到过的排序和查找,并将他们比较一下 排序包括稳定的排序和不稳定的排序插入排序、冒泡排序、二叉树排序、二路归并排序及其他线形排序是稳定的选择排序、希尔排序、快速排序、堆排序是不稳定的这里还有一些关于排序的东西稍后会补上常用的算法比如qsort函数3-1 对一维数组进行排序int comp(const void *a,const void *b){return *(int *)a-*(int *)b; //从小到大进行排序 return *(int *)b-*(int *)a; 为由大到小排序。}qsort(a,1000,sizeof(int).. 阅读全文

posted @ 2013-04-05 15:20 AAAAAApple 阅读(211) 评论(0) 推荐(0)

基础算法之枚举
摘要:例2-1 题目描述 : 小明家里有很多长度不是一样的木棍,有一天他很无聊,便玩弄这些木棒来解闷,他想在这些木棒中挑出三根来组成一个直角三角形,当然他有很多种选法,所以他想挑一个面积最大的, 输入: n(0-100) n组数据(<=1000) 输出: 最大面积保留三位小数 不能组成则输出MyGod源代码: #include <stdio.h>#define N 101int len[N];double GetMaxArea(int n){ int i,j,k; double ans=-1; for(i=0;i<n;i++) for(j=i+1;j<n;j++) fo 阅读全文

posted @ 2013-04-05 14:47 AAAAAApple 阅读(222) 评论(0) 推荐(0)

基础算法之分治算法
摘要:分治算法的基本思想的是将一个规模为N的问题分解为K个规模较小的问题,这些子问题是相互独立且与原问题性质相同的例1-1计数问题 给定2个数a,b计算出1在a和b之间出现的次数算法思想: 计算出1在0-a和0-b之间出现的次数,然后相减例如在计算0-197之间的数 1.首先计算190-197之间个位数上出现1的次数2.然后计算180-189上的1出现的个数3然后递归 到18求解 权值*10源代码如下: #include<stdio.h>#define N 10int count[N];int value=1;void Deal(int k){ if(k<=0)return; in 阅读全文

posted @ 2013-04-05 14:34 AAAAAApple 阅读(263) 评论(0) 推荐(0)

导航