07 2018 档案
摘要:题意: 给出一个已知的哈希表。求字典序最小的插入序列,哈希表不合法则输出-1。 题解: 对于哈希表的每一个不为-1的数,假如他的位置是t,令s = a[t]%n。则这个数可以被插入当且仅当第s ~ t-1个数都不为-1且已经插入完成。 那么对于每一个这样的数,需要连t-s条边(s<=t)或者t+n-
阅读全文
摘要:题意: 给出一段序列,每次将从第p个数开始的s个数移到最前面。求最终的序列是什么。 题解: Splay翻转模板题。存下板子。 #include <bits/stdc++.h> using namespace std; const int INF = 1e6; const int N = 1e5+10
阅读全文
摘要:题意: 构造一个n*n的矩阵,使得Ai,i = 0,Ai,j = Aj,i,Ai,1+Ai,2+...+Ai,n = 2。求种类数。 题解: 把构造的矩阵当成邻接矩阵考虑。 那么所有点的度数都为2,且存在重边但不存在自环。这种情况的图为多个环,即每个点都在且仅在一个环里。 考虑每次加一个点来递推dp
阅读全文
摘要:题意: 给一个n*m的矩阵赋值(0,1,2)。使得每个数都不小于它左面和上面的数。 题解: 构建0和1的轮廓线。对于单独的轮廓线,共需要往上走n步,往右走m步。有C(n+m,n)种方式。 两个轮廓线的总情况是C(n+m,n)*C(n+m,n)种方式。但是还要去重掉相交的情况。 假设将0轮廓线向左上平
阅读全文
摘要:题意: n个点,m1条边的图E1,n个点,m2条边的图E2。求图E2有多少子图跟图E1同构。 题解: 用STL的全排列函数next_permutation()枚举映射。对于每一种映射枚举每一条边判断合法性。 总情况数要除以图E1的自同构数去重。 #include <bits/stdc++.h> us
阅读全文
摘要:题目链接:https://nanti.jisuanke.com/t/28412 题意: 给出n个数的序列。问序列中有多少个区间满足,排序完之后任意两个相邻的数之差不大于1。 题解: 用max表示区间最大值,min表示区间最小值,cnt表示区间数字的种数。那么问题转化成求max-min=cnt+1的区
阅读全文
摘要:题目链接:https://nanti.jisuanke.com/t/28411 题意: 给出n(n<=36)个点的一个图。求点覆盖集数。 题解: 将n个点折半为L和R两部分。对于R内部的边,枚举状态判断是否可行。对可行的状态维护高维前缀和。 之后判断L内部的可行状态。对于每一个L内部的可行状态,在高
阅读全文

浙公网安备 33010602011771号