摘要:
分析 傻子题? 对d取模后随便贪心即可 代码 阅读全文
摘要:
分析 树上从下往上线性基合并即可 并不需要启发式/xyx 代码 阅读全文
摘要:
分析 不难想到dp[i][j]表示前i个数分了j组的最大值 我们发现这个dp状态有决策单调性 g[i][j]表示对于第i个数它的第j位最近出现的位置 每次一定从这些点转移 预处理即可 似乎还可以做到1e5 https://www.cnblogs.com/hanyuweining/p/10321914 阅读全文
摘要:
分析 我们对于每一个点记录他所在的这一行以它为右端点向前最多有几个连续的1 之后我们考虑每一列 对每一列的点按照之前求出的值从小到大排序 一次考虑每一个宽度 而高度也可以很容易的求出 每次取最大值即可 代码 阅读全文
摘要:
分析 对于每一个点只要维护它前面/后面的一小一大组合的数量 对于这个可以维护两个树状数组 然后从前往后/从后往前分别扫一遍相乘即可 代码 阅读全文
摘要:
分析 我们发现如果行的异或和等于列的异或和那么对于n-1行m-1列的所有数的选择都是任意的 因为一定可以在它的行末/列末选一个合适的数是的整体满足 但是我们发现对于右下角那一个数是否满足存疑 我们设矩阵为 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 阅读全文
摘要:
分析 预处理出所有合法数字 然后直接lower_bound查询即可 代码 阅读全文
摘要:
分析 用map维护一下每种字符串当前有几个即可 代码 阅读全文
摘要:
分析 我们发现可以把题目转化为:有一个序列a,问它的排列中相邻两个值异或的最大值的最小值 我们发现序列的构成一定是前几位全是一样的 从某一位开始左面全是0右面全是1 所以只要找到一种方案是的交界两个值异或最小即可 把是0的插入01trie,每次拿是1的查询异或最小值 代码 阅读全文
摘要:
分析 我们发现可以按照ai从小到大排序 边的大小就是当前的a减去前面第一个不等于它的a 代码 阅读全文