10 2018 档案
摘要:传送门 分析 orz zwj 最好想到的方法是我们枚举每一位是0还是1,然后暴力求出经过n个操作之后的结果来决定这一位是0还是1 然后我们发现这种暴力的做法居然能a 但是还有更好的方法 我们只考虑开始的数每位都是0和每位都是1这两种情况 然后算出n次操作之后变成了什么 如果由0变1则我们这一位肯定是
阅读全文
摘要:传送门 分析 AC自动机板子题qwq 不过似乎可以哈希(因为所有模式串的长度相同,所以哈希乱搞就可以) 代码
阅读全文
摘要:传送门 分析 一个比较神奇的思路 我们考虑分治,对于每一个区间[le,ri]我们计算这个区间中左端点属于[le,mid],右端点属于[mid+1,ri]的情况对答案的贡献 我们求左半个区间的最大最小值的后缀信息以及右半个区间的最大最小值的前缀信息 于是我们发现在左半面最大值越来越小、最小值越来越大,
阅读全文
摘要:传送门 分析 我们知道如果对于模数$P$有$gcd(x,P) = 1$则$x$一定有且仅有一个逆元,可以表示为 $x \equiv \frac{y}{1} (mod P)$ 即为$xy \equiv 1(mod P)$ 所以我们只需要找出与$P$互质的数的个数然后除以二再加上$i*i \equiv
阅读全文
摘要:传送门 分析 不难发现集合中的数一定是集合内其它一堆数的$gcd$ 于是我们枚举$i$,统计原来集合中有几个数是$i$的倍数,设这个值为$f(i)$ 之后对于每个$i$如果不存在$f(x*i) = f(i)$则这个$i$合法,答案累加一 代码
阅读全文
摘要:传送门 分析 dp[i][j]为考虑前i个位置,[i-j+1,i]中的颜色互不相同,并且ai-j与这段区间中的某一个位置颜色相同 我们枚举第i+1个位置和[i-j+1,i]中的哪一个颜色相同或者全部不同,进行转移 dp[i][j]=dp[i-1][j-1]*(m-j+1) dp[i][j]+=dp[
阅读全文
摘要:传送门 分析 将询问离线,枚举右端点。新加入一个右端点i时,假设离i第t近的同色位置为p,t+1近的是q,则当i是右端点时,(q,p]的点可以作为左端点。 注意对于一个点离它第t近的同色点可以用队列维护求得 之后用树状数组差分一下就可以了 代码
阅读全文
摘要:传送门 分析 令f(i,j)表示i点完全图有j个联通块的方案数。 讨论有i-1个点已经固定了,我们拉出一个代表元素然后讨论它的集合大小然后组合数算一下就可以了。 $$ dp(i,j) = \sum_{k=1}^{i-1} C_{i-1}^{k-1} dp(i-k,j-1) dp(k,1) $$ $$
阅读全文
摘要:传送门 分析 将所有字母分别转化为1~26,之后将字符串的空位补全为0,?设为-1,我们设dp[p][c][le][ri]表示考虑le到ri个字符串且从第p位开始考虑,这一位最小填c的方案数,具体转移见代码。 代码
阅读全文
摘要:传送门 分析 我们发现这个四元组可以分解成一个逆序对拼上一个顺序对,这个线段树搞搞然后乘一下就可以求出来了,但是我们发现可能有(a,b)为逆序对且(b,c)为顺序对的情况,所以要进行容斥,我们只需要枚举是哪一个点重合然后减掉即可。 代码
阅读全文
摘要:传送门 分析 我就是个BT...... 直接排序后开数组记录每条线上的信息,注意由于每个点只会影响前面第一个点和后面第一个点,所以记录每条线的前一个点就行了。 代码
阅读全文
摘要:传送门 题目大意 给定一个序列A,求翻转A中一个区间之后的最长不降子序列的长度即翻转的区间 分析 发现直接枚举翻转的区间的话是无论如何都不行的,于是有一个非常神奇的做法。我们再设一个序列B = {0,1,2,3,4,5,6,7,8,9},然后我们枚举翻转B中的哪一段,假设我们翻转[5,8]z这一段,
阅读全文
摘要:传送门 分析 论bitset的妙用......我们利用桶排将输入的数据排序,之后分别考虑5维,a[i][j]表示考虑第i个人第j维的情况下于其它人的大小关系。最后将5维的信息并起来求1的个数即可 代码
阅读全文
摘要:传送门 分析 二分一个数表示查询位置的数是多少,将序列中大于等于这个数的数赋为1,其余赋为0,对于每一个区间查询区间和(即区间内1的个数),然后区间修改将前/后半部分修改为1,其余修改为0即可 代码
阅读全文
摘要:传送门 分析 用线段树维护区间gcd,每次查询找到第一个不是x倍数的点,如果这之后还有gcd不能被x整除的区间则这个区间不合法 代码
阅读全文
摘要:传送门 (分析见正睿2018.10.1笔记) 代码
阅读全文
摘要:传送门 (分析见正睿2018.10.1笔记) 代码
阅读全文
摘要:传送门 (分析见正睿10.1笔记) 代码
阅读全文

浙公网安备 33010602011771号