随笔分类 - 容斥原理
摘要:T1 这个题就是考虑去大力分类讨论。 首先可以知道$K 3$的情况答案肯定是0. 那么分类讨论$3,2,1,0$的情况。 首先是$k=3$的情况。 这个情况很简单。 首先$m$必须为3。 就是我们考虑一下用总的方案去掉钝角三角形的方案。 那么答案就是: $$ans=\binom{n}{m} n\su
阅读全文
摘要:T1 首先设出暴力的$dp$。 $dp[i][j][k][l]$为前$i$个点中有$j$个白点结束方案为奇数,$k$个黑点结束方案为偶数,当前全部的结束方案之和奇偶性为$l$的方案数。 那么可以很简单的转移。 在考虑转移时候的系数。 其实只跟$j,k$是否为0有关系。 那么状态大大化简为: $dp[
阅读全文
摘要:因为没做过数学题。 所以打算先随便找+做几个~~简单~~数学题,再写题解,过段时间再讲。 另:由于我之前讲的数学题难度太大,被多人联名怒喷,广受差评,所以这次的难度大大降低,题太水。 做过的大佬不要大声喷或喊题解,没做过的神秒切不要说题真太水。 本来计划弄10个题,由于本人水平有限,这段时间内过于颓
阅读全文
摘要:T1 分别对序列和值域分块。 只需要做到$O(\sqrt{n})$查询$O(1)$修改就可以了。 这样的话与处理一下序列和值域分块的情况。 查询的时候动态的处理散块就可以在$O(\sqrt{n})$复杂度维护$K$大值。 T2 直接推式子。 $$ \begin{aligned} ans&=\sum\
阅读全文
摘要:T2强制在线挂了qvq,结果是因为初值写错了,T3数组开小掉了10pts 其他倒还好。 T1 秀最靓的操作,写最短的代码。 其实就是我们按照$kruscal$考虑的话,我们可以把最小生成树上的边都列出来。 这是一个单调不讲的序列。 把最后一个和前面$n 2$个分别考虑,然后一个一个的削减$w[n 1
阅读全文
摘要:毒瘤全家桶。 T1 考试的时候打的差一个符号就有70了qwq。 我们把直线交矩形框的点都找出来。 然后按照矩形的重心为原点进行极角排序。 对于一条直线来说。 设两个端点的角度分别是$a_x,b_x$,那么我们令$a_x<b_x$。 这样两条直线相交的条件就是: $$a_x\leq a_y\leq b
阅读全文
摘要:Bitwise Xor 我们可以发现一个序列中的最小的异或值是两个大小相邻的数的$xor$取$min$。 那么我们对序列排序。 只需要计算相邻的$xor$是大于等于$k$的方案。 $dp[i]$是以$i$结尾最小$xor$大于$K$的方案。 然后我们可以类似于用树状数组来搞最长升降转移。 这次用$t
阅读全文
摘要:这场好郁闷啊。 T1,T3太简单,T2太难。。 T1 $dy$讲的原题。 直接用容斥来做。 只需要求出三个二位偏序即可。 T2 比较帅的$LCT+PAM$。 我们考虑过程中出现的所有的回文串。 其实是两个最大的被原串包含着的回文串所代表节点路径上的$cnt len$的和。 这样我们用一个$LCT$来
阅读全文
摘要:刷了一下,写一下。 T1. 天天爱射击 可以这样想。 我们二分一下每一块木板在什么时刻被击碎。 然后直接用主席树维护的话是$O(nlog^2n)$的。 会$T$,而且是一分不给那种。。。 那么换个想法,既然都用主席树了,还二分啥。 可以直接主席树上查区间排名。 似乎也可以整体二分。 复杂度$O(nl
阅读全文
摘要:我淦了这个T3 T1 考虑模意义下解方程。 我们对每一个点列一个方程。 可以列出$n 1$个,另外一个加不加是一样的,因为可以用$n 1$个来表示$n$个。 那么建树。 剩下的$m (n 1)$条边和树边可以构成$m (n 1)$个环。 然后可以列出来剩下的$m (n 1)$个方程。 总共$m$个方
阅读全文
摘要:直接全都WA爆了。 T1 博弈论模型,其实就是转化成$xor$和为$0$。 我们考虑朴素的$dp$,$dp[i][j][k]$设为前$i$个元素,去掉的元素个数$mod\ d$为$j$,$xor$和为$k$的方案。 暴力转移即可。 考虑最终答案是$dp[n][0][0]$ 我们降序排序$\{a\}$
阅读全文
摘要:T1 好可恶的憨憨题。。 大体上是一个思路转化。 我们把求被覆盖的方案数转化为求总方案数和不被覆盖的方案数。 我们知道最多有$nlogn$个区间的$gcd$是不同的。 我们把这些极长区间求出来。 按照左端点找右端点和右端点找左端点分别求两次。 会得到一个三元组$(L,r1,r2),(R,l1,l2)
阅读全文
摘要:好恶心的题。 服了。 T1 对顶堆启发式合并。 维护出每一个节点的$a[mid]$,和$a[mid+1]$即可。 最后$dfs$一次用树状数组维护后缀和即可快速的分情况统计答案。 T2 直接求$g[d]$表示$gcd|d$的子串个数。 然后单独在一个序列中的可以直接求出来。 因为最多只有$log$个
阅读全文
摘要:。。。 怎么又改题大神了。 kuku. T1 我们对于每行的每一个字串计算有多少个子矩形将之容纳并计算为有效贡献。 相当于是对一行的每一个后缀的每一个前缀进行计算。 我们先建trie树。 其上每一个节点代表当前阶段后缀(最一开始的阶段当然是整个串,总共有m个阶段)的不同前缀。 对于每一个节点开一个$
阅读全文
摘要:今天似乎格外的简单呢。 T1 我们最喜欢的$dp$。 每次$dp$出剩下$i$个人的情况下对答案期望的贡献。 这样贪心的拿到最多的贡献就行了。 然后这个物品就要去掉一个人的贡献 用一种比较巧妙的$dp$来统计就可以了。 T2 可怜的变元矩阵树定理。 暴力插值就行了。 值得一提的是脸哥写的那种$dp$
阅读全文
摘要:T1 现实搜索题。 告诉我什么是真实。 如果一个串的子序列个数大于$n$,那么一定可以有一个名字。 所以说一个人搜出最多$n+1$个子序列即可。 然后网络流暴力增量匹配一下。 最后统计答案的时候判断哪个边满流即可。 T2 lcm不好弄。 考虑分别求每一个质因子的贡献。 这样相当于再求某一个质因子的$
阅读全文
摘要:非常值得反思的一场考试 考完改了20分钟就$AK$了。。。 $T2$的预处理处理到了$n 2$??? 处理到$n 1$就$A$了。 $T3$的一个循环写错了位置,往下调了一格就$A$了。??? 自闭场。 明天就$noi\ online$了。。 诶。。状态什么时候能来啊。 行吧,就这样吧。 T1 讲过
阅读全文
摘要:好像很迷? T1 很奇怪的期望。 根据那几个条件可以发现,概率最终会收敛到精度以下。 我们只需要迭代足够的轮次即可。 T2 暴力的$O(n|S|2^n)$都过了。。。 奇怪。 发现答案是求并集,考虑基础的并交容斥。 设$g(S),S\subseteq A$为$S$中的所有的情况中$S$的所有串的公共
阅读全文
摘要:T1 dp+多项式。(喜欢的类型) $dp[i][j]$已经插入了$i$个区间,当前的序列长度为$j$的方案。 目标:$dp[m][n]$。 初始化:$dp[0][0]=1$ 转移: $$dp[i][j]= \begin{cases} dp "i 1][j]+\sum\limits_{k=0}^{j
阅读全文

浙公网安备 33010602011771号