算法
nnbs
退役老年选手
展开
-
三种基本排序算法+快速排序
#include <stdio.h>#include <stdlib.h>void print (int* a, int len);void InsertSort (int* a, int len);void SelectSort (int* a, int len);void BubbleSort (int* a, int len);void QuickSort (int*a, int b原创 2017-01-11 22:24:54 · 349 阅读 · 0 评论 -
李开复:算法的力量
算法是计算机科学领域最重要的基石之一,但却受到了国内一些程序员的冷落。许多学生看到一些公司在招聘时要求的编程语言五花八门就产生了一种误解,认为学计算机就是学各种编程语言,或者认为,学习最新的语言、技术、标准就是最好的铺路方法。其实大家都被这些公司误导了。编程语言虽然该学,但是学习计算机算法和理论更重要,因为计算机算法和理论更重要,因为计算机语言和开发平台日新月异,但万变不离其宗的是那些算法和理论,转载 2017-01-19 10:18:15 · 527 阅读 · 0 评论 -
HDOJ 1710Binary Tree Traversals 二叉树的遍历
题目传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1710由先序和中序求后序,递归求解但不建树。//二叉树的遍历#include <iostream>#include <cstdio>#include <cstring>using namespace std;//记录前序和中序int pre[1010], in[1010];int n;//原创 2017-02-19 18:03:10 · 413 阅读 · 0 评论 -
递归与回溯 HDOJ 2553 N皇后问题 1016 Prime Ring Problem
题目传送门: http://acm.hdu.edu.cn/showproblem.php?pid=2553 http://acm.hdu.edu.cn/showproblem.php?pid=1016递归是程序调用自身的一种技巧,在牺牲空间复杂度的同时,带来代码上的简明和思想上的畅快。回溯往往与递归同时出现,比起枚举,回溯的效率高一些,回溯的重点在于如何从当前状态返回上一状态。八皇后问题和素数环原创 2017-01-26 23:29:48 · 334 阅读 · 0 评论 -
HDOJ1003Max Sum
经典的最大子列和问题,经典的DP题,但是并不想DP(实际是DP渣),于是用了在线算法,时间复杂度同样O(n)上码:#include#includeint main(){ int num,*a,ans=0; int i,t; int n; scanf("%d",&n); int j; for (j=0;j<n;j++) { scanf("%d",&num)原创 2016-11-13 23:31:13 · 336 阅读 · 0 评论 -
再探完全背包 HDOJ 2069 Coin Change
题目传送门: http://acm.hdu.edu.cn/showproblem.php?pid=2069题目大意是给定一个钱数,求出由1分,5分,10分,25分,50分的硬币组合出这个钱数,一共有多少种可能性。需要注意的是,硬币数最多不超过100枚。初看题目最先想到的肯定是暴搜。#include <iostream>using namespace std;int main(int argc, c原创 2017-01-28 18:04:58 · 235 阅读 · 0 评论 -
hdoj 6071 模空间下最短路
hdoj 6071 模空间下最短路题目传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6071题目大意是编号为1,2,3,4的四个点,1连4和2, 2连1和3,3连2和4,4连1和3,永远从2号点出发回到2号点,要求跑的距离不小于k,问可以跑的最短距离是多少。这里有一个trick,由于我们从二号点出发,最终又要回到二号点,因此对于一条从从二号点出发最终又回原创 2017-08-27 22:29:11 · 278 阅读 · 0 评论 -
阿拉伯数字转汉字
有这样一个很简单的问题,给你一个阿拉伯数字,把它读出来。 看到这个问题觉得用dfs可以比较优美的解决,就写了一下,先对数字进行划分,然后再递归解决问题,但是有一些细节问题需要考虑,多个零只读一个,末尾是零则不读,十位是1要读“十”还是“一十”。#include <iostream>#include <algorithm>using namespace std;string getDigit(i原创 2017-09-07 19:18:06 · 411 阅读 · 0 评论 -
hdoj6188 贪心
题目传送门:http://acm.hdu.edu.cn/showproblem.php?pid=61883个连续的数字是顺子,两个相同的数字是对子 题目大意是给一个序列,一个数字只能用一次,从中挑选出对子和顺子,问选出的对子+顺子的个数和最大是多少将序列排序,从最小的开始选,如果它能和之前的两个数字组成顺子,那么优先选择顺子,因为同样是使答案增加1,我们只需要使用当前数字中的一个而非两个就可以达到原创 2017-08-31 19:50:50 · 334 阅读 · 0 评论