摘要:
Increasing by Modulo 题目大意: 选一个下标的长度为$k$的子序列$b_1,b_2,...,b_k$,使得$a_ = (a_ + 1) % m$,求使得序列满足单调非降的最小操作次数。 思路: 设$f(x)$为能否经过$x$次操作数使得序列满足条件,不难看出这是一个单调函数,考虑 阅读全文
摘要:
题目大意: 给出一个长度为n的数列k,$k_i$表示$\frac{1} {2^}$,要求将n个数分为两堆,且满足每一堆数值的和大于 \(\frac{1}{2}\)。 思路: 一个很关键也很显然的性质就是,对于 \(x \in [1, \infty ] \wedge x \in Z\),都有 \(\f 阅读全文
摘要:
Fireworks 题目大意: 花费n时间做一个烟花,释放已做好的所有烟花花费m时间,每个烟花是完美的概率为$ p \times 10^{-4}$,问在最优策略下成功释放第一个烟花的最小期望时间。 思路: 不妨假设每做完k个烟花后释放一次,这一轮的时间开销为$k * n + m$,在一轮中完美烟花的 阅读全文
摘要:
Evil Coordinate 题目大意: 给出地雷的坐标和一组行进方向指令,问能否通过改变指令的顺序避开地雷,若能则输出序列。 思路: 如果雷埋在起点或终点,那我们无法躲避。 如果埋在其他的点上,从直观上来说我们有挺多的躲避线路,毕竟雷只有一个,而我们可以在无限大平面上任选四个方向进行移动。考虑模 阅读全文
摘要:
P3149 思路: 稍微模拟一下就能发现,每一次的操作其实就是将“第1~第k个位置上的值”的逆序对的贡献清零。 那么我们先对数据离散化后用树状数组求出每个位置上的值能贡献的逆序对,并使用前缀和加速逆序对的区间求值。 值得注意的一点是按照从大到小的顺序去修改树状数组就可以计算出每个位置上的值贡献的逆序 阅读全文
摘要:
P2802 思路: 普通的dfs和bfs需要打vis标记,而在这题中标记不好处理,因为可能会遇到先到一个地方加满hp再原路返回的情况。 这里我们用f数组记录(i, j)位置上的最大hp,因为到达一个点(x, y)时的hp较少的话走出来的结果不会比f[x][y]走出来的结果更优,因此我们根据这一性质进 阅读全文
摘要:
Let's Play Curling 题目大意: 红队n个冰壶、蓝队m个冰壶,给出所有冰壶的坐标,找到一个位置c使得红队能赢且得分尽可能多,若红队能赢输出最多能得到的分数,若红队不能赢输出Impossible。 思路: 可将题意转化为求任意相邻的两个蓝队冰壶之间最多能有几个红队的冰壶。 通过uppe 阅读全文
摘要:
Fight against involution 题目大意: n个人,每人论文字数$w_i$在区间$[L_i, R_i]$上,每人成绩为$n-K_i$,$K_i$为字数大于自己的人数,要求在每人成绩不低于自己最优情况能得到的成绩下尽量减少$\sum_^ w_i$。 思路: 注意对题目中$K_i$的理 阅读全文
摘要:
CF1027D Mouse Hunt 题目大意: n点n边有向图,可能包含自环和重边,现要求以最小花费选取一下点,使得无论从哪一个点出发都会经过所选的任意一个点。 思路: 我们考虑这样一种情况: 1 >2< 3 ^ | 1、2号点形成一个环,3号点指向二号点。 case 1:如果在1、2号点选一个最 阅读全文
摘要:
CF1000E We Need More Bosses 题目大意: n点m边无向图,找到两个点s、t,使得s到t必须经过的边最多,求最多的必须经过边数。 思路: 题目关键在于对“必须经过的边”的理解,拿样例1来说 5 5 5 1 2 | 2 3 2 3 1 / \ 4 1 3 1 5 2 | 4 在 阅读全文