自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 Unity SendMessage 使用方法

SendMessage 为unity自带的脚本通信技术,使用方便。gameobject.SendMessage(方法名,参数,提示信息);方法名:需要接收消息gameobject挂载脚本上的方法名,无视访问权限。参数:object类型,单值,多值传数组,同理接收方参数列表页应为数组。//参数注意事项:就算没有对应参数列表的方法,还是会调用同名的方法,所以SendMessage不是寻找函数签名,只是寻找函数名提示信息为枚举类型:SendMessageOptions.DontRequireRecei

2020-07-27 21:41:02 1130

原创 搜索基础之树与图的基本遍历方法与基本信息的收集

图的存储方法采用邻接表存储。一.树与图的深度优先遍历,树的DFS序,深度与重心、树与图的深度优先遍历树可以看作时边数N-1的无向图,图就是图,这样可以达到树与图遍历的代码统一。void DFS(int x) { //O(n+m) vis[x] = 1; for(int i = head[x]; i;i = Next[i]) { int v = var[i]; if(vis...

2020-04-05 18:52:09 191

原创 有向无环图可达性统计 拓扑排序

题意:给定一张N个点M条边的有向无环图,分别统计从每个点出发能够到达的点的数量。思路对于点x可达的所有点等于自己与自己相邻的点可达的点的并集,由于是又向无环图,我们可以用topSort来获得一个合理的先后顺序,然后从后往前统计节点能达到的点的数量。topSort 的性质:1.只能是又向无环图才能top排序。2.任意边(x,y) 在拓扑序中 x 都出现在y之前。所有我们通过top...

2020-04-05 18:04:28 716

原创 欧拉回路/欧拉路径求解,Fleury算法,Hierhoizer算法

欧拉路径就是一笔画问题,在一个连通图中,一笔走完所有路径不能有重复路径。无向图:具有欧拉回路的 充要条件 图连通,所有点的度数为偶数具有欧拉路径的 充要条件 图连通,具有0个或者2个奇数度数的结点有向图:具有欧拉回路的 充要条件 图连通,所有点的入度等于出度具有欧拉路径的 充要条件 图连通,一个点的出度大入度1度,一个点的入度大于出度1度,其余点出度等于入度。Fleury算法跟Hie...

2020-03-01 20:22:53 1161

原创 Eratosthenes埃氏筛法-素数筛法总结

质数得判断。如果一个x有因数m 那么 x%m= 0 则 x/m 与 m 都是x得因数,所以一个数因数一定时在sqrt(x) 左右成对出现得。素数得因数都是素数所以可以优化,比如1-n范围得素数 只用用1-sqrt(n)得素数筛就行了#include <bits/stdc++.h>using namespace std;#define ll long longconst i...

2020-02-22 19:13:40 245

原创 2019CCPC网络赛 HDU6705 - path(图论,优先队列)

题目https://vjudge.net/contest/325065#problem/D#include<cstring>#include<queue>#include<cstdio>#include<iostream>#include<algorithm>#include<vector>#inclu...

2019-09-15 17:46:03 146

原创 tarjan 算法 求强连通分量 及 缩点

tarjan算法可以用来求强连通分量, 强连通分量有个很好的性质就是任意2个点都是互相到达的也就是说任意2点都在一个环上.有了这样的性质有些问题中就可以把一个强连通分量当作一个点来看待,这样就可以把它们当作一个个超级点,特别的有时候单个点也可以是一个强连通分量, 所有可以把整张图简化为DAG(有向无环图) 这样就能简化问题:tarjan的实现需要一个low数组记录点最小的父亲编号 dfn数组...

2019-08-04 00:17:57 195

原创 tarjan算法笔记

tarjan算法可以用来求强连通块的块数,判断条件是low[x] = dfn[x];注意点:缩点后是将强连通块当作点,所以重建图的时候,发现原图2点不在同一强连通块就可以按照原图的方向链接2个超级点。建图可以能有重边但是大部分不会对解题产生影响。如果有需要可以用set去重。tarjan 当 low[x] = dfn[x] 时,弹出 x 包括x前面的元素,这些元素共同组成一个量连通块。不要忘记...

2019-08-03 15:54:12 109

原创 网络流24题总结

P2774 方格取数问题二分图最小点覆盖和最大独立集都可以转化为最大匹配求解。在这个基础上,把每个点赋予一个非负的权值,这两个问题就转化为:二分图最小点权覆盖和二分图最大点权独立集。二分图最小点权覆盖从x或者y集合中选取一些点,使这些点覆盖所有的边,并且选出来的点的权值尽可能小。建模:原二分图中的边(u,v)替换为容量为INF的有向边(u,v),设立源点s和汇点t,将s和x集合中的点相连...

2019-08-02 00:27:24 214

原创 EK算法邻接表实现

#include<cstring>#include<queue>#include<cstdio>#include<iostream>#define ll long longusing namespace std;const int inf = 0x3f3f3f3f;const int maxn = 1e4 + 1;const int ...

2019-07-31 14:09:15 180

原创 并查集模板

P1551并查集 路径压缩, 还有就是启发式合并, 小的树往大的树合并。用size数组记录每个父亲数组的大小在开始的时候初始化size数组为1然后每次合并的时候都比较出最大的根然后往大的树上挂就行#include<cstring>#include<iostream>using namespace std;const int maxn = 1e5;int f[m...

2019-07-29 01:51:23 60

原创 (P3406 海底高铁)差分数组的应用

差分数组就是 两项的差值组成的数组。int a[10] = {1,2,3,4,5,6,7,8,9}; // 差分数组 int c[10] = {1,3,5,9,14,20,27,35,44}; //原数组 差分数组与原数组相当于是逆运算。a数组的前缀和就是c数组c数组 a[i] = c[i] - c[i-1]; 前缀和数组的差分就是a数组他们是可以自由转换的。差分数组描述的是每项...

2019-07-29 01:18:19 292

原创 LightOJ - 1074 Extended Traffic(SPFA + DFS 求出负环)

题意多组数据给出街道的数量每个街道的点权u v 权值等于街道的点权差相减的三次方(线段的终点减起点)要求求出1到个个点的距离如果无法到达就输出?因为边权是一个差的3次方,则有可能是负数。所有有可能有负环, 负环上的点就不存在最短路径,所有找出负环,其他的点SPFA求最短路,如果连通就输出,不连通就归为无法到达的一类。如果在负环也是无法到达输出?。用SPFA判断负环,如果一个点入队...

2019-07-26 13:28:43 136

原创 P1546 最短网络 Agri-(树中找环)

解题思路 用dfs找到无向图中环的大小,然后把环储存起来,下次访问到环的时候之间拿去计算。无向图如何求环? 加入边的时候合并点如果2个点以及合并过则出现了环,把u,v当作终点与起点进行dfs就可以求出环。也可用top排序求环,无向图top排序失败剩下的点就在环上。#include<cstring>#include<cstdio>#include<iostre...

2019-07-24 11:38:51 162

原创 图的向前星存储方式

当图中的边很时,比如有1e6级别,这时用vector构建邻接表的性能不好。这时可以用另一种数据结构来储存图。她就是向前星, 这种数据结构时用数组模拟链表以实现图的邻接表存储。head[N] 数组存储以点n开始的最后一条边在Edge[N]数组的下标struct edge { int next, w, to; } E[N] //next指向下一条边的位置, w 权重, to 终点;void ...

2019-07-17 00:48:14 670

原创 1147 Heaps (30 分)

PAT1147题意,给出m个完全二叉树的层序遍历,树的结点时固定n个,要求判断是Min_Heap or Max_Heap or Not_Heap;这个题目简单,用树的后序遍历,判断根是否大于左右儿子需要注意的是,叶子结点的处理,那么如果判断max_heap 则将不存在的结点当作无穷小即一个很大的负数(因为题目说是integer) 我开始用的0,挂3个点,原来题目说的是整数,那么最小值不用用0...

2019-06-30 16:58:37 97

原创 1139 First Contact (30 分)

题目1139PAT题意帮人表白, 如A爱慕C, A找B男生,B找D女生,D告诉C,A喜欢她,女生如是。如果同性则都找同性。思路,只要是性别相同的朋友才加入图中,因为性别不同的朋友对答案只会有负面影响。然后用map记录所有关系。之后遍历2个lover的同性朋友们看有没有认识的如果认识就可以给他们介绍。总结:开始以为是负数表示女生,坑了。注意看题目,是负号表示女生。#include&lt...

2019-06-25 22:03:00 604

原创 1117 Eddington Number (25 分)

1117PAT点击上面查看题目这个题我读了半天没读题目,题目很简单但是,我没读懂题目。给出N天 要求出一个最大的E天,每天骑行的距离都大于E。这个题虽然很简单但是坑了我一下,我还是去看了别人题解才看懂题目的。代码:这个题目有趣的是把ans++的位置换一下,竟然就需要多考虑一个地方了,下面这个写法完全不用考虑不是从break出来的情况,第二种则需要考虑从break出来的情况,这份代码是复...

2019-06-22 19:58:25 588

原创 1119 Pre- and Post-order Traversals (30 分)

PAT1119点击查看题目题意给出二叉树的先序遍历与后序遍历,要求判断据两序列重构的二叉树是否唯一。唯一输出Yes并且输出中序遍历,不唯一输出No,然后输出任意中序遍历。这个题我想了好半天可能太笨了吧,之前写过先序加中序,还有后序加中序,那些都是在书上看的题解然后自己写的,这个自己想了一会觉得还是很有意思的。先说怎么根据先序还有后序重建二叉树我是每次都把后序的最后一个元素当根来写的,后序...

2019-06-22 01:38:04 101

原创 1115 Counting Nodes in a BST (30 分)

PAT115点击阅读题目这个题目我要反省反省,以为自己会bst,就没认真看题干,写bst构造的时候把条件写错了写成了小于根的放在右边,明明题目都说了左边不超过或者与根相等,我还是写错了,以前也没有注意这个,可能以前学的时候知识是热乎的,自己写对写错也忘记了,时间一久,一些细节就暴露了,本来很快就能过的题目,我硬是找不出错误在哪里,原来就是哪里少了一个等于号,白白的浪费这么多时间,习惯了,我本来...

2019-06-21 20:17:23 429

原创 1114 Family Property (25 分)

PAT甲级114点击上面是题目题意给出n个家庭信息,家庭的家长id 父亲的id 母亲的id k个孩子的id 一共有几套房 房子的总面积要求求出一个家族中编号id最小的人,家族中的总人数, 家族的每个人平均房产面积,以及平均个人拥有的房屋套数。答案按照平均面积的非升序输出,如果有平局,按照最小id成员的非降序输出。我是用连同块做的,我直接把父母也当作孩子了,然后构建了一个无向图,这样孩子...

2019-06-21 17:41:41 275

原创 1111 Online Map(30 分)

Input our current position and a destination, an online map can recommend several paths. Now your job is to recommend two paths to your user: one is the shortest, and the other is the fastest. It is g...

2019-06-20 22:31:22 153

原创 1110 Complete Binary Tree (25 分)

Given a tree, you are supposed to tell if it is a complete binary tree.Input Specification:Each input file contains one test case. For each case, the first line gives a positive integer N (≤20) whic...

2019-06-20 13:41:01 123

原创 (算法笔记)分块的思想,在线查询

第一次写csdn哈哈哈,大二菜鸡,现在开始在csdn记录我变强的过程吧!今天在算法笔记上面学了一个分块查询,觉得很有意思,其思想简练但是又极大的加快了查询速度,并且自动排序。是一种以空间换时间的算法。分块查询,故名思意,就是把需要查询的数据分成一块一块的。比如:0~1e5个数,需要在线查询第k大的数是多少,当查询次数很大时,是无法承受的。用分块的思想可以把其查询时间复杂度的降低到O(N^-...

2019-06-18 21:21:40 225

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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