- 博客(14)
- 收藏
- 关注
原创 搜索 小结
搜索本质就是对图的遍历,也就是考虑全部的情况后找出需要的结果。这和动态规划思想基本一样,不一样的在于优化的方向不同。搜索优化在于剪枝,也就是把不需要的情况减去从而优化(还有对结果预测如A*算法,现在还不大会以后会了在总结吧)。而动态规划则是利用空间记录重复过程的值,从而减少重复遍历而达到优化(有点像递推,从小往大推,保存小的推大时候不用再求小的)。所以动态规划本质也就是优雅的暴力(以空间换时间)。...
2019-04-24 23:13:45
165
原创 区间dp初探
区间dp,在区间上面的动态规划,在整个区间上若干小区间求取最优解,然后将得到的最优解合并成整个区间的最优解,有点贪心的味道。需要注意的事项:由于dp用到的循环较多,所以每个代码实现之前应该考虑代码优化设计...
2019-04-14 22:54:49
172
原创 再探dp+背包问题
不想水,可是三天学到的东西很少,代码还是那几个。感觉除了老师讲的内容可以稍微理解,自己可以探索的东西真实少之又少。从数塔一题多解得出:dp算法可以双向推导,如果要给出求解路径优先选择逆向推导,可以加上三维数组的第三维标记路径然后正向输出。正推与反推核心算法(转移方程)差别不大,但实现过程千差万别,考虑问题时应该多方面考虑。如果可能,今后也可尝试一题多解,可是时间不太够。01背包问题f[i...
2019-03-31 22:52:10
182
原创 dp初探
接触dp(动态规划)5天,上了两次课,第一次上课睡了水了衰了,因为轻薄把dp想简单了,就放松了,加上前一天网上打贪心最后两个题没打出来,零点过后又尝试打了dp的水题,感觉很简单,超时,还是想的简单了,以为超时可以通过优化算法解决问题,实际上是思路错误,这一点之后几天才知道。第二次认真听课才稍微懂了一点dp,我的初步理解dp是有条件的遍历循环,这几天在看例题,感觉例题还可以看过去,但是卡在了o...
2019-03-27 22:12:41
175
原创 贪心算法 部分 题目解题报告
POJ 2231#include#include#includeusing namespace std;int main(){long long n,d=0,b=0,c;long long a[1000001];cin>>n;for(int i=1;i<=n;i++){ cin>>a[i];}sort(a,a+n+1);/按照从大到小排列输入的元...
2019-03-24 22:47:05
582
原创 功不唐捐 玉汝于成---贪心算法终结
历时10余天,做了12个贪心的题目,虽然题目做的不多,但总结贪心是一种从局部考虑解决问题的思想。做题过程中遇到的主要瓶颈是阅读题目太慢,有时候一道题目得看很长时间但理不清解题思路。好不容易读懂题目,找不到解题策略。想到了解题办法,却不能代码实现。代码基本实现,测试样例通过却不AC。贪心这块没有技巧,技巧应该在之前学的STL和将要学习的动态规划,唉,STL没做几道题目,一些知识点似懂非懂,参...
2019-03-24 22:22:13
349
原创 反思
上次已经写了一次关于贪心的小节,时隔三天,竟没有知识可写,三天下来,写了近10个代码,期间也有好多问题被搁置下来尚未解决。为了追求高速度,为了排名,现在想起来能写的几乎寥寥。得改,大改。认真做,重复做,熟练做,并附上解题报告。...
2019-03-20 22:45:50
109
原创 贪心算法小结
在求最优解问题的过程中,依据某种贪心标准,从问题的初始状态出发,直接去求每一步的最优解,通过若干次的贪心选择,最终得出整个问题的最优解,这种求解方法就是贪心算法。它所做出的选择只是在某种意义上的局部最优解。贪心解题考虑问题:题目是否适合于用贪心策略求解如何选择贪心标准,以得到问题的最优/较优解最优子结构:当一个问题的最优解包含其子问题的最优解时,称...
2019-03-17 22:09:16
649
原创 STL小结
typedef用来为复杂的声明定义简单的别名,它与宏定义有些差异。priority_queue<LL, vector, greater > pq; 优先队列从小到大排列isalpha 判断字符ch是否为英文字母,若为英文字母,返回非0(小写字母为2,大写字母为1)。若不是字母,返回0tolower是一种函数,功能是把字母字符转换成小写,非字母字符不做出处...
2019-03-13 23:15:35
135
原创 STL (标准模板库)简单应用 堆栈 (stack),队列(queue),向量,动态数组(vector),upper and lower bound,map(映射)和multimap
头文件#include<stack>命名stack<data_type>name输入name.push(变量)弹出name.pop();(顶端数据)name.size()(变量大小)name.empty()(返回栈内是否为空,是,返回值是1,不是,返回值是0)头文件#include<queue>与栈不同之处在于它第一进第一个出...
2019-03-10 22:13:32
189
原创 关于HDU的课程设计
Problem AProblem Description输入一个百分制的成绩t,将其转换成对应的等级,具体转换规则如下:90~100为A;80~89为B;70~79为C;60~69为D;0~59为E;Input输入数据有多组,每组占一行,由一个整数组成。Output对于每组输入数据,输出一行。如果输入数据不在0~100范围内,请输出一...
2019-01-05 19:08:29
313
原创 数组 总结
一.一维数组1.数组的创建及初始化(1)数组创建时,[]中要给一个常量,不能用变量例:int main(){int a[10];char b[4];double d[6];}(2)数组在创建时时未指定数组的确定大小时,就得初始化。此时数组的元素个数根据初始化的内容来确定例:char a[] = {'a','b','c'}2.一维数组的使用(1)数组下标从0开始;(2)数...
2018-12-24 21:40:55
128
原创 1.分钱问题;2,bool数据结构;3,找出素数最简单方法;4,美剧平方根x
1.1. whilewhile 循环的一般形式:while (表达式){ 代码块 }开始表达式代码块结束yesnowhile 循环的特点:只要当循环条件表达式为真,就执行循环语句。先判断条件表达式,后执行循环语句。do···whiledo···while 循环的一般形式:do{语句}while (表达式);do···while 循环的流程图:开始代码块...
2018-12-09 22:47:23
187
原创 对C++一脸懵逼却又无比热爱的第一篇
对于刚入门的数学系学生来说,刚接触计算机语言当头一棒,敲醒了我的休闲大学梦。经过这几天的学习,已经被他磨练的瘦骨嶙峋。再怎么说也得糊弄糊弄说一下埋藏在心底的小九九吧头文件必不可少目前来说,必备的头文件分别是:#include \此后定义输入输出#include \尚不清楚#include \调用数学里面的东西using namespace std. \使...
2018-11-11 23:51:53
517
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅