上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 57 下一页
摘要: 传送门 发现一次修改影响的东西太多了所以几乎什么都不能维护 所以缩小有用的点集 发现可以将有用的点约束到 \(\forall j\in[i-k, i-1], a_j\leqslant a_i \and \forall j\in[i+1, i+k], a_j< a_i\) 的 \(i\) 于是发现在每 阅读全文
posted @ 2022-03-14 21:43 Administrator-09 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 传送门 我的思路引入是全同态加密 考虑一个全同态哈希使得 \(h(m)^k\equiv h(m^k)\) 这个 \(h(x)\) 怎么构造呢?发现 \(h(x)=x \bmod p\) 就满足这个性质所以…… 损失一些正确率将 \(h(m)\) 的值域降到可以枚举的范围 于是可以枚举 check 是 阅读全文
posted @ 2022-03-14 21:38 Administrator-09 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 传送门 首先一个 \(O(n^2)\) 的 DP 是显然的 然后赛时脑子抽了试图单次 \(O(\log n)\) 或 \(O(\log^2 n)\) 维护答案变化 事实上可以支持单次 \(O(n\log n)\) 因为单点权值变化量只有 1 所以如果一个点的 DP 值变了那一定和这次修改的变化量相同 阅读全文
posted @ 2022-03-14 21:25 Administrator-09 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 传送门 以前见过的套路……但分的时间太少了 首先发现可以每次用 \(dis_i+c_i\) 最小的 \(i\) 更新其它点 随即发现每个点只有第一次被更新是有用的 于是考虑点分树优化建图 对每个点分树上的点扫出子树内的点并排序,单调指针即可 由于有个排序在复杂度是 \(O(n\log^2 n)\) 阅读全文
posted @ 2022-03-14 21:18 Administrator-09 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 传送门 后面几个可以很方便地状压容斥 设计矩阵的时候手别抖 一些物品数和体积都非常小的背包问题可以转成集合幂级数然后矩乘优化 DP 对于一类形如 \(\sum\limits\) 阅读全文
posted @ 2022-03-13 07:44 Administrator-09 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 传送门 保证数据随机的那一档合法区间非常少 找性质: 于是可以求解一个区间的答案 于是只需要算 \(O(n)\) 个区间答案 需要将计算式写出,大力分类讨论拆 min 点击查看代码 #include <bits/stdc++.h> using namespace std; #define INF 0 阅读全文
posted @ 2022-03-12 21:26 Administrator-09 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 传送门 一个暴力是枚举前三个点,bitset 确定最后一个 树上连通性/链相交一类问题记得试试 边-点=1 的容斥 实现时的一个技巧是边化点 那就枚举钦定 A 中的一个边/点删去,将形成的几个连通块分别染色 在第二棵树上同样用 边-点 容斥算出合法四元划分数 直接计算就可以了 用 vector 会获 阅读全文
posted @ 2022-03-12 21:18 Administrator-09 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 传送门 没做出来自闭了 首先找性质: 关于一个序列所有子序列的异或和之和: 考虑每一位的贡献,发现若存在一个数这一位是 1,则它一定会贡献 \(2^{n-1}\) 次 证明(令这一位为 1 的有 \(x(x>0)\) 个): \(\operatorname{contribution}=2^{n-x} 阅读全文
posted @ 2022-03-12 21:11 Administrator-09 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 传送门 首先有一个 \(O(4^n)\) 的 DP 比较显然(同时记录灯的亮灭和后续翻转情况) 然后优化的话发现所有操作的顺序是无关的 这启示我们枚举每个操作到结束的时间,这样就可以确定每个操作的后续影响了 于是令 \(f_{i,s}\) 为还剩 \(i\) 秒,考虑后续影响的状态为 \(s\) 是 阅读全文
posted @ 2022-03-12 07:49 Administrator-09 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 传送门 求最小表示法意义下的不同子串数 当字符集很小时存在一个做法是枚举映射 设字符集大小为 \(m\) 则若我们保证了一个子串每种 原字符 和 最小表示法下对应的字符 的映射都在原串中出现过, 那答案就是本质不同子串数除以 \(m!\) 为了保证每种映射都出现过我们可以枚举映射将原串映射一遍接在后 阅读全文
posted @ 2022-03-10 17:09 Administrator-09 阅读(3) 评论(0) 推荐(0) 编辑
上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 57 下一页