《程序设计与算法》之【动态规划】

例题 数字三角形 动规解题的一般思路 能用动规解决的问题的特点 例题 最长上升子序列 最长公共子序列 数字三角形(POJ1163) 题目描述 在上面的数字三角形中寻找一条从顶部到底边的路径,使得路径上所经过的数字之和最大。路径上的每一步都只能往左下或右下走。只需要求出这个最大和即...

2018-05-31 18:05:23

阅读数:30

评论数:0

《程序设计与算法》之【分治算法】

分治的基本概念 归并排序 快速排序 例题 输出前m大的数 求排列的逆序数 分治的基本概念 把一个任务,分成形式和原任务相同,但规模更小的几个部分任务(通常是两个部分),分别完成,或只需要选一部完成。然后再处理完成后的这一个或几个部分的结果,实现整个任务的完成。 分治的生活实例–...

2018-05-31 14:09:32

阅读数:309

评论数:0

《程序设计与算法》第三章【二分算法】

二分查找 例题 二分法求方程的根 寻找指定和的整数对 二分查找 int BinarySearch(int a[], int size, int p) { int L = 0; // 查找区间的左端点 int R = size - 1; ...

2018-05-31 08:45:53

阅读数:56

评论数:0

《程序设计与算法》第二章【递归】

递归的基本概念 递归的作用 例题 N皇后问题 逆波兰表达式 四则运算表达式求值 爬楼梯 放苹果 算24 递归的基本概念 递归的基本概念:一个函数调用其自身,就是递归 例:求n!的递归函数 1. int Factorial(int n) { 2. if (n == 0)...

2018-05-30 23:27:33

阅读数:46

评论数:0

《程序设计与算法》第一章【枚举】

枚举:基于逐个尝试答案的一种问题求解策略 例题:完美立方 题目描述 请按照a的值,从小到大依次输出。当两个完美立方 等式中a的值相同,则b值小的优先输出、仍相同则c值小的优先输出、再相同则d值小的先输出。 输入样例: 24 输出样例: Cube = 6, Triple ...

2018-05-30 12:29:17

阅读数:23

评论数:0

北大信科2017机试真题

题库链接:http://jmusoft.openjudge.cn/beida/ 1.奖学金 总时间限制: 1000ms 内存限制: 65536kB 描述 某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金。期末,每个学生都有3门课的成绩:语文、数学、...

2018-05-30 01:20:10

阅读数:124

评论数:0

LeetCode 435. 无重叠区间

给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。 注意: 可以认为区间的终点总是大于它的起点。 区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。 示例 1: 输入: [ [1,2], [2,3], [3,4], [1,3] ] 输出:...

2018-05-28 23:30:03

阅读数:60

评论数:0

LeetCode 409. 最长回文串

给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。 在构造过程中,请注意区分大小写。比如 “Aa” 不能当做一个回文字符串。 注意: 假设字符串的长度不会超过 1010。 示例: 输入: abccccdd 输出: 7 解释: ...

2018-05-28 20:46:12

阅读数:33

评论数:0

LeetCode 315. 计算右侧小于当前元素的个数

给定一个整数数组 nums,按要求返回一个新数组 counts。数组 counts 有该性质: counts[i] 的值是 nums[i] 右侧小于nums[i] 的元素的数量。 示例: 输入: [5,2,6,1] 输出: [2,1,1,0] 解释: 5的右侧有...

2018-05-28 20:07:53

阅读数:55

评论数:0

LeetCode 3.无重复字符的最长子串

给定一个字符串,找出不含有重复字符的最长子串的长度。 示例: 给定 abcabcbb ,没有重复字符的最长子串是 abc ,那么长度就是3。 给定 bbbbb,最长的子串就是 b ,长度是1。 给定 pwwkew ,最长子串是 wke ,长度是3。 请注意答案必须是一个子串,pwke 是...

2018-05-28 19:40:07

阅读数:13

评论数:0

LeetCode 63. 不同路径 II

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。 机器人每次只能向下或者向右移动一步,机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物,那么从左上角到右下角将会有多少条不同的路径? 网格中的障碍物和空位置分别用 1 和...

2018-05-26 22:53:51

阅读数:20

评论数:0

LeetCode 112.路径总和

给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。 说明: 叶子节点是指没有子节点的节点。 示例: 给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 ...

2018-05-26 21:59:49

阅读数:261

评论数:0

《算法竞赛入门经典》第6章数据结构基础书上例题(一)

再谈栈和队列 铁轨(Rails, ACM/ICPC CERC 1997, UVa 514) 题目描述 某城市有一个火车站。有n节车厢从A 方向驶入车站,按进站顺序编号为1~n。你的任务是判断是否能让它们按照某种特定的顺序进入B方向的铁轨并驶出车站。例如,出栈顺序(5,4,3,2,1)是可能的...

2018-05-26 13:23:58

阅读数:16

评论数:0

《算法竞赛入门经典》第五章C++与STL入门书上例题

排序与检索 大理石在哪儿(Where is the Marble? UVa 10474) 题目描述 现有N各大历史,每个大理石上写了一个非负整数。首先把各数从小到大排序,然后回答Q个问题。每个问题问是否有一个大理石上写着某个整数x,如果是,还要回答哪个大理石上写着x。排序后的大理石从左到右编...

2018-05-25 16:23:53

阅读数:46

评论数:0

笔记

输入输出运算符重载 重载前置++、后置++、前置–、后置– 重载运算符() 输入输出运算符重载 // Fruit.h #include <string> #include <iostream&...

2018-05-24 22:14:47

阅读数:11

评论数:0

信息解码(Message Decodng, ACM/ICPC World Finals 1991, UVa213)

#include <stdio.h> #include <string.h> int code[8][1<<8]; int readChar() { for...

2018-05-24 14:05:08

阅读数:12

评论数:0

救济金发放(The Dole Queue,UVa 133)

救济金发放 问题描述 n(n<20)个人站成一圈,逆时针编号为1~n。有两个官员,A从1开始逆时针数,B从n开始顺时针数。在每一轮中,官员A数k个就停下来,官员B数m个就停下来(注意有可能来两个官员停在同一人上)。接下来被官员选中的人(1个或者2个)离开队伍。 输n,k...

2018-05-24 13:09:43

阅读数:15

评论数:0

刽子手游戏(Hangman Judge, UVa 489)

问题描述 刽子手游戏其实是一款猜单词游戏,游戏规则是这样的:计算机想一个单词让你猜,你每次可以猜一个字母。如果单词里有那个字母,所有该字母会显示出来;如果没有那个字母,则计算机会在一副“刽子手”画上填一笔。这幅画一共需要七笔就能完成,因此你最多只能错6次。注意,猜一个已经猜过的字母也算错。 在...

2018-05-24 12:38:02

阅读数:23

评论数:0

c语言指针、数组、函数做函数参数详解

用指针做参数 #include <stdio.h> void swap(int *a, int* b) { int t = *a; *a = *b; *b = t; } int main() { int a = 3,...

2018-05-23 00:08:43

阅读数:47

评论数:0

生成元(Digit Generator, ACM/ICPC Seoul 2005, UVa1583)

生成元 问题描述 如果x加上x的各个数字之和得到y,就说x是y的生成元。给出n(1<=n<=100000),求最小生成元。无解输出0。例如,n=216,121,2005时的解分别为198,0,1979。 分析 本题看起来是个数学题,其实不然。假设...

2018-05-22 23:11:56

阅读数:10

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭