摘要:
引入 线性规划是运筹学的一个重要分支,在实际生活中应用非常广泛,其核心问题是如何在资源有限(人力、物力、时间等)的前提下作出最优决策。 以最经典的生产模型为例: 某工厂能生产甲、乙、丙三种产品,生产每种产品都同时需要原料 A 和原料 B 并花费一定工时。同时,由于原料供应链及生产设备限制,每日能使用 阅读全文
摘要:
传送门: Xor-Subsequence (easy version) 思路: 这个问题的描述类似最长不降子序列,不难想到可以设 $dp[i]$ 为以 $a[i]$ 结尾的最长子序列,进而得到递推方程: $$ dp[i] = max{dp[j] \ | \ a_j \oplus i < a_i \o 阅读全文
摘要:
传送门: Divide Square 思路: 不难发现分区数与线段的交点数有关(不包括与边界的交点)。初始时分区数为 1,每多 1 个交点,分区数就 +1,另外,每有一条横跨整个正方形的线,分区数也 +1。所以关键在于如何求出交点数,可以用扫描线处理,从下往上扫描,用树状数组维护扫描线与竖线的交点, 阅读全文
摘要:
传送门: Cow Confinement 思路: 先考虑一个更简单的问题,如果没有围栏的限制,只有花和牛。对于这个简化的问题,由于牛只可以向 x 或 y 增大的方向移动,所以我们可以用一条平行于 x 轴的扫描线,按 y 轴从大到小扫描: 如果遇到花,就在数状数组对应位置权值加 1 如果遇到牛,查询 [ 阅读全文
摘要:
传送门: 圆的异或并 思路: 设最外层的圆的层级为 1 级,根据容斥关系不难得出最终所求的面积为:奇数层的圆面积之和 - 偶数层的面积之和,所以关键是如何求每个圆的层级。 假设我们在图上任意画一条平行于 x 轴的直线,与图上部分圆相交,这些交点一定是成对出现的,而且由于题目中的圆一定不相交,这些成对 阅读全文
摘要:
传送门: 窗口的星星 思路: 网上多数题解思路都是将点(星星)转化为矩阵处理,这里讲一下我的思路。 首先考虑简单化的问题,如果窗口只有宽度而没有高度限制,我们可以将同一 x 坐标的点权加和,转化为一维问题,即给定一个一维数组 a[],求长度为 w 的连续子数组最大和为多少。 解决这个问题的方法有许多 阅读全文
摘要:
传送门: Turing Tree 题意: 给定长度为 n 的数组以及 q 次询问,每次询问给出一对 l、r,输出 [l, r] 区间上所有互不相同的元素的总和 思路: 考虑一个简化的问题,假如询问的区间右端点固定为 n,这时我们可以对原数组进行一定的处理,即只保留每个数最后一次出现的位置,其余位置清 阅读全文
摘要:
传送门: Mark and Lightbulbs 题意: 对于一个 01 字符串,如果与某个比特位相邻的两个比特不相等,就可以翻转该比特位,即如果 s[i-1] != s[i+1] 就可以翻转 s[i]。现给定两个 01 字符串 s 和 t,问 s 能否转化为 t,最少操作数是多少。 思路: 如果将 阅读全文
摘要:
传送门:RGB Coloring 2 思路: 直接暴力枚举的复杂度是 3^n,比较大,显然不能通过。 考虑整幅图连通,这时如果使用 DFS 搜索,就可以保证除搜索起点外其它点最多只有 2 种可选色,所以剪枝后复杂度会接近 2^n,这个复杂度就可以接受。但如果图中有多个连通分块,最坏的情况是所有点都不 阅读全文