- 博客(14)
- 收藏
- 关注
原创 搜索 小结
搜索本质就是对图的遍历,也就是考虑全部的情况后找出需要的结果。这和动态规划思想基本一样,不一样的在于优化的方向不同。搜索优化在于剪枝,也就是把不需要的情况减去从而优化(还有对结果预测如A*算法,现在还不大会以后会了在总结吧)。而动态规划则是利用空间记录重复过程的值,从而减少重复遍历而达到优化(有点像递推,从小往大推,保存小的推大时候不用再求小的)。所以动态规划本质也就是优雅的暴力(以空间换时间)。...
2019-04-24 23:13:45
115
原创 区间dp初探
区间dp,在区间上面的动态规划,在整个区间上若干小区间求取最优解,然后将得到的最优解合并成整个区间的最优解,有点贪心的味道。 需要注意的事项:由于dp用到的循环较多,所以每个代码实现之前应该考虑代码优化设计 ...
2019-04-14 22:54:49
118
原创 再探dp+背包问题
不想水,可是三天学到的东西很少,代码还是那几个。感觉除了老师讲的内容可以稍微理解,自己可以探索的东西真实少之又少。 从数塔一题多解得出:dp算法可以双向推导,如果要给出求解路径优先选择逆向推导,可以加上三维数组的第三维标记路径然后正向输出。 正推与反推核心算法(转移方程)差别不大,但实现过程千差万别,考虑问题时应该多方面考虑。如果可能,今后也可尝试一题多解,可是时间不太够。 01背包问题 f[i...
2019-03-31 22:52:10
131
原创 dp初探
接触dp(动态规划)5天,上了两次课,第一次上课睡了水了衰了,因为轻薄把dp想简单了,就放松了,加上前一天网上打贪心最后两个题没打出来,零点过后又尝试打了dp的水题,感觉很简单,超时,还是想的简单了,以为超时可以通过优化算法解决问题,实际上是思路错误,这一点之后几天才知道。 第二次认真听课才稍微懂了一点dp,我的初步理解dp是有条件的遍历循环,这几天在看例题,感觉例题还可以看过去,但是卡在了o...
2019-03-27 22:12:41
124
原创 贪心算法 部分 题目解题报告
POJ 2231 #include #include #include using 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
527
原创 功不唐捐 玉汝于成---贪心算法终结
历时10余天,做了12个贪心的题目,虽然题目做的不多,但总结贪心是一种从局部考虑解决问题的思想。 做题过程中遇到的主要瓶颈是阅读题目太慢,有时候一道题目得看很长时间但理不清解题思路。好不容易读懂题目,找不到解题策略。想到了解题办法,却不能代码实现。代码基本实现,测试样例通过却不AC。 贪心这块没有技巧,技巧应该在之前学的STL和将要学习的动态规划,唉,STL没做几道题目,一些知识点似懂非懂,参...
2019-03-24 22:22:13
282
原创 反思
上次已经写了一次关于贪心的小节,时隔三天,竟没有知识可写,三天下来,写了近10个代码,期间也有好多问题被搁置下来尚未解决。为了追求高速度,为了排名,现在想起来能写的几乎寥寥。 得改,大改。 认真做,重复做,熟练做, 并附上解题报告。 ...
2019-03-20 22:45:50
75
原创 贪心算法小结
在求最优解问题的过程中,依据某种贪心标准,从问题的初始状态出发,直接去求每一步的最优解,通过若干次的贪心选择,最终得出整个问题的最优解,这种求解方法就是贪心算法。它所做出的选择只是在某种意义上的局部最优解。 贪心解题考虑问题: 题目是否适合于用贪心策略求解 如何选择贪心标准,以得到问题的最优/较优解 最优子结构: 当一个问题的最优解包含其子问题的最优解时,称...
2019-03-17 22:09:16
579
原创 STL小结
typedef 用来为复杂的声明定义简单的别名,它与宏定义有些差异。 priority_queue<LL, vector, greater > pq; 优先队列从小到大排列 isalpha 判断字符ch是否为英文字母,若为英文字母,返回非0(小写字母为2,大写字母为1)。若不是字母,返回0 tolower是一种函数,功能是把字母字符转换成小写,非字母字符不做出处...
2019-03-13 23:15:35
92
原创 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
139
原创 关于HDU的课程设计
Problem A Problem 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
253
原创 数组 总结
一.一维数组 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
81
原创 1.分钱问题;2,bool数据结构;3,找出素数最简单方法;4,美剧平方根x
1.1. while while 循环的一般形式: while (表达式) { 代码块 } 开始 表达式 代码块 结束 yes no while 循环的特点: 只要当循环条件表达式为真,就执行循环语句。 先判断条件表达式,后执行循环语句。 do···while do···while 循环的一般形式: do { 语句 }while (表达式); do···while 循环的流程图: 开始 代码块...
2018-12-09 22:47:23
136
原创 对C++一脸懵逼却又无比热爱的第一篇
对于刚入门的数学系学生来说,刚接触计算机语言当头一棒,敲醒了我的休闲大学梦。 经过这几天的学习,已经被他磨练的瘦骨嶙峋。 再怎么说也得糊弄糊弄 说一下埋藏在心底的小九九吧 头文件必不可少 目前来说,必备的头文件分别是: #include \此后定义输入输出 #include \尚不清楚 #include \调用数学里面的东西 using namespace std. \使...
2018-11-11 23:51:53
464
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人