- 博客(7)
- 收藏
- 关注
原创 一笔画与哈密尔顿环
若一个图存在一笔画,则一笔画的路径叫做欧拉路 若最后还回到起点,则这个路径为欧拉回路 (奇点: 跟这个点相连的边数目为奇数的点) 定理1:存在欧拉路的条件:图是连通的,有且只有2个奇点。 定理2:存在欧拉回路的条件:图是连通的,0个奇点 用DFS判断即可#include<cstdio>#include<vector> #include<iostream>#de
2017-05-23 15:15:54 1614
原创 数组模拟存邻接表跑dfs 模板
之前一直是用点跑dfs,结果发现稀疏图的时候这样跑很慢 所以,用数组模拟的邻接表跑边还好些 下面是跑点的深度的dfs#include<cstdio>#include<iostream>#define L 1005using namespace std;int n, m, tot;struct node{ int to, nxt, val; /
2017-05-22 15:32:22 537
原创 油田(uva572 Oil Deposits) dfs模板题
紫书上面的水题 暴力dfs题意: 多组案例,每组案例输入一个m行n列的字符矩阵,统计字符‘@’组成多少个连通块。如果两个字符‘@’所在的格子相邻(横、竖或对角线),则说明它们属于同一连通块。案例: Sample Input 1 1 * 3 5 *@*@* **@** *@*@* 1 8 @@****@* 5 5 ****@ *@@*@ *@*
2017-05-09 11:54:09 247
原创 c++读入输出优化
终于学读入优化了(像我这种暴力选手平时还没有考虑到优化时间复杂度的问题,尴尬)像有些大数据的题读入优化好像还是有那么点卵用,滑稽读入优化(我用的是void类型,感觉也差不多)void read(int &x){ x = 0; int w = 1; char ch = getchar(); while(ch != '-' && !(ch >= '0' && ch <= '9'))
2017-05-08 21:07:15 526
转载 lower_bound()返回值
函数lower_bound()在first和last中的前闭后开区间进行二分查找,返回大于或等于val的第一个元素位置。如果所有元素都小于val,则返回last的位置举例如下:一个数组number序列为:4,10,11,30,69,70,96,100.设要插入数字3,9,111.pos为要插入的位置的下标则pos = lower_bound( number, number + 8, 3) -
2017-04-25 11:52:00 549
原创 归并排序--二分
归并排序就是将数组反复拆分成两部分,然后分别在这两部分里面再反复拆分,讲拆分成的两部分按顺序排好之后再归并起来,归并起来之后再反复交换位置,最终使整个数组按顺序排列。具体操作方法(按从小到大排)拆分成的两部分依次比较,若前半部分的较小,将其存入数组tmp中,将前面的下标i++;若后面一部分较小,则将后面一部分的j所指向的值存入tmp中然后再依次把在区间内还未存入的值存入tmp中
2017-03-28 21:01:54 467
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人