- 博客(5)
- 收藏
- 关注
原创 【论题选编】单调栈和全 1 子矩阵
(低技术力预警) 有时我们希望对 01 矩阵中,每个全 1 子矩阵做一些统计。 一种通用的方法是单调栈。我们从上到下枚举行,然后考察以该行为底边的所有全 1 子矩阵。利用单调栈,我们可以得到以该行为底边的所有极大子矩阵。 假设对一个高为 hhh、宽为 www 的矩形,其权值为 f(h,w)f(h, w)f(h,w),那么对一个高为 hhh、宽为 www 的极大子矩阵而言,其包含的所有矩形的贡献和为 sum(h,w)=∑h′=1h∑w′=1w(w−w′+1)f(h′,w′) sum(h, w) = \sum_
2020-10-25 00:34:37 227
原创 【论题选编】可重集表示数问题
(最近做题太少,只能水一个简单的文章。) 大概就是三个题目混合起来。 首先给出定义:一个可重集 SSS 可以表示出数 xxx,当且仅当存在 T⊂ST\subset ST⊂S 使得 TTT 中元素的和恰为 xxx。 例 1 题意:给定数组 aaa 和数 nnn,问最少向 aaa 中插入多少个在 [1,n][1, n][1,n] 中的正整数,能让 aaa 构成的可重集表示出 xxx。(来源:Leetcode 330) 贪心。 一个很显然的想法是:如果当前数组覆盖不到 xxx,那么我们肯定要添加一个 ≤x\le
2020-10-21 22:14:09 353
原创 【解题总结】Codeforces Raif Round 1
A Box is Pull 最优策略必然是至多只拐一个弯。 B Belted Rooms 先缩点,然后看能不能连成一个环。 C ABBB 类似括号匹配,A 是左括号,B 是右括号。 D Bouncing Boomerangs 一个简单的构造方法是按列从右向左考虑,利用右边的列满足左边的条件。 我们考虑遇到某个 aia_iai 时怎么满足条件。 如果 ai=0a_i = 0ai=0,那么就不在这列放障碍物。 如果 ai=1a_i= 1ai=1,就在 (i,i)(i, i)(i,i) 处先放一个障碍物。
2020-10-18 01:17:24 1473
原创 【解题总结】Codeforces Global Round 11
A Avoiding Zero 如果和是正数就排成正数、0、负数,否则排成负数、0、正数。 B Chess Cheater 抽出最前面和最后面的 L 段,再考虑夹在两段 W 之间的 L 段。看后面最多能贪心选取几个段,全部填充为 W 即可。 C The Hard Work of Paparazzi 题意:给定一个 r×rr \times rr×r 网格图,一开始你在 (1,1)(1, 1)(1,1)。1 单位时间可以在网格图上移动 1 单位距离。tit_iti 时间在 (xi,yi)(x_i, y_i)(
2020-10-11 11:38:42 715
原创 【解题总结】Asia Tokyo Regional Contest 2012(Codeforces Gym 101412)
A Ginkgo Numbers 暴力枚举,略。 B Stylish 简单题,就是题意可能不是很好懂… C One-Dimensional Cellular Automaton 听说是个不是很难的矩阵快速幂,略。 D Find the Outlier 高斯消元还原多项式,略。 E Sliding Block Puzzle 经典推箱子问题,略。除了代码长长长之外没啥特别值得提的地方。 #include <bits/stdc++.h> #define INF 0x3f3f3f3f using nam
2020-10-06 23:31:58 302
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人