- 博客(20)
- 收藏
- 关注
原创 [python]生成函数yield和next
杨辉三角。把每一行看做一个list,试写一个generator,不断输出下一行的list:def triangles(n): L = [1] for i in range(n): yield L L = [0] + L + [0] L = [L[i] + L[i + 1] for i in range(len(L) - 1...
2019-09-15 17:30:25 116
原创 A1142【25】 第2/第3个测试点过不去
柳神的能过。。我的只有20分。。#include<iostream>#include<vector>using namespace std;int e[205][205] = { 0 };int main() { int nv, ne, m; cin >> nv >> ne; for (int i = 0; i < n...
2019-02-26 20:58:45 356
原创 [每日一题19/01/10]A1105 旋转矩阵(模板题)【需二刷】
好麻烦啊。。还有像四则运算这种,都好复杂。。只能靠背了。。 #include<cstdio>#include<vector>#include<cmath>#include<algorithm>using namespace std;bool cmp(int a, int b) { return a > b; }int...
2019-01-10 19:24:54 228
原创 [每日一题18/12/27]A1103 DFS/剪枝【需二刷】
这个题需要设的变量比较多,题不太难,但是有点复杂。思路:1、把小于N的P次方数提前存在一个数组中。2、用DFS从N中依次减掉K个P次方数,这里需要用到简单的剪枝和回溯,需要再看一下书。3、当每次递归终止时,记录最大的底数之和。知识点:1、剪枝与回溯。2、vector中的resize()函数。 题目要点:用K个P次方数之和的形式表示N,找到其中底数最大的一组解。#i...
2018-12-27 23:16:37 119
原创 [每日一题18/12/26]A1102 静态树转二叉树/遍历【需二刷】
好难啊,不会做,完全是抄的。。。思路:1、输入每一行数据,记录在node型数组a中,a只用到了id/l/r三个变量,不使用index/level。2、对数组a进行一次dfs遍历(先右后左),遍历过程中记录id/index/level,插入node型vector数组v1,不再使用l/r。3、将v1复制到v2,在v2进行按level小/index大的顺序排序。(也可以index小,第二步的i...
2018-12-27 00:17:59 139
原创 [每日一题18/12/25]A1101 Sort的简单使用
这道题相对比较简单,但有好多坑点:1、没有一个在主元位的元素时,要多输出一个空行。2、快排主元判断的时候,不仅要求该元素的位置正确,而且要它左边的元素都比它小。 题目要点:判断一个字符串中元素在主元位的个数。#include<cstdio>#include<algorithm>using namespace std;const int MAX = ...
2018-12-25 23:06:56 175
原创 [每日一题18/12/24]A1100 数字与字符串的映射
字符串与数字进行映射时,用string型数组比map要方便很多。注意点:1、cctype中的isdigit()可以判断字符串是不是纯数字2、getline(cin,s)函数要注意是格式3、str.substr(4,3)表示截取字符串str[4]及其之后的3个字符一些方法:1、用遍历的方式代替直接映射2、string型数字串转10进制数3、string型数组的使用 题目要...
2018-12-24 23:22:32 300
原创 BST模板
对于BST的各种操作新建节点:1、2 建立一个二叉查找树:3、4 删除节点:5、6 struct node node* newNode(int v) void insert(node* &root,int x) node* Create(int data[],int n) node* findMax(node* root) node* findMin(node* r...
2018-09-03 22:49:01 744
原创 AVL模板
建AVL树的步骤建立带高度的节点:1、2 计算、更新高度:3、4 左旋、右旋:6 插入、创建:7、8struct node node* newNode(int v) int getHeight(node* root) int getBalanceFactor(node* root) void updateHeight(node* root) node* search(node...
2018-09-03 22:37:11 410
原创 【总结二】图的模板函数
目录:一、图的两种建立方法——邻接表、邻接矩阵二、图的两种遍历方式——DFS、BFS三、最短路径——Dijkstra、Floyd 一、图的两种建立方法邻接表 vector<node>a[n] struct Node{ int v,w; Node(int m,int n) : v(m),w(n) {} //构造函数 } 邻接矩阵 ...
2018-09-01 23:32:25 148
原创 【总结一】STL标准模板库和algorithm头文件下的函数
目录:一、vector二、string三、map四、queue/priority_queue五、algorithm 一、vector下的函数迭代器(指针): vector <int> :: iterator it = vi.begin() ; 末尾插入: push_back(a) 末尾删除: pop_back() 元素总数: size() 插入元...
2018-08-31 23:46:39 193
原创 1034 Head of a Gang (30)
主要涉及图的构造、遍历,map<string,int>的用法。 一、图的构造:用邻接矩阵G[maxn][maxn]来构造图,方便放置权值w,但比较耗费空间,maxn在1000的数量级可以用这个方法。 用邻接表vector<int> G[maxn]来构造,节约空间,但是放置权值时需要用结构体node来造,不方便。同时需要有构造函数。struct Node{...
2018-08-28 00:14:02 131
原创 A1022 Tree Traversals (25)
问题:1、后序+中序建树(函数create)2、层序遍历(函数BFS) #include<cstdio>#include<cstring>#include<queue>#include<algorithm>using namespace std;const int maxn = 50;struct node{ int ...
2018-08-26 00:18:43 98
原创 DFS的简单例子
例题:给定N个整数,从中选择K个数,使得这K个数之和恰好等于一个给定的整数X;如果有多种方案,选择它们中元素平方和最大的一个。如:从4个整数{2,3,3,4}中选择2个数,使它们的和为6。平方和最大的方案为{2,4},和为20。 其中,递归函数需有以下4个部分:1.满足条件2.越界3.未满足条件,进入下一层4.走完该路径,换走另一条 #include<c...
2018-08-23 23:54:18 667
原创 A1060 Are They Equal (25)
比较容易出错的数据:4 000 00.000 //YES 0.0000*10^04 12 1234 //NO 0.1200*10^2 0.1234*10^4 函数中想不在return中返回,但需要返回值,要用&去写变量erase某一位置的值,最好用迭代器,而不用位号 #include<iostream>#include...
2018-07-07 00:42:34 139
原创 STL中string的常见用法
相比vector,不同的函数有:(1)erase函数的多种用法:str.erase(first,last) 删除迭代器[first,last)区间上的内容str.erase(pos,length) 删除从pos号位(并不是迭代器)起的length个元素str.erase(pos) 删除pos号位之后的所有元素(2)str.substr(pos,length...
2018-07-05 22:26:57 127
原创 STL中vector的常见用法
1、vector的定义vector <typename> name ;例如:vector <int> vi ;vector <node> vi ; //node是结构体类型vector < vector <int> > vi ; //二维vector数组,>>之间要加空格以防被当作右移操作2、迭代器iteratorvect...
2018-06-25 00:08:55 132
原创 A1084 Broken Keyboard (20)
散列的第一题(1)#include<cstring>头文件中的strlen函数(2)小写字母转大写字母 if(c1 >= 'a' && c2 <= 'z') c1 -= 32; '1' = 0x31 / 49D 'A' = 0x41 / 65D 'a' = 0x61 / 97D(3)gets不可用,需用cin.g...
2018-06-13 22:18:53 109
原创 A1025 PAT Ranking (25)
算法笔记上抄的第一个A组题,有挺多之前没接触过的点,稍稍作一下记录。 (1)#include<algorithm>头文件中的sort函数注意要加 using namespace std; 构造cmp函数: bool cmp (struct A , struct B){ …… } // “>”为递减排序 调用sort函数: sort (a[m] , a[n] ...
2018-05-30 23:14:51 329
原创 第一个博客!
经过了很长、很长、很长时间的拖延,终于,我也建起了自己的博客。最初的内容,在多年之后看来,必定是简单幼稚、不值一提的,但这也是成长的必经之路吧。今年这一年的博客,主要以PAT的A题代码及总结反思为主,等考研之后复试之前的那段时间,再去做一些小项目好了。祝好。2018年5月28日 ...
2018-05-28 23:41:35 142
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人