- 博客(20)
- 资源 (20)
- 问答 (1)
- 收藏
- 关注
原创 POJ 2049
题目大意,在迷宫中找一条出口,题目的本质其实是 BFS+ 队列实现,不懂网上为什么说是 优先队列,我觉得符合条件的才入队,不符合的就不入队,哪来优先级之说。还有,这道题在 构建图的模型中,对于xa,ya,在输入样例初始化的时候,我始终认为是 当d==1时,初始化xa . 可看了网上许多AC的代码,都是反过来的,好奇怪。#include#includeusing namespace st
2016-02-28 14:59:33 958
原创 POJ 1129
题目大意:给定一些点,和它们之间的连通关系,要求相邻的点之间信号不同,求出最少需要多少信号?这道题其实是染色问题,可以参照 图论里面的 四色定理(即只要四种颜色就可以将一幅地图染色,要求是相邻的各块面积颜色不同)所以这道题最大值就是4因为此题最多也就26个点,所以暴力搜索dfs,也可以accept#include#include#includeusing namespac
2016-02-27 15:54:26 627
原创 C++注意点(第二部分)
在C++中,sizeof运算符的作用是返回一个变量或数据类型在内存中所占用的字节数。用法:sizeof变量名sizeof(变量类型)地址是内存单元的编号,而指针则用于存放内存地址。&1.表示引用 int &rt;2.表示取地址运算符 int *pi = &i;指针:在引用指针之前一定要对其进行赋值;赋值为NULL的指针虽然不指向任何
2016-02-25 21:00:07 627
原创 POJ 1033
这是一道关于磁盘管理的题目。题目大意:磁盘中有N块簇,F块文件,每个文件分别分布在不同的簇中。默认,顺序查找速度最快。问的是,怎么调整顺序使得各个文件按照簇的逻辑顺序排列。举例:假设原始顺序为: 初始状态是这样的,0表示未占用: 簇号: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
2016-02-25 13:57:32 534
原创 C++注意点(第一部分)
传统的面向过程编程方式都是以具体实现过程为核心,以算法为驱动;而面向对象编程方式是以对象为核心,以消息为驱动。面向对象程序设计几个基本特征:封装、继承、多态封装有利于隐藏对象内部的信息,提高程序的安全性采用继承机制,便于实现代码重用采用多态,便于隐藏代码细节,使得代码能够模块化复合类:一个类的某些属性是某些类的对象
2016-02-24 21:54:41 567
原创 POJ 1011 (经典搜索)
这道题 是 比较经典的 搜索题。题意:给出一堆小木棍的长度,需要把它们拼成几根相同的大棍子,求 这些大棍子的最短长度分析:这道题主要使用,深度搜索+递归,当然这里用到多次剪枝,这对于减小时间复杂度很有效。#include#includeusing namespace std;int stick[64];int used[64];int len;int n;bool
2016-02-17 22:35:12 1328
原创 POJ 1042
题意:John去钓鱼,在一个单向的很多条湖的路边钓鱼,每条湖每5分钟能钓到的鱼的数量随着时间减少,每条湖之间的行走时间也是不同的,但是固定不变。问的是,给出总的时间h小时,编写算法,求出能钓到最多的鱼的解决方案。输入:湖的数量,给定的总时间,每条湖头5分钟能钓到的数量,每条湖钓鱼的衰减速率,每两条湖之间的行走时间输出:每条湖上 钓鱼的时间,以及最大的钓鱼的数量分析:枚举算法
2016-02-14 22:09:52 482
原创 POJ 1141
题目:定义合法的括号序列如下:1 空序列是一个合法的序列2 如果S是合法的序列,则(S)和[S]也是合法的序列3 如果A和B是合法的序列,则AB也是合法的序列例如:下面的都是合法的括号序列(), [], (()), ([]), ()[], ()[()]下面的都是非法的括号序列(, [, ), )(, ([)], ([(] 给定一个由'
2016-02-14 10:28:32 530
原创 POJ 1015
这道题应该来说,比较难,特别是变量的下标 有点多 且比较复杂。题目的意思是:给出n组数,每组数有一个P[i],D[i], 求出其中的m组,使得sum(P[i])-sum(D[i])绝对值最大,如果有多个这样的值,取其中sum(P[i])+sum(D[i])最大的一组分析:算法思想,动态规划用 V(i) 表示第i组的辩控差用S(i) 表示第i组的辩控和用f(j,k)
2016-02-12 14:39:48 518
原创 POJ 2593
题目:求一个序列中最大的两段不连续子串之和。很明显,这道题是用动态规划 来解答,主要是 列出状态转移方程tm[i]代表第i个数结尾的最大子串sm[i]代表第i个数开头的最大子串stm[i]代表后面n-i+1个元素的最大值#includeusing namespace std;#define MAX 100001#define max(a,b) a>b?a:bint
2016-02-09 23:12:13 761
原创 POJ 2479 (动态规划)
作为比较经典的算法思想,动态规划恐怕早已深入人心。今天在网上找了一个 题目来练练手。题目大意:给出一个 数字序列,求出最大的两个不连续子串之和 。 这道题 看似 就是 最大子序列和 的一个变种。本质都是用 DP 来解决。首先,将 a[i] 表示第 i 个元素,再建立 三个数组 tm[num],sm[num],stm[num]含义如下: tm[i] 表示 以第i个元素结尾的最大字
2016-02-09 22:28:18 1146
原创 HDU 1007 (分治递归)
之前做这题用了 讨巧的 方法,竟然也 accept 了,后来举出反例发现 那种解法有问题。正确解法:运用分治递归的思想,首先将 所有的点 按照x的大小顺序排好,相同的话,参照y的大小。 然后取中间的 一个点 作为分割线。这时,结果可能有三种情况,第一,最短的点对 在 分割线 左边;第二,最短点对 在 分割线 右边; 第三,最短点对 跨越了 分割线,一左一右。分别求出左边 和 右边
2016-02-07 14:33:40 688
原创 程序员必做60题
作为程序员,了解基本的数据结构和算法 是很有必要的。 如果要找题目练习一下自己的 编程能力,下面给出的练习题可以用来 练练手。POJ 北京大学程序在线评测系统1.动态规划2479 2593 1015 1042 11412.搜索1011 1033 1129 2049 205
2016-02-06 15:17:20 1409
原创 HDU 1007
题目大意是这样的:在坐标轴上给定一些点,求出这些点中距离最近的两个点之间的距离。最后输出的结果是 距离的一半分析:只要将这些点按照横坐标从小到大排序,相同的话,按照纵坐标从小到大排序,求出每两点之间最小的距离len1; 然后按照纵坐标从小到大排序,相同的话,按照横坐标从小到大排序,求出每两点之间最小的距离len2; 最终的结果就是 min(l
2016-02-05 13:26:39 744
原创 文件打包和解压缩
*.rar rar程序压缩的文件*.tar.gz tar打包,gzip程序压缩的文件1.zip压缩打包程序zip -r -q -o shiyanlou.zip /home/shiyanloudu -h shiyanlou.zip-r 表示递归打包包含子目录的全部内容-q 表示安静模式,不向屏幕上输出信息-o 表示输出文件使用du命令查看
2016-02-03 13:34:09 813
原创 环境变量与文件查找
declare 可用于创建指定类型的变量(数组)用”=“号进行赋值运算;使用echo命令和$符号读取变量例如:declare tmptmp=helloecho $tmp环境变量:set 显示当前Shell所有环境变量env 显示与当前用户相关的环境变量 export 显示从Shell中导出成环境变量的变量补充:chmod可以为文
2016-02-03 12:37:54 553
原创 Linux目录结构及文件操作
Unix是以目录为主的,Linux也继承了这一优良特性。Linux是以树形目录结构的形式来构建整个系统,可以理解为一个用户可操作系统的骨架。FHS文件系统层次结构标准FHS定义了系统中每个 区域的用途、所需要的最小构成的文件和目录同时给出了例外处理和矛盾处理。FHS定义了两层规范:1./下面的各个目录应该要放什么文件数据。/etc应该要放置 设置文件,/bin与/sbi
2016-02-02 16:25:36 659
原创 奇数变成最大的偶数
题目:给定一个奇数,交换两个数的位置,使它变成最大的偶数解析:将奇数的个位数 与 它之前的所有偶数比较,碰到比它小的数替换即可。 如果个位数比所有偶数都小,则把它与 最低位的偶数交换。#includeusing namespace std;void swap(int &a,int &b){ int tem
2016-02-01 20:42:09 1148
原创 Vim基本知识
1.普通模式上下左右键 移动光标;或者 h 左移、j 下移、k 上移、l 右移w 移动到下一个单词b 移动到上一个单词2.插入模式,按Esc回到普通模式3.可视模式4.选择模式5.命令行模式执行命令(:)、搜索(/或者?)、过滤命令(!)6.Ex模式 :visual终端输入,vim 可以打开编
2016-02-01 19:43:24 840
原创 Linux基本的快捷键
shell 命令行解释器,用于用户交互 和 编写shell脚本(.bat文件)ctrl+c 结束当前进程ctrl+d 退出终端ctrl+s 暂停程序,按下任意键继续执行ctrl+a 将光标移至行开头ctrl+e 将光标移至行末“上” 利用历史输入命令space 翻页Enter 下一行
2016-02-01 19:38:33 498
暴力音频检测VioAudio数据集.rar
2019-05-28
Voicebox语音处理包
2017-05-25
磁盘调度算法
2016-09-08
黑客与画家
2016-01-27
matlab 数据变量net,不显示内容
2016-01-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人