好不容易算着块大小,裸的分块才能过随机极限数据:然而这题在线的数据都竟然是构造的…… 题目描述 有 $n$ 个数字,第 $i$ 个数字为 $a_i$. 有 $m$ 次询问,每次给出 $k_i$ 个区间,每个区间表示第 $l_{i, j}$ 到 $r_{i, j}$ 的数字,求这些区间中一共出现了多少种不同的数字. 部分数据强制在线. 第一行包含三个整数 $n, m, p$,$p$ 为 $0$ 或 $1$ 表示是否强制在线. 第二行 $n$ 个正整数,第 $i$ 个表示 $a_i$. 接下来依次给…
bitset压位,因为是颜色数,直接倍增,重合部分不管,没了. // powered by c++11 // by Isaunoya #include <bits/stdc++.h> #define rep(i, x, y) for (register int i = (x); i <= (y); ++i) #define Rep(i, x, y) for (register int i = (x); i >= (y); --i) using namespace std; usin…
Loj #6503. 「雅礼集训 2018 Day4」Magic 题目描述 前进!前进!不择手段地前进!--托马斯 · 维德 魔法纪元元年. 1453 年 5 月 3 日 16 时,高维碎片接触地球. 1453 年 5 月 28 日 21 时,碎片完全离开地球. 1453 年,君士坦丁堡被围城,迪奥娜拉接触到四维泡沫空间,成为魔法师,最终因高维碎片消失失去魔力而身死. 为了改写这段历史,你不惜耗费你珍藏已久的魔术卡来回到魔法纪元元年. 在使用这些魔术卡之前,你却对它们的排列起了兴趣... 桌面上…
传送门 Description  「搞 OI 不如种田.」 小 D 在家种了一棵二叉树,第 ii 个结点的权值为 \(a_i\). 小 D 为自己种的树买了肥料,每天给树施肥. 可是几天后,小 D 却发现树上有几个结点枯死了,他这才发现,自己买的肥料是二叉搜索树专用版. 二叉搜索树是一种二叉树,满足每个结点的权值大于左子树内所有点的权值,小于右子树内所有点的权值. 二叉搜索树专用版肥料是这么工作的:首先,假设所有节点权值互不相同(小 D 的二叉树可能不满足),每种权值对应一种肥料,所有肥料会从根…
description LOJ 6500 solution 根据常有套路,容易想到将区间差分转化为异或数组上的单点修改,即令\(b_i=a_i \ xor\ a_{i-1}\), 那么将\([l,l+k-1]\)取反,就相当于将\(b[l]\)与\(b[l+k]\)取反,若\(b[l]\)与\(b[l+k]\)都是1,等于是二者消掉了 于是发现一次操作只会对\(mod k\)余数相同的位置造成影响,并且每次操作只能消去两个1, 故区间\([l,r]\)的\(b\)数组能全部变成0当且仅当这段区间…
神仙题 LOJ #6509 题意 给定一棵树,点权为0/1,每次随机一个点(可能和之前所在点相同)走到该点并将其点权异或上1 求期望的移动距离使得所有点点权相同 题解 根本不会解方程 容易发现如果一个点不是最后一次被走到,就会随机下一个点并走过去 即如果我们能求出每个点非最后一次走到的期望次数,就可以算出答案 由于完全随机,初始相同颜色的点非最后一次走到的次数相同 设$ f_{i,0/1}$表示在有$ i$个1的时候,0/1非最后一次走到的期望次数 很艰难的列出方程如下 $$ f_{i,0} =…
题意 \(n\) 张卡牌 \(m\) 种颜色,询问有多少种本质不同的序列满足相邻颜色相同的位置数量等于 \(k\). 分析 首先本质不同不好直接处理,可以将同种颜色的卡牌看作是不相同的,求出答案后除以 \(\prod {a_i!}\) 即可. 如果我们能够得到一个至少存在 \(k\) 个魔术对的排列数,就可以容斥了. 考虑单独处理每种颜色, 枚举一个颜色 \(i\),计算这种颜色至少有 \(j\) 对的方案总数. 可以选择 \(j\) 张牌保证这些牌一定跟在某张牌的后面,这样就可以形成 \(\g…
题意 链接 Sol 第一次做在二分图上博弈的题..感觉思路真是清奇.. 首先将图黑白染色. 对于某个点,若它一定在最大匹配上,那么Bob必胜.因为Bob可以一直沿着匹配边都,Alice只能走非匹配边.到最后一定是Alice不能移动. 否则Alice必胜.这个我不会证,但是又举不出反例来qwq.手玩了几个数据发现Alice总会有一种方法走某个非匹配边干掉Bob. 那么如何找不一定在最大匹配上的点呢?首先求出一个最大匹配,结论是从所有不在最大匹配上的点开始dfs,通过交叉边(目标点的匹配边)走到点都…
题意 链接 Sol 神仙题+神仙做法%%%%%%%% 我再来复述一遍.. 首先按照\(y\)坐标排序,然后维护一个扫描线从低处往高处考虑. 一个连通块的内状态使用两个变量即可维护\(ans\)表示联通块内的最大答案,\(f\)表示联通块内\(k=1\)的数量 若当前的水超过了当前的挡板,那么将当前联通块和下一个位置所在的联通块合并. 若是一个\(k=0\)的操作,则一定满足. 若是\(k=1\)的操作,那么就将\(f++\),然后更新一下答案. #include<bits/stdc++.h>…
题意 题目链接 分析 二分图博弈经典模型,首先将棋盘二分图染色. 考虑在某个最大匹配中: 如果存在完美匹配则先手必败,因为先手选定的任何一个起点都在完美匹配中,而后手则只需要走这个点的匹配点,然后先手只能再找一个匹配点,所以先手必败. 从非匹配点出发先手必胜:后手只能走到匹配点(否则不是最大匹配),之后先手只需要一直走匹配边即可.从匹配点不可能走到非匹配点(否则存在增广路,与最大匹配矛盾),所以先手必胜. 记状态 1 表示一定在最大匹配中,0 表示不一定.我们发现只要一个点状态为 0,从这个点出…