![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ccf备考
kikook
这个作者很懒,什么都没留下…
展开
-
【day5】今天对前50道实验题中的经典题目和思想小结一下
1.递归思想 2.编码思想 3.memset的对字符数组初始化的方法总结 4.模拟题中构造字符数组的正确初始化与结束符号的标记 5.防止惯性思维,不要把自己的常识加到题目当中 6.vector的另外一个强大函数功能补充erase() 7.对string的直接修改是可以的 8.关于迭代器的更深的认识,在使用erase函数之后的迭代器自动移后一位3.memset对字符数组进行初始化的小...原创 2018-07-17 09:53:12 · 146 阅读 · 0 评论 -
[C/C++]getchar的陷阱
Getchar()的陷阱文 BY Allen 20180912 昨天模拟测试的时候,测试完查看结果,发现第一题的字符串反转问题的10组数据全部超时,一头雾水,然后问了下周波老师,老师要我弄懂了这个问题后写篇小结发到群里防止大家犯错 题目 我查了下暑假的ac代码又回顾了自己测试的时候写的代码,发现核心的不同就在while循环的读入中 ...原创 2018-09-12 09:19:37 · 1427 阅读 · 3 评论 -
排序知识点小结1-手写堆排序及STL实现
首先是造轮子:// maximum heap based on integer type#include <bits/stdc++.h>using namespace std;const int MAX_SIZE = 100000;int heap[MAX_SIZE], result[MAX_SIZE];int size;void init(){ memset(h...原创 2018-12-07 18:03:47 · 281 阅读 · 0 评论 -
图知识小结5-kruskal算法的数组模拟实现与应用
#include <bits/stdc++.h>using namespace std;const int MAX_EDGE = 100000;const int MAX_VERTICES = 100;struct Edge{ int len, u, v;} edge[MAX_VERTICES];int fa[MAX_VERTICES], nv, ne;bool cm...原创 2018-12-08 17:15:06 · 170 阅读 · 0 评论 -
图论知识小结4-Dijkstra的数组模拟实现
#include <bits/stdc++.h>using namespace std;const int MAX_EDGE = 10000;const int MAX_VERTICES = 100;struct Edge{ int len, v, last;} edgem[MAX_EDGE];int latest_edge_of_u[MAX_VERTICES];in...原创 2018-12-06 19:27:36 · 203 阅读 · 0 评论 -
【C++】CCF 201703-4 地铁修建 【从80分到100分的优化过程】
#include <bits/stdc++.h>using namespace std;const int MAX_EDGE = 200005;const int MAX_VERTICES = 100005;struct Edge{ int v, len, last;} edge[2 * MAX_EDGE]; //开始是80分,后来改了一下就对了,原因是无向图的边集上限...原创 2018-12-07 18:07:57 · 420 阅读 · 0 评论 -
图论知识小结1-使用数组模拟实现邻接表
//普通一维数组模拟实现const int MAX_N = 100;const int MAX_M = 10000;//建立MAX_N条边 struct edge{ int v; //当前边的终点 int last_eid; //上一条相同起点的边的编号 }edge[MAX_M]; int latest_eid_of_u[MAX_N], temp_eid; void ini...原创 2018-12-09 23:35:24 · 299 阅读 · 0 评论 -
图知识小结6-DFS应用【CCF201709-4通信网络】
#include <bits/stdc++.h>using namespace std;const int MAX_EDGE = 10005;const int MAX_VERTICES = 1005;int conn[MAX_VERTICES][MAX_VERTICES]; //记录两个点之间的连通性质 struct Edge{ int v, last;} edge[...原创 2018-12-09 23:38:46 · 404 阅读 · 0 评论 -
[c++]Prim 算法伪代码和算法思想
Prim 算法明天数据结构期末考试,估计也不会考这些代码(每次就考怎么画图?总感觉我考了个假的数据结构)但是数据结构学到今天课本上也就是这个算法一直实现不了今天看了下课本,给的代码也不全,自己理解了一下,给出其完整的伪代码和各个部分的伪代码实现算法思想:和Dijkstra其实非常的类似不同的是,对于Dijkstra其每次更新距离数组的值是对于图中的每一个顶点,考察它与"当前最小...原创 2019-01-08 22:04:10 · 3634 阅读 · 0 评论 -
[C++]kruaskal的伪代码描述
既然给出了prim的,就顺便写一下Kruskal的伪代码描述:struct Edge{ int u, v, w; //u for starting point, v for end point, w for weight Edge(int u, int v, int w){ this->u = u; this->v = v; this->w = w; }...原创 2019-01-08 22:22:25 · 996 阅读 · 0 评论 -
【day9】
再探transform方法的注意事项 对于string内部的整理更优的办法1.再探transform方法在大小比较过程中的应用: transform(temp_title.begin(),temp_title.end(),temp_title.begin(),::tolower);这是一段非常经典的用法,是将某处的字符串自身转换为全小写的快速写法当然,问题是...原创 2018-09-05 17:19:13 · 156 阅读 · 0 评论 -
【9-5】参悟深度搜索和广度搜索
1.关于昨天总结的stringstream类,其本需要引入头文件sstream,但是其可以使用万能头文件来代替,即include <bits/stdc++.h>2.可以使用*(迭代器名)直接访问相应的元素,例如:set <string> S; S.insert("test"); cout << *(S.begin());//避免了迭代器...原创 2018-09-05 09:04:07 · 103 阅读 · 0 评论 -
【day6】坚持即胜利!!战!!!
1.字符串string类转为字符数组的方法 2.数字转化为字符串 3.ong long 范围是19位数字 4.使用transform方法实现字符串中的字符全部转换为大写字母或者全部转换为小写字母 5.set有对元素进行排序的功能 6.今天要看懂的动态规划1.前天总结了字符数组转化为字符串的小技巧,今天总结string str转char str[]的方法,以实现两种字符串的自由转化使...原创 2018-07-18 01:21:45 · 184 阅读 · 0 评论 -
【day9】今天get的技巧和易错点小结
1.对每一个事件设置一个自己的计时器,并调整遍历的方式,可以有效解决在同一时间有多个事件并发按照时间编号从低到高或者从高到低的输出 2.动态规划基础之递推&切棍子的递归解和动态规划的比较(算法导论) 3.使用priority_queue解决归并排序问题,及多个的推广1.对每个事件使用计时器,但不要忘了初始化,否则数据爆炸#include <bits/stdc++.h>...原创 2018-07-24 00:20:45 · 163 阅读 · 0 评论 -
【day7】
1.再探substr的保险使用方法今天上午写电话号码,死活有数据不过,最后找助教要了一组没过的数据测试了下,发现了奇怪的现象使用默认参数的substr(size_t start , size_t length)实现string substr (size_t pos = 0, size_t len = npos) const;我的用法是:string result = str....原创 2018-07-19 16:11:07 · 131 阅读 · 0 评论 -
暑期刷题每日小结
今天是第一次写小结,希望自己坚持到考ccf,↖(^ω^)↗1写多重嵌套循环的时候,一定要注意变量名称的选取,不能够重名2如果在使用了动态数组的过程中改变了动态数组的长度,那么一定要注意不能直接使用动态数组的长度作为变量的结束符号,否则严重错误3.有时候,不能使用ch == 10作为一组数据输入的结束标志,因为这组数据的末尾没有回车,设置计数器是最保险的方法4.对于vector进行排序的方法是写so...原创 2018-07-13 12:11:51 · 175 阅读 · 0 评论 -
【day2】七个常用的c风格字符串操作函数小结
首先它们都在string.h里面1.strcmp这个函数在string.h里面其作用是比较两个字符数组的大小strcmp(a,b) 当a > b 时,返回 正整数a == b 时,返回 0a < b 时 ,返回 负整数如果是两个string类的字符串,则可以直接使用> < == 进行比较如果不想区分大小写字母,可以使用stricmp函数2.strcatstrcat(a,b...原创 2018-07-14 20:05:11 · 210 阅读 · 0 评论 -
【day2】C++风格查找字符和字符串小结
由于string非常的强大,对+ ,< , > , == , 这些符号都进行了重载很方便它的另外的常见用途的是查找字符串和字符原创 2018-07-14 20:39:03 · 127 阅读 · 0 评论 -
【Day3】小结所有常用的string类技巧
目录: 1.解决超时技巧 2.逆序迭代器rit和四个常见参数 .begin(), .end() , .rbegin() , .rend()的使用方法 3.string类中函数find()的用法 4.string类中函数erase()的用法 5.string类中函数substr()的用法 6.使用stack结构的易错点 7.string类重载的符号 8.逆序通用...原创 2018-07-15 09:01:14 · 356 阅读 · 0 评论 -
【day8】今天结束这60题吧
1.十进制 :decimal system 二进制: binary system 八进制: octonary system 十六进制:hexadecimal 今天在写第60题拼写检查的时候,发现其有个奇怪的现象,就是计算并存入了vec_t的数据无法输出,最后输出中间过程发现最后的数据并没有进入输出模块,而是依然在数据处理的部分,错因是数据处理的过程中使用了stl但是又没有意识到一个...原创 2018-07-20 17:24:05 · 119 阅读 · 0 评论 -
【Day4】坚持!!!
1.将字符串char*转化为整数的函数atoi(ascii to integer) 2.不要对string中的内容用循环直接进行修改操作,最好用迭代器 3.C中string转char*的函数 str.c_str()及其本质探索 4.万能头文件#include <bits/stdc++.h> 5.对字符串替换数字时特别易错的是要替换为‘1’而不是 1 6.将字符串转化为小数的a...原创 2018-07-16 09:27:22 · 145 阅读 · 0 评论 -
【9-4】知识点小结
1.使用transform方法实现大小写的转换:#include <bits/stdc++.h>using namespace std;int main(){ string str = "aBCdEFgHiJK"; string temp_upper = str; string temp_lower = str; transform(temp_upper.begin...原创 2018-09-04 15:52:36 · 128 阅读 · 0 评论