自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(559)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

原创 【最短路-spfa算法】Road Construction Aizu - 2249

Think: 1知识点:最短路-spfa算法 2题意:n个城市m条路,每条路的信息包括起点(u)、终点(v)、长度(d)、花费(c),询问在保证1号城市到其它城市距离最短的条件下,连通n个城市的最少花费。 2.1数据范围: 1 0 1 1 3错误反思: 3.1:spfa算法求最短路中,手动模拟队列时注意如果不是用循环队列需要注意队列的大小(因为虽然在某一时刻队列中不会出现重复的元

2018-02-03 10:17:18 381

原创 概率与期望学习心得

修正信息备注: 1.【2018-01-30】创作博文基础 2.【2018-01-30】增加样例2.2一、基本定义 1.数学期望:在概率论和统计学中,数学期望(mean)(或均值,亦简称期望)是试验中每次可能结果的概率乘以其结果的总和,是最基本的数学特征之一。它反映随机变量平均取值的大小。(百度百科)二、例题解析 2.1【求期望:转化为n重伯努利实验】 2.2【求期望:递推式移项化

2018-01-30 10:59:18 1293

原创 种类并查集学习心得

修正信息备注: 1.【2018-01-29】创作博文基础 2.【2018-01-29】增加样例2.2一、基本性质 1.在基于并查集的基础上增加记录数组_rank,表示i与其同集合根节点的关系二、例题讲解 2.1【食物链 POJ - 1182】——vjudge题目链接题意:动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。 现有N

2018-01-29 10:03:11 1201

原创 【bitset+string+关闭流同步优化】Oleg and Little Ponies URAL - 2108

Think: 1知识点:【bitset+string+关闭流同步】 2题意:第1行输入n、m,第2行至第m+1行输入m对长度为n的01串bt[i][j],第m+2行输入长度为n的01串bi,进行下述步骤: (1)寻找bt[i][0]使得bt[i][0]为bt串的“子串”(bt[i][0]&bi == bt[i][0]),查找不到则结束 (2)通过(1)已找到i,bi = bi | bt[i

2018-01-27 10:04:21 400

原创 【博弈+dfs】Game with a Strip URAL - 2104

Think: 1知识点:【博弈+dfs】 2题意:第1行输入长方形纸条每一面含有的字母数量,第二行输入长方形纸条正面的字母,第三行输入长方形反面的字母,字母只含有A、B两种,分别代表Alice和Bob。博弈游戏开始,Alice先手,Bob后手。对于每个状态,若长方形纸条某一面字母数量为奇数,则认为结束游戏,游戏平局,除此之外,若不能分成胜负(两面全为A则Alice赢、两面全为B则Bob赢),则

2018-01-27 09:43:54 361

原创 【并查集离散化合根】連結 / Connectivity AtCoder - 2159

Think: 1知识点:【并查集离散化合根】 2题意:第1行输入n, k, l,表示图中有n个城市、k对由公路连接的城市、l对由铁路连接的城市,第2行至第k+1行每行输入由公路连接的两个城市(无重复路线),第k+2行至第k+l+1行每行输入由铁路连接的两个城市(无重复路线),题目要求输出对于每个城市与其相连的城市中有多少个城市是既可以通过公路到达也可以通过铁路到达这个城市。 2.1数据范围:

2018-01-26 10:55:37 430

原创 【公式推导+杨辉三角+异或性质+进制表示】XOR Matrix HackerRank - xor-matrix

Think: 1知识点:【公式推导+杨辉三角+异或性质+进制表示】 2题意: 定义异或矩阵元素a[i, j]: 第一行输入n, m表示n行m列的异或矩阵,第二行输入n个元素表示异或矩阵的第一行,题目要求我们输出异或矩阵的第m行 2.1数据范围: ·1 ·1 ·1 3解题过程 3.1公式推导: a[i, j] = a[i-1, j] ^ a[i-1, j+1] 即对于a[

2018-01-25 15:00:11 850

原创 【组合数学】第二类斯特林数

一、定义 第二类Stirling数即:,又可记为[与第一类的表示有大小写的区别]。其表示将n个不同的元素分成m个集合的方案数。 二、理解关键词句 1.集合的一个拆分(表示将n个不同的元素拆分成m个集合的方案数) 2.dp[n][m] = m*dp[n-1][m] + dp[n-1][m-1] (dp[n][m]表示n个元素划分为m个集合的方案数) 2.1对于第n个元素,如果前面的n-1

2018-01-20 17:09:18 2479

转载 【排列组合】排列组合 "n个球放入m个盒子m"问题

【转载博文地址,感谢博主分享】求,盒子都可以分成是否不能区分,和能区分,还能分成是否能有空箱子,所以一共是8种情况,我们现在来一一讨论。1.球同,盒不同,无空箱C(n-1,m-1), n>=m 0, n 使用插板法:n个球中间有n-1个间隙,现在要分成m个盒子,而且不能有空箱子,所以只要在n-1个间隙选出m-1个间隙即可2.球同,盒不同,允许空箱C(n+m-1,m-1)

2018-01-20 16:43:50 1047

原创 【二分图匹配】过山车 HDU - 2063

Think: 1知识点:二分图匹配 2题意:同学们去做过山车,要求一个女生必须和一个男生坐一起,而每个女生只想和某部分男生坐一起,现在输入关系对数k、女生人数n、男生人数m,现在询问,最多可以有多少对做过山车 3解题思路: 二分图匈牙利算法求最大匹配 4匈牙利算法理解与分析: (1):两个集合分别表示男女集合,mx[u] = v表示女生集合中与女生u配对的是男生集合的v,my[v] =...

2018-01-19 10:07:54 337

原创 【记忆化搜索】爬楼梯 OpenJ_Bailian - 4017

Think: 1知识点:记忆化搜索 2题意:爬楼梯,他可以每次走1级或者2级,输入楼梯的级数,求不同的走法数。例如:楼梯一共有3级,他可以每次都走一级,或者第一次走一级,第二次走两级,也可以第一次走两级,第二次走一级,一共3种方法。 3知识点思考: (1):记忆化搜索即在搜索的过程中对会重复求解的部分进行记录,目的在于下次遇到这部分的时候直接使用所记录的解。 (2):记忆化搜索求解的过程按

2018-01-18 20:04:46 472

原创 【最小堆+堆排序】数据结构实验之排序四:寻找大富翁

Think: 1知识点:最小堆+堆排序 (1)最小堆定义:H(id) <= H(id<<1) && H(id) <= H(id<<1|1)SDUTOJ题目链接数据结构实验之排序四:寻找大富翁 Time Limit: 200MS Memory Limit: 512KBProblem Description 2015胡润全球财富榜调查显示,个人资产在1000万以上的高净值人群达到200万人,假设

2017-12-22 16:49:44 449

原创 【STL容器-vector用法总结(1)】

v1.front() 返回数组第一个元素 v1.back() 返回数组最后一个元素 v1.size() 返回数组元素数量 v1.clear() 清空当前的vector数组元素 v1.empty(

2017-12-20 21:54:22 318

原创 【希尔排序】数据结构实验之排序六:希尔排序

Think: 1知识点:希尔排序 2希尔排序基本思想(分组插入):先取一个小于n的整数d1作为第一个增量,把文件的全部记录分组。所有距离为d1的倍数的记录放在同一个组中。先在各组内进行直接插入排序;然后,取第二个增量d2 < d1重复上述的分组和排序,直至所取的增量dk = 1(dk < d(k-1)… < d2 < d1),即所有记录放在同一组中进行直接插入排序为止——参考自【百度百科】 3

2017-12-19 15:14:53 551

原创 【除留余数法定义hash函数+平方探测法解决hash冲突】数据结构实验之查找五:平方之哈希表

Think: 1知识点:除留余数法定义hash函数+平方探测法解决hash冲突 2反思 & 思考: hash冲突数据: 4 5 1 6 11 16数据结构实验之查找五:平方之哈希表 Time Limit: 400MS Memory Limit: 65536KBProblem Description 给定的一组无重复数据的正整数,根据给定的哈希函数建立其对应hash表,哈希函数是H(Ke

2017-12-17 20:16:03 1551

原创 【除留余数法定义hash函数+线性探测法解决hash冲突】数据结构实验之查找七:线性之哈希表

Think: 1知识点:除留余数法定义hash函数+线性探测法解决hash冲突数据结构实验之查找七:线性之哈希表 Time Limit: 1000MS Memory Limit: 65536KBProblem Description 根据给定的一系列整数关键字和素数p,用除留余数法定义hash函数H(Key)=Key%p,将关键字映射到长度为p的哈希表中,用线性探测法解决冲突。重复关键字放在h

2017-12-17 16:29:54 2790

原创 【判断两棵二叉排序树是否相同】数据结构实验之查找一:二叉排序树

Think: 1知识点:判断两棵二叉排序树是否相同 2判断依据: (1):根节点相同 (2):(rt1的左子树 == rt2的左子树 且 rt1的右子树 == rt2的右子树) || (rt1的左子树 == rt2的右子树 且 rt1的右子树 == rt2 的左子树) 3反思: (1):相同元素而插入顺序不同的二叉排序树中序遍历有序唯一,故不能通过判断元素插入顺序不同的两棵二叉排序树是否

2017-12-13 15:50:33 1392

原创 【次小生成树】PAT (Top Level) 1016 Uniqueness of MST (35)

Think: 1知识点:次小生成树 2题意: (1):若最小生成树存在且唯一,第一行输出最小生成树权值和,第二行输出Yes (2):若最小生成树存在且不唯一,第一行输出最小生成树权值和,第二行输出No (3):若最小生成树不存在即图不连通,第一行输出”No MST”,第二行输出连通块数量PAT题集-题目链接以下为Accepted代码#include <cstdio>#include <c

2017-12-08 20:34:20 458

原创 【尺取法/二分+优化】Audition SPOJ - CRAN04

Think: 1知识点:尺取法/二分+优化(k == 0时判断小区间长度进而通过公式计算)2题意: (1):判断在一个长度为n(n <= 1e6)的01序列中判断有多少个区间内的1的数量为k 3思路: (1):尺取法+(k == 0时特殊判定) (2):二分+(k == 0时特殊判定) 4反思: (1):尺取法需要加强理解 (2):未考虑到临界数据(eg:k == 0)时的时间复杂度

2017-12-04 17:44:04 401

原创 【贪心】Coupons and Discounts

Think: 1知识点:贪心(局部最优解延展至全局最优解) 2题意:输入一个序列(len <= 2e6),代表n天内每天需要ai个披萨,现有两种获得披萨的方式,方式1(当前天直接得到两个披萨),方式2(连续两天每天获得一个披萨),询问能否在按照方式1和方式2的情况下满足n天的披萨要求(对于第i天不能少于ai亦不能多余ai) 3思路: (1):贪心算法:从第1天开始考虑,若第1天为奇数个披萨若

2017-12-03 18:29:17 375

原创 【数学推理】Sigma Function LightOJ - 1336

Think: 1知识点:数学推理 2题意:由算数分解定理可知,任何一个大于1的整数都可以分解为质因子相乘的格式() 定义: 输入n(n<=1e12),判断区间[1, n]有多少个数x的σ(x)为偶数 3思路: (1):求解区间[1,n],即使以O(n)的时间复杂度枚举区间[1, n]也会超时,因此整个区间的暴力枚举方案排除 (2):回到σ(x)的求解公式,经过观察我们可以发现,若其中相

2017-12-03 09:29:17 464

原创 【质因数分解+简单博弈】Win or Freeze CodeForces - 150A

Think: 1知识点:质因数分解+简单博弈 2题意: (1):输入一个数n(n <= 1e13),开局,A选择n的一个因数(非1和非n)代替n,紧接着B选择当前已被替换的n的一个因数(非1和非当前n)代替当前n,即不断更新n,直至n无法分解,此时无法分解的选手赢 (2):若A赢则输出1和任意一个先选择可得到A赢的数;若B赢则只输出2 3思路分析: (1):简单博弈分析,若X先得到两个质

2017-11-30 22:12:48 607

原创 【二分图匹配】Fire Net HDU - 1045

Think: 1知识点:二分图匹配 2题意:给定一个n*n(n <= 4)的地图,需要建造地堡,若同一行或者同一列若出现多个地堡则每个地堡之间至少存在一堵墙间隔,询问最多可以建造多少个地堡 3思路: (1):分别对于行的方向和列的方向缩点成块并重新编号,然后根据新的X和Y集合建立新的图,进而二分图匹配即可 4反思: (1):对于特定问题如何建图需要加深感悟vjudge题目链接以下为Acc

2017-11-30 21:05:39 320

原创 【二分图匹配】棋盘游戏 HDU - 1281

Think: 1知识点:二分图匹配 2题意:在棋盘内选定一些位置,在这些位置中选取部分位置放置“车”,要求每一行或者每一列不能出现多余1个“车”,询问最多放置几个“车”和那些位置是需要重要的(即若不存在,则最多放置数量会减少) 3思路: (1):X集合:{xi} (2):Y集合:{yi} (3):思路借鉴博客链接 4思考: (1):建立有向图 (2):match[yi] = x

2017-11-29 16:57:40 343

原创 【最小生成树】Battle Over Cities - Hard Version (35)

Think: 1知识点:最小生成树 2题意: (1):输入含有n(n<=500)个结点的连通图,询问最重要的点,最重要点的定义为删掉这个点及其所连的边,需要最多花费修复已经不再使用的边使得剩下的结点继续保持连通 (2):最重要的点可能有多个 3思路: (1):记录所有边的信息,初始存在的边可置连接权值为0,遍历每一个点(假设删除当前遍历点及其所连的边,然后将其他n-1个点通过最小生成树算

2017-11-29 15:17:58 881

原创 【概率&期望】Discovering Gold LightOJ - 1030

Think: 1知识点:概率+数学期望 2题意: 3解题思路: 4解题步骤: (1):递推求解每一个点的概率 (2):通过期望公式计算累加每一个点的期望vjudge题目链接以下为Accepted代码#include <cstdio>#include <cstring>#include <algorithm>using namespace std;double rec[1014

2017-11-27 21:58:01 637

原创 【二分优化】Preparing for Merge Sort CodeForces - 847B

Think: 1知识点:二分优化 2题意:输入一个长度最长可达到2e5的序列,序列中的每一个数各不相同,要求按照步骤分组,分组步骤为: (1):从左到右在序列中选取第一个未使用的数 (2):从(1)步找到的数开始向右继续寻找,每次选取一个未使用的且大于前一个被选取的数的数 (3):若无法进行第(1)步即序列中元素已全部分组,结束分组; 若无法进行第(2)步,进行下一次分组; 3解题思路

2017-11-27 09:31:10 422

原创 【dfs/bfs+记录路径】Transformation: from A to B

Think: 1知识点:dfs/bfs+记录路径 2题意:输入两个数a,b,询问通过两种操作是否可以由a得到b 操作1:a = a*2 操作2:a = a*10 + 1vjudge题目链接以下为Accepted代码——bfs+记录路径#include <cstdio>#include <cstring>#include <algorithm>using namespace std;typ

2017-11-25 09:54:13 726

原创 【概率&数学期望】A Dangerous Maze LightOJ - 1027

Think: 1知识点:概率&数学期望 2题意: (1):T组测试数据 (2):每组测试数据,n扇门,每扇门对应一个xi,等概率进入任意一扇门,若进入门的xi为正,则xi秒之后离开迷宫,若进入们的xi为负,则xi秒之后返回初始点 (3):询问离开迷宫的数学期望 (4):输出格式:测试数据 期望值最简分子/期望值最简分母 3解题思路: (1)xi > 0: d1 = (1/n) * (

2017-11-08 11:35:19 359

原创 【稀疏矩阵转置】线性时间复杂度实现稀疏矩阵转置

Think: 1知识点:线性时间复杂度实现稀疏矩阵转置 2方法: (1):通过三元组记录初始输入信息 (2):记录每一列的元素个数 (3):求得记录每一列的第一个元素应放置的转置三元组的位置 3反思: (1):记录的是每一列的第一个元素应放置的转置三元组的位置,[1, nu]而不是[1, tu]例题: SDUT——数据结构实验之数组三:快速转置Problem Description

2017-10-20 16:43:25 2926

原创 【费马小定理降幂+矩阵快速幂+快速幂】M斐波那契数列 HDU - 4549

Think: 1知识点:费马小定理降幂+矩阵快速幂+快速幂 (1):费马小定理降幂: 定理:若gcd(A, M) == 1,则A^x = A^(x%Eular(M))(mod M) 注:Eular(M)为M的欧拉函数值 2题意: 已知: F[0] = a F[1] = b F[n] = F[n-1] * F[n-2] ( n > 1 ) 输入a, b, n,询问F[n] =

2017-10-19 16:57:02 551

原创 【矩阵快速幂】Recurrences UVA - 10870

Think: 1知识点:矩阵快速幂 2题意: 现输入d, n, m求解f(n) 注:f(i) = f(i) mod m; 3题意思考: (1):写出系数矩阵,矩阵快速幂求解 4反思: (1):注意系数矩阵与初始序列的对应关系 (2):输入数据中每组测试数据换行相隔,而并不是要求在输出中每组测试数据以换行相隔,注意读题的严谨,注意细节以下为Accepted代码#include <cs

2017-10-16 16:55:38 378

原创 【循环矩阵+矩阵快速幂】Cellular Automaton UVA - 1386

Think: 1知识点:循环矩阵+矩阵快速幂 2题意:输入n(1<=n<=500), m(1<=n<=1000000), d(0<=d<(n/2)), k(1<=k<=10000000)然后输入一个n个数的环,数的范围为[0,m-1],然后进行k次变换,变换为:取环中当前元素,然后取其左边d个数,取其右边d个数,然后相加取模m,询问经过k次变换之后的序列 3题意思考: (1):写出系数矩阵,

2017-10-16 15:46:46 504

原创 【矩阵快速幂+输入终止条件判断】Contemplation! Algebra UVA - 10655

Think: 1知识点:矩阵快速幂+输入终止条件判断 2题意& 思路: ——参考博客链接 感谢博主 3反思: (1):题目要去当输入数据仅为两个0时终止,而0 0 n属于正常输入,因此判断while()语句是否输入终止的条件为scanf(“%lld %lld %lld”, &p, &q, &n) == 3而不能为~scanf(“%lld %lld”, &p, &q) && (p ||

2017-10-12 21:21:40 350

原创 【矩阵幂的和+矩阵快速幂】Power of Matrix UVA - 11149

Think: 1知识点:矩阵幂的和+矩阵快速幂 2题意:输入矩阵A,求A^1 + A^2 + … + A^(n) 3题意分析: (1):倍增法求矩阵幂的和,eg: 求:A^1 + A^2 + A^3 + A^4 + A^5 + A^6 + A^7 + A^8 + A^9 + A^10 (1):A^1 + A^2 + A^3 + A^4 + A^5 + A^6 + A^7 + A^8 +

2017-10-12 17:31:19 1173

原创 【矩阵快速幂】Experienced Endeavour

Think: 1知识点:矩阵快速幂 2题意:初始时输入一个序列a(0), a(1), … a(n-1),之后不断构造一个新序列,新序列构造规则为每次选取上次序列的固定位置元素累加 3题意分析: (1):构造系数矩阵,矩阵快速幂.因为每次对于新序列结点ci,其值与上次序列的固定位置有关系,因此可思考是否可以构造一个0,1系数矩阵,之后每次重复构造新序列时,每构造一次,就乘以0,1系数矩阵一次.

2017-10-12 11:19:46 493

原创 【kmp算法】数据结构实验之串三:KMP应用

Think: 1知识点:kmp算法 2题意:先输入n,然后输入n个数字,再输入m,然后再输入m个数字,询问这m个数是否为n个数字的唯一子区间[l, r],若是,则存在子区间[l, r]则输出l, r,若不存在则输出-1 3反思: (1):区间[l, r]必须是唯一存在 (2):当第一次寻找到一个区间[l, r]之后再次寻找判断是否是唯一存在时,要注意再次寻找时的出发位置SDUT题目链接以下

2017-10-11 22:12:32 539

原创 【矩阵快速幂+矩阵运算性质】Fast Matrix Calculation HDU - 4965

Think: 1知识点:矩阵快速幂+矩阵运算性质 2题意:多组测试数据,每组测试数据先输入n, m,然后分别输入一个n*m的矩阵A和一个m*n的矩阵B,运算步骤如下: (1):先计算C = A*B; (2):在计算M = C^(n*n); (3):M(i, j) = M(i, j) % 6; (4):sum += M(i, j); 注: (1):n:[4, 1000],m:[2,6]

2017-10-11 21:08:44 517

原创 【kmp】Corporate Identity HDU - 2328

Think: 1知识点:kmp算法+暴力枚举 2题意:输入一组字符串,寻找最长公共子串,长度相同时选择字典序最小的 3解题思路: (1):找到字符串组中长度最短的字符串,然后根据左右区间枚举查询 (2):找到字符串组中长度最短的字符串,然后根据长度从大至小枚举,若在当前长度梯度已经找到串,则结束枚举(因为从大至小枚举的长度梯度级,因此下面枚举的长度梯度级要小于当前已经枚举完成的长度梯度级)

2017-10-11 19:30:00 360

原创 【kmp算法】Substrings HDU - 1238

Think: 1知识点:kmp算法 2题意:T组测试数据,每组测试数据输入n个字符串,询问最长长度的子串x,要求子串x或者子串x的翻转串在每个字符串中都会出现 3思路:找到最小的字符串,然后暴力枚举子串查询,剪枝优化 4反思: (1):字符串长度为1的字符串不要忘记vjudge题目链接以下为Wrong Answer代码——未枚举字符串长度为1的字符串#include <cstdio>#i

2017-10-11 15:29:00 382

Hive安装,使用MySQL作为元数据库

apache-hive-1.2.1-bin.tar.gz mysql-connector-java-5.1.6-bin 用于安装Hive并使用MySQL作为元数据库

2019-09-08

mysql + navicat for mysql

1.mysql-5.5.37-win32 2.Navicat for MySQL 3.所提供的资源仅用于学习,如果商用请到官网下载正版软件

2019-01-22

navcat for mysql 含注册码

navcat for mysql 中文破解版 含注册码。下载完成后,找到程序,点击运行,进入注册页面,填入注册码即可

2018-07-24

【ACM比赛模板积累ing】O(n)回文子串(Manacher)算法

ACM比赛模板积累,Manacher算法,时间复杂度O(n),可适应于求输入串的最长回文子串

2017-10-08

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

TA关注的人

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