摘要:
题意:求出长度为n仅由1到n数字组成的非降序列与非升序列的个数。 思路:转化为求非降序列(非升序列)的个数。n个元素想象为n个离散的点x1,x2,x3,...,xn,在最开头补上一个点x0为1,在最末尾补上一个点xn+1为n,两个相邻点之间的高度差为hi=xi+1-xi,hi>=0。可列出h1+h2 阅读全文
摘要:
题目链接 简单理解匈牙利算法 简单理解二分图 尽量让每一个随从击败一个对手且随从全部存活,关键是为每一个随从找对手(递归过程),"腾"。 阅读全文
摘要:
题目链接 白书上的例题,关于vector的使用。不定长数组vector,类型内部封装了一些常用操作。vector就像一个二维数组,只有第一维的大小是固定的,可以像数组一样访问到其中的每一个元素。 vector<int> v; 常用操作 v.size(); v.clear();清空 v.resize( 阅读全文
摘要:
. 矩阵高速幂想法与快速幂相同 阅读全文
摘要:
题意:给出一个六面体分为k层,每层n行m列,每个小立方体有'.'(空)与'#'(障碍)的状态,第一层某个空的位置有一个水龙头,水流每次往六个方向流动(...).最少时间水流能把立方体空的部分填满。 思路:从水龙头开始bfs一遍。每步让所有能转移到的空的点入队,总步数即为答案。 #include<cs 阅读全文
摘要:
题意:收到礼物的规则为每个假日必收到一份礼物,每K天里至少收到一份礼物,求出N天中收到的礼物的最小数量。 思路:将N天根据假日所在天数分为一段段,当假日与假日之间间隔天数hol[i]>-hol[i-1]-1>=k时,这段间隔内还至少收到(hol[i]>-hol[i-1]-1)/k份礼物。注意第一个假 阅读全文