PAT算法
帅气的拉格朗
这个作者很懒,什么都没留下…
展开
-
scanf用法
不看不知道,一看吓一跳。 我都不知道scanf 能读入空白字符 这里是具体使用方法,下次用的时候要记住!!!!!!!原创 2020-05-04 23:18:52 · 161 阅读 · 0 评论 -
剪枝
之前剪枝一直搞不太懂,就是那种懵懵懂懂的,现在觉得还是好好搞懂最重要,看了很多例题,做了几个题,得出几个理论性的结论。 剪去不会走到的点其实就算是可行性剪枝,因为他的意义是剪去不可行的枝。 通过上界来确定最优解,剪去比上界更大的枝,即最优性剪枝。 ...原创 2020-03-21 18:08:42 · 160 阅读 · 0 评论 -
BFS解题思路
广度优先算法常用方法: 由队列进行实现,按照层数顺序进行遍历 eg: m*n的01矩阵,求由1构成的块(上下左右都是1)的数量 解题思路: 读入矩阵 遍历矩阵,若该值为1且未入队列,则ans++,把其周围为1 的inq置为1 (使用BFS进行,一定要判断是否需要访问) 输出ans #include <bits/stdc++.h> using namespace std; cons...原创 2020-03-01 15:59:21 · 314 阅读 · 0 评论 -
DFS解题惯用手法
总结一下,之后写题也更顺手~ eg: 给定N个整数,有正有负,从中选K个数使得和等于给定的整数X,选择他们中元素平方和最大的那个。 const int maxn=10020; int n,k,x,maxSqu=-1,A[maxn]; vector<int> temp,ans;//要使用vector进行 void DFS(int index,int nowK,int sum,int su...原创 2020-02-29 23:02:48 · 171 阅读 · 0 评论 -
算法记录--STL的string
(在寻找怎样记录方式更好,就可能格式什么的都会不太一样) string: 用于存放字符串 string访问: 与数组类似用下标进行访问(要输出整个字符串,只能用cin和cout,也可以用printf进行输出,只是要进行str.c_str()的转化,转为字符数组进行输出) 迭代器进行访问(迭代器定义:string::iterator it ;之后可以用*it进行string中的每个字符的访问),...原创 2020-02-06 23:26:54 · 126 阅读 · 0 评论 -
算法记录--STL的vector
寒假笔记本落学校了,暂记在这里。 1.vector(可用vector以邻接表存储图) 定义 vector<typename> name (一维数组的定义) vector<typename> Arrayname[arraySize] (vector数组的定义,一维长度固定为ArraySize) vi.push_back(i):在vector vi的末尾添加元素i 访...原创 2020-01-28 22:45:28 · 193 阅读 · 0 评论 -
算法记录--STL的set
set是个内部自动有序且不含重复元素的容器,可用于去掉重复元素 定义与vector类似,且访问也只能通过迭代器进行访问(set< typename > ::iterator it ),通过*it进行访问内部元素,只能进行枚举访问 常用函数 insert():insert(x)把x插入到容器中 find(value): 返回对应值为value相应的迭代器 erase() :set.er...原创 2020-02-04 22:50:20 · 127 阅读 · 0 评论