学习笔记
文章平均质量分 61
努力过
喜欢coding
展开
-
【算法入门竞赛经典】【7.2枚举排列】
7.2.1 生成1~n的排列 #include int num[20],n; void Print(int n,int *a,int cur) { int i,j,flag; if(cur == n+1)//递归边界 { for( i = 1; i ) printf("%d ",a[i]); printf(原创 2017-08-25 12:07:39 · 261 阅读 · 0 评论 -
【算法入门经典】 7.1简单枚举【除法】
7.1.1除法泪目 我是暴力都不会的菜鸡啊~~,之前一直在想怎么判断每位数都不同的情况,结果弄复杂了也没有解决,看了别人的博客才知道,原来可以这样,新的一年,希望自己的码力提升一点!#include<stdio.h> int Judge(int n,int m) { int num[11]; int k = 0,flag = 0; while(n > 0...原创 2018-01-01 16:16:46 · 574 阅读 · 0 评论 -
【算法入门经典】例题6.1 铁轨
一个很简单的模拟题吧,但是我都不是很懂,好菜啊。。。#include<stdio.h> #include<stack> using namespace std; #define N 10010 int n,target[N]; int main() { while(scanf("%d",&n)!=EOF) { stack<in...原创 2017-11-14 14:29:56 · 431 阅读 · 0 评论 -
【算法入门经典】6.3.3 二叉树重建【双十一大礼包】
输入一棵二叉树的先序遍历和中序遍历,输出它的后序遍历序列。运行如图目前还有一些细节没有懂,不过不影响我仍然喜欢学习的心情~#include<stdio.h> #include<string.h> #define N 1000 char s1[N],s2[N],ans[N]; //s1是先序遍历,s2是中序遍历 void build(int n,char *s1,char ...原创 2017-11-11 11:25:56 · 193 阅读 · 0 评论 -
【算法入门经典】6.3.2 层次遍历二叉树【结构体指针】
运行效果图 结构体指针实现#include<stdio.h> #include<stdlib.h> #include<string.h> #define N 10000 int failed,n,v,ans[N]; char s[N];//保存读入结点 typedef struct Node//结点类型 { int flag;//是否被赋值过 int ...原创 2017-11-09 20:08:12 · 341 阅读 · 0 评论 -
【算法入门经典】5.2.1排序与检索【uva10474 sort和lower_bound简单应用】
lower_bound的作用是查找“大于或者等于x的第一个位置”,如果所有元素都小于x,则返回last位置,并且last位置是越界的algorithm头文件中的sort可以对任何对象进行排序,不一定是内置类型#include<cstdio> #include<algorithm> using namespace std; const int maxn = 10000; i...原创 2018-02-17 18:09:01 · 195 阅读 · 0 评论 -
【算法入门经典】5.1.2不定长数组:vector【uva101 模拟】
vector是能够 存放任意数据类型的动态数组,如下:vector<int>pile[maxn]是建立一个vector,int为数组元素数据类型,pile为动态数组名,第一维大小固定,(不超过maxn),但是第二维大小不固定。vector头文件中的vector是不定长数组,可以用clear()清空,risize()改变大小,用push_back()和pop_back()在尾部增加或者删...原创 2018-02-17 22:58:20 · 244 阅读 · 0 评论 -
【算法入门经典】5.2.3集合:set【uva10815】
iterator迭代器是一种检查容器内元素并遍历元素的数据类型sstream包含了三个类:ostringstream,istringstream,stringstream。其中stringstream是字符串流,它将流与存储在内存的string对象绑定下来#include<iostream> #include<string> #include<set> #in...原创 2018-02-20 12:16:50 · 159 阅读 · 0 评论 -
【算法入门经典】5.2.4映射:map【uva156】
具体注意事项明天早上起来加上,好困啊。。。。#include<iostream> #include<string> #include<cctype> #include<vector> #include<map> #include<algorithm> using namespace std; map<string,int...原创 2018-02-20 23:24:19 · 187 阅读 · 0 评论 -
【算法入门经典】7.4回溯法【八皇后问题】
7.4.1 方法1. #include #includestring.h> int ans,n, map[20]; void search(int cur) { int i,j,flag; if(cur == n+1)//递归边界 ans ++; else { for(i = 1; i ) {原创 2017-09-11 17:02:04 · 288 阅读 · 0 评论 -
【算法竞赛入门经典】7.3子集生成【增量构造法】【位向量法】【二进制法】
7.3.1增量构造法 思路:一次选出一个元素放到集合中。自己对于递归的理解还是不够,这里虽然没有明确给出递归停止条件,但是如果无法继续添加元素,就不会再继续递归,然后就是我头疼的回溯啦。 #include int num[4],n; void A(int n,int *a,int ans) { for(int i = 0; i //打印当前元素 print原创 2017-08-29 17:31:46 · 560 阅读 · 0 评论 -
【位运算符与逻辑运算符知识点】【二进制枚举子集】【just for 状压】
(1):按位运算符&:例如:0 & 0 = 0, 0 & 1 = 0, 1 & 0 = 0, 1 & 1 = 1 即同为 1 的位,结果为 1,否则结果为 0。 (2)按位或运算符|:例如:0 | 0 = 0, 0 | 1 = 1, 1 | 0 = 1, 1 | 1 = 1即只要有1个是1的位,结果为1,否则为0。 (3)按位异或运算符^:例如:0 ^ 0 = 0, 0 ^ 1 = 1原创 2017-08-21 00:20:06 · 363 阅读 · 0 评论 -
BFS(广搜训练题目)
原文地址:BFS广搜题目【经典训练题】【有时间一个个做下来】作者:东方侠者pku 1175 Starry Night 题目地址:http://acm.pku.edu.cn/JudgeOnline/problem?id=1175 解法:BFS,要注意的是如何判断图形是一样的,我的做法就是计算每两个点的距离之和。 看:http://hi.baidu.com/doxi_free/blog/item/2e3转载 2017-07-22 16:21:04 · 446 阅读 · 0 评论 -
计算机基础问题【暑期任务】
1. 第一台电脑如何进行编程 二进制编程 2. 冯诺依曼机工作原理是什么?如何区分程序和数据 储存程序和程序控制 数据是材料,程序是处理材料的方法和步骤 3. 进制如何快速转换,16进制怎么转成10进制?为什么出现8进制和16进制 定义数字初值为零,从前往后每次加上16进制一个 位原创 2017-07-24 08:35:35 · 266 阅读 · 0 评论 -
大牛的博客(学习不止,更新不止)
ACMKuangbin大神 cxlove 卿学姐 111qqz原创 2017-07-11 10:09:23 · 292 阅读 · 0 评论 -
c++ queue类
自己用代码实现了一遍queue类的各个函数,具体使用见注释,运行效果见截图 /*queue被称为队列,是一种先进先出(FIFO)的容器适配器。*/ /*它只允许在一端插入元素操作,在另一端进行删除元素操作*/ /*插入的一端称为队尾,删除的一端称为队头*/ #include//如果要使用queue类中的函数,需要以下文件包含命令 #include using namespace std原创 2017-07-29 15:40:32 · 1225 阅读 · 0 评论 -
区间DP入门学习
区间DP,区间上做动态规划。一个大区间必然由长度不等的小区间合并而来,在合并过程中,最基本也是动态规划的必须原则:满足最优化原理和无后效性原则,所以在确定状态转移方程时,得特别留心这两点。区间DP区别于其它线性DP题的特点是:区间DP通过枚举区间分界点实现状态转移。词穷了,还是写题来感受吧~~,有坑自己再补上。入门题1:凸多边形三角划分题意:给定一个具有N(N<=50)个顶点的凸多边形,每个...原创 2018-05-09 23:58:27 · 812 阅读 · 0 评论