摘要:
Description Solution 对于一种确定的排列,我们可以用 $O(n^2 k)$ 的 $DP$ 算出最优划分的方法 但是排列需要枚举,我们可以考虑退火 每一次交换两个元素,跑一边 $DP$ 求答案即可 cpp include define sqr(x) ((x) (x)) using 阅读全文
摘要:
Description 神校XJ之学霸兮,Dzy皇考曰JC。 摄提贞于孟陬兮,惟庚寅Dzy以降。 纷Dzy既有此内美兮,又重之以修能。 遂降临于OI界,欲以神力而凌♂辱众生。 今Dzy有一魞歄图,其上有N座祭坛,又有M条膴蠁边。 时而Dzy狂WA而怒发冲冠,神力外溢,遂有K条膴蠁边灰飞烟灭。 而后俟 阅读全文
摘要:
Description Solution 此题解题关键在于数据随机,根据这个进行复杂度分析 不想写题解了 阅读全文
摘要:
Description Claris和NanoApe在玩石子游戏,他们有n堆石子,规则如下: 1. Claris和NanoApe两个人轮流拿石子,Claris先拿。 2. 每次只能从一堆中取若干个,可将一堆全取走,但不可不取,拿到最后1颗石子的人获胜。 不同的初始局面,决定了最终的获胜者,有些局面下 阅读全文
摘要:
Description 给出平面上坐标单调不降的三个矩形 $A,B,C$ ,你需要在 $A$ 选择一个起点, $B$ 选择一个位置休息, $C$ 选择一个终点,期间你可以向上和向右走 求所有选择的方案和 "题面" Solution 写起来有点恶心 先考虑一个简单的问题,求 从 $(0,0)$ 出发, 阅读全文
摘要:
Description "题面" Solution 我们发现如果一个位置需要被退掉,那么是 $0$ 或 $1$ 都没有关系 于是我们想到把 $0,1$ 归为一类 问题转化为每一次可以添加和删除一个 $?$,求 $n$ 次操作后最后长度变为 $|S|$ 的方案数 我们最后可以把 $?$ 对应成 $S$ 阅读全文
摘要:
Description 给定一张 $n$ 个点,$m$ 条边的无向图,求 $S$ 到 $T$ 的最短路,其中边权都是 $2^k$ 的形式 $n,m,k using namespace std; const int N=1e5+10,mod=1e9+7; int n,m,head[N],nxt[N 2 阅读全文
摘要:
Description 给出一张四连通网格图,其中有 $n$ 个点是连通的,维护以下两种操作: 1.把某个点变黑 2.给出一个白点,查询离这个白点最近的黑点的距离 "题面" Solution 我们把每一行看作一个节点,建立一棵树 然后点分治维护这两个操作即可 实际上就是动态加入黑点,查询离某个点最近 阅读全文
摘要:
Description Solution 实际上添加问题就是一个线段树区间覆盖问题,打标记就好 对于弹栈操作比较难搞,实际上也就是一个历史查询,我们不需要保存栈中的每一个元素,我们通过查找历史状态就可以了 这样用主席树维护复杂度是 $O(n logn)$ 的 具体是这样的: 假设我们要弹出位置 $x 阅读全文
摘要:
Description 给出长度为 $n$ 的序列,有 $Q$ 组询问,问 $|a_i a_j|$,$l define mp make_pair using namespace std; const int N=1e5+10,M=320,inf=1e9+10; int n,a[N],w[N],blo 阅读全文