摘要:
problem1 link 二分答案,然后计算总时间。跟$T$比较确定要增大答案还是减小答案。 problem2 link 可以看作是以‘*’所在位置为根的树。所以每个非根节点都有一个父节点。 那么每个非根结点$x$都可以表示其根结点$y$的函数,,类型为$x=p+qy$。比如说有三个节点$x,y, 阅读全文
摘要:
problem1 link 遍历未被删除的叶子结点即可。 problem2 link 首先,将所有的蛋白质原子编号,设为$[0,m-1]$,每个原子可能对应多个长度为3的$ACGT$。设$n$为DNA串的长度。用$g[i][j]$表示从$i$开始匹配数字$j$后的最小位置,$0\leq i \leq 阅读全文
摘要:
problem1 link 枚举指数,然后判断是不是素数即可。 problem2 link 令$f[len][a][b][r]$(r=0或者1)表示子串$init[a,a+len-1]$匹配$goal[b,b+len-1]$,翻转了$r$次的最小代价。 problem3 link 答案的公式很容易推 阅读全文
摘要:
problem1 link 分类讨论。高度没有太大关系。主要看长度。 problem2 link 二分答案$mid$。计算每种$card$不足的部分,加起来,小于等于$min(jokers,mid)$就是合法的。 problem3 link 为了方便说明,以下所说的$x,y,a$分别是菱形宽度一半的 阅读全文
摘要:
problem1 link 暴力搜索即可。 problem2 link 可以将每次所有的piece的位置看作一个状态,由于$C_{25}^{5}=53130$,所以最多有这么多状态。这里可以加一些优化来减少状态。比如通过旋转或者翻转是一样的状态其结果是一样的。 然后进行bfs即可。 problem3 阅读全文
摘要:
problem1 link 暴力即可。因为即便所有数字的和是50,50所有的不同的划分数只有204226中。所以最长的循环也就这么大。 problem2 link 令$f[i][j]$表示有$i$个红色和$j$个黑色时最大的期望,那么: (1)当$j=0$时,$f[i][0]=f[i-1][0]+1 阅读全文
摘要:
problem1 link 每次贪心地从crans由大到小地找到一个能搬得动地尽量大地box即可。 problem2 link 首先,$hava$可以全部换成钱,然后就是找到一个最小的钱减去自己已有的钱即可。 直接枚举所有的组合是会超时的,因为有$2^{n}$。可以分成两部分,各有一半,枚举出所有情 阅读全文
摘要:
problem1 link 不包含$gridConnections$ 的联通块一定是连在所有包含$gridConnections$的联通块中最大的那一块上。 problem2 link 每个$base$的选择一定是$addresses[i]$或者$addresses[i]-k+1$。这样进行动态规划 阅读全文
摘要:
problem1 link 记录一个模$k$之后的值是否出现过,出现过则出现循环,无解;否则最多$k$ 次一定能出现0. problem2 link 最朴素的方法应该是令$f[i][mask]$表示处理前$i$块板子使用的painter的集合是$mask$的最小值,但是这样会超时。 时间上可以接受的 阅读全文
摘要:
problem1 link 满足$a^{b}\leq5000000,b>1$的数字不多,有2000多个,直接暴力计算能组成哪些数字即可。 problem2 link 计算出每个点的值,bfs即可。长度大于顶点$n$时说明有环。 problem3 link 求出所有交点,那么就是一个图。每条边看作两条 阅读全文
摘要:
problem1 link $g[i]$表示解决前$i$个的代价,那么$g[i]$是所有$g[j]+cost(j+1,i)$的最小值。 problem2 link 分别讨论$X$的取值区间即可。 problem3 link 从小到大依次枚举每个币种的面值。假设要求的答案为$f(n,K)$。当枚举第二 阅读全文