自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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关注的人

提示
确定要删除当前文章?
取消 删除