- 博客(14)
- 资源 (12)
- 收藏
- 关注
原创 HDU1166 树状数组
题目链接初始给一个数组,然后对这个数组中的元素进行加减操作,比如add i x,就是把数组中第i个元素加x;sub减法就可以看做是加了一个负数;然后要完成一个查询操作,比如query a b(b>a),就是要查询数组中第a个元素到第b个元素的和(区间和)普通的做法就是建立一个数组,直接加减求和,加减都可以直接O(1)完成,但是区间求和的过程比较麻烦,需要O(n)的复杂度;所以我们建立一个树状...
2018-06-24 04:49:51 249
原创 DSL_2_C:Range Search (kD Tree)
题目链接:http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=DSL_2_C题目给出了一些点的坐标,然后给出一个二维的矩形范围,判断哪些点在这个范围内;比如,给出一些二维点的坐标,然后求出1<=x<=5而且2<=y<=6的所有点;就是一个范围搜索的题目,需要用到KD Tree;就是k维树,在建立好kd...
2018-06-23 04:02:36 1852 1
原创 DSL_1_A:Disjoint Set: Union Find Tree 并查集
题目链接:http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=DSL_1_A有两种操作,unite和same,实现并查集的合并和查询操作。思路:用树形结构来描述并查集,用pre数组来表示当前节点的前缀节点(父节点),初始化时所有节点的pre节点都是自己本身,所以检查是否在同一并查集内的操作就是查询这两个节点的根节点是否相同;...
2018-06-17 13:21:00 226
原创 ALDS1_12_C:Single Source Shortest Path II
题目链接:http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ALDS1_12_C同ALDS1_12_C:Single Source Shortest Path I 中,用最小堆(优先级队列来实现)实现dijkstra算法思路: 要求一个图的单源最短路径,比如求0节点的单源最短路径,先把d[0]赋为0,对于优先级队列S(...
2018-06-14 22:53:56 298
原创 ALDS1_12_B:Single Source Shortest Path I
题目链接:http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ALDS1_12_B以临界矩阵的形式给出一个有权图,要求出每个节点到顶点0的最短路径。使用dijkstra算法,思路如下: dijkstra算法初始化状态下将S置空。初始化s的d[s]=0,除s之外,所有属于V的顶点i的d[i]=∞循环进行下述处理,直到S=...
2018-06-14 00:30:22 253
原创 ALDS1_12_A:Minimum Spanning Tree 最小代价生成树
题目链接:http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ALDS1_12_A以邻接矩阵的形式给一个有权图,求出这个图的最小代价生成树。使用prim算法的思想,复杂度只要求在n^2,不用优先队列来实现。思路:prim算法的思想是,对于一个有权图G,求它的MST (Minimum Spanning Tree) 设...
2018-06-10 19:37:48 330
原创 ALDS1_11_D:Connected Components
题目链接:http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ALDS1_11_D给一些Social Network中的好友关系,然后求两者是不是好友(通过好友的好友也算是好友)比如1和2是好友,2和3是好友,那么1和3也算是好友思路:把每个人看作是一个节点,每个好友关系看做是一条边,是好友关系就表示二者是在同一个连通分量里,连...
2018-06-08 22:22:47 284
原创 ALDS1_11_C:Breadth First Search
题目链接:http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ALDS1_11_C邻接表的方式给出一个图,对这个图进行bfs最终求出每个节点到顶点1的距离;思路:先把图转成邻接矩阵; 如果我想对一个邻接矩阵的图,做宽度优先搜索。首先把第一个节点1,放进Q队列;第一步取队列的第一个元素,把它pop出来,比如说是...
2018-06-06 23:25:26 224
原创 ALDS1_11_B:Depth First Search
题目链接:http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ALDS1_11_B 邻接表的方式给一个图,输出对这个图进行dfs之后,每个节点的开始搜索和结束搜索时间。首先,如果我想做对一个邻接矩阵的深度优先遍历,dfs我需要用一个栈来存储,我需要访问的元素。首先把第一个节点放进去,然后按照顺序遍历一遍节点表...
2018-06-05 23:33:57 269
原创 ALDS1_11_A:Graph
输入以邻接表的方式给一个图,输出用邻接矩阵来表示这个图没啥好说的,代码如下:#include <cstdio>#include <cstdlib>#include <iostream>#include <cstring>#include <algorithm>using namespace std;bool A[1...
2018-06-03 20:23:46 249
原创 ALDS1_10_B:Matrix Chain Multiplication
题目链接:http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ALDS1_10_B输入:一组矩阵的行和列输出:进行矩阵乘法所需的最少乘法次数 给定一个n个矩阵的序列〈A1,A2,A3...An〉〈A1,A2,A3...An〉我们要计算他们的乘积:A1A2A3...AnA1A2A3...An,由于矩阵乘法满足结合律,加括号...
2018-06-03 00:18:21 273
原创 CSDN博客中如何写LateX数学公式
只要在在把latex代码用"$"符号像注释一样包起来就好了。如果是$dp[i+1]=\begin{cases}0 & i==0 \ ||\ j==0\\dp[i][j]+1 & s[i]=p[j]\\max(dp[i][j+1],dp[i+1][j]) & s[i]!=p[j]\end{cases}$这样是在文中显示如果是这样$$dp[i+1]=\begin{cases}0...
2018-06-01 16:50:23 154
原创 ALDS1_10_C:Longest Common Subsequence LCS最长公共子序列
题目链接:http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ALDS1_10_C给两个序列,找出最长公共子序列用dp[i][j]来表示:第一个串的第0-i位和第二个串的0-j位的最长公共子序列。运算时递归函数如下: $$dp[i+1]=\begin{cases}0 & i==0 \ ||\ j==0\\dp...
2018-06-01 16:46:17 197
原创 ALDS1_10_A:Fibonacci Number
给出n,写出第n项斐波那切数列满足 fib(n)=fib(n-1)+fib(n-1),n=0或者1时fib(n)=1;使用dp记忆华递归,代码如下:#include <cstdio>#include <iostream>#include <algorithm>using namespace std;int A[50];int fib(in...
2018-06-01 12:33:54 173
Mybatis的Demo文件打包 使用Maven管理
2019-03-02
IOI2018中国国家候选队论文集正式版
2018-08-08
python爬虫必备库BeautifulSoup4学习笔记
2018-05-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人