摘要: 题意:求出长度为n仅由1到n数字组成的非降序列与非升序列的个数。 思路:转化为求非降序列(非升序列)的个数。n个元素想象为n个离散的点x1,x2,x3,...,xn,在最开头补上一个点x0为1,在最末尾补上一个点xn+1为n,两个相邻点之间的高度差为hi=xi+1-xi,hi>=0。可列出h1+h2 阅读全文
posted @ 2016-05-07 22:28 _LinesYao 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 题目链接 简单理解匈牙利算法 简单理解二分图 尽量让每一个随从击败一个对手且随从全部存活,关键是为每一个随从找对手(递归过程),"腾"。 阅读全文
posted @ 2016-05-05 22:41 _LinesYao 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 题目链接 白书上的例题,关于vector的使用。不定长数组vector,类型内部封装了一些常用操作。vector就像一个二维数组,只有第一维的大小是固定的,可以像数组一样访问到其中的每一个元素。 vector<int> v; 常用操作 v.size(); v.clear();清空 v.resize( 阅读全文
posted @ 2016-05-04 20:58 _LinesYao 阅读(171) 评论(0) 推荐(0) 编辑
摘要: . 矩阵高速幂想法与快速幂相同 阅读全文
posted @ 2016-05-02 11:07 _LinesYao 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 题意:给出一个六面体分为k层,每层n行m列,每个小立方体有'.'(空)与'#'(障碍)的状态,第一层某个空的位置有一个水龙头,水流每次往六个方向流动(...).最少时间水流能把立方体空的部分填满。 思路:从水龙头开始bfs一遍。每步让所有能转移到的空的点入队,总步数即为答案。 #include<cs 阅读全文
posted @ 2016-05-01 22:57 _LinesYao 阅读(326) 评论(0) 推荐(0) 编辑
摘要: 题意:收到礼物的规则为每个假日必收到一份礼物,每K天里至少收到一份礼物,求出N天中收到的礼物的最小数量。 思路:将N天根据假日所在天数分为一段段,当假日与假日之间间隔天数hol[i]>-hol[i-1]-1>=k时,这段间隔内还至少收到(hol[i]>-hol[i-1]-1)/k份礼物。注意第一个假 阅读全文
posted @ 2016-05-01 22:48 _LinesYao 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 题意:给你n个数,将他们分成连续的三个部分使得每个部分的和相同,求出分法的种数。 思路:用一个数组a[i]记下从第一个点到当前i点的总和。最后一个点是总和为sum的点,只需求出总和为1/3sum的点和总和为2/3sum的点搭配的所有情况。遍历一遍总和为2/3sum的点前总和为1/3sum的点的个数。 阅读全文
posted @ 2016-04-30 22:54 _LinesYao 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 题意:给你两个圆的圆心坐标和半径,判断两个圆公切线数目。 思路:考虑两个圆间公切线的情况,两个圆的位置关系分为相离,相交,外切,内切,内含,重合,公切线数分别为4,2,3,1,0,-1。 #include<iostream>using namespace std;int main() { int t 阅读全文
posted @ 2016-04-29 21:40 _LinesYao 阅读(153) 评论(0) 推荐(0) 编辑