随笔分类 - 计数
摘要:a 倒推,每次删掉最后一个b[i]=i的即可 b 一开始发现可以构造完全二分图,使两边和同为S,这样每个点的和=对面二分图点的和=S,然后n=6和为奇数 进一步发现可以直接分成A组组内和为B的组,然后组之间连边,此时S=(A-1)B,有AB=n(n+1)/2 当n为奇数时取A=(n+1)/2,B=n
阅读全文
摘要:题面 题解 注意a[u]是点u位置的a,不是每选一个点然后把非标记个数丢进vector里( 每选择一个点,相当于把相邻的非标记的边标为外向,最后一个点u的外向边个数就是a[u] 又观察发现每种边定向方案都可以构造(拓扑),所以一共有2^(n-1)种方案 设f[k]表示gcd=k,g[k]表示k|gc
阅读全文
摘要:https://www.cnblogs.com/Darkpurple/p/9781756.html Cayley定理:完全图的生成树个数为 次 如果每个点的度数为 ,那么生成树个数为 \[\frac{(n-2)!}{\prod_{i=1}^n (d_i-1)!}
阅读全文
摘要:神必burnside题 题目大意 给出一个60面体,求用n种颜色染色的方案数(旋转同构),第i种要用至少次 对p取模(p不是质数) 展开图: 题解 显然一眼burnside/polya,考虑求出所有的置换 感受一下,一个二维的正方形需要1种顺时针旋转90°得到所有置换,一个三维的正方体
阅读全文
摘要:# 题目大意 构造一个01网格图,1能走0不能走 使得从左上走到右下(只能走右或走下)的方案数恰好为x n=当前p[i]就减p[i],a[i]+1(也类似**进制转换**) (也可以理解成让**ai尽量小**,所以一次**减的数尽量大**,每次**减最大的能减的数** # code ```cpp #
阅读全文
摘要:这也太atcoder了,想了1min就猜出来了结论( 待更
阅读全文
摘要:神奇的题目 先考虑一个序列a[i]的情况(经典问题),维护数组f[i]表示以i为结尾的本质不同的序列个数 每次枚举上一位j,并且保证每种a只取最后一个出现的来转移 设g[a]表示最后一个a的对应的f的值,发现每次把f[i]=Σg[j],然后把g[a[i]]=f[i]=g[j] 实际就是每出现一个a,
阅读全文
摘要:一堆的数学和构造题 arc131D - AtArcher 由于区间是对称且向两边递减的,所以有结论: 按x=0分开,两边的点的个数差<=1(如果不是则把多的那边的最后一个移到少的那边,一定更优) 所以可得[0,D-1]中一定有一个,且两边分别是floor(n/2)和ceil(n/2)个 进一步手玩得
阅读全文
摘要:F 太屑了,没写 如果直接暴力记矩阵的话是40*40=1600边长,显然不行 发现如果上下都没有匹配结束,则后面的字母是唯一确定的(按位比较,不同则无解) 设f[i,x]表示串长i,一边匹配到x,则转移大概是枚举另一边要接的串,有Fi=Fi-k*某个矩阵 所以把i也维护进去,维护后5个i转移,总边长
阅读全文
摘要:E 先做差,发现排列如果出现正负正负或负正负正就会挂,调整一下匹配即可使min变大 同时如果正和负都>1,则不存在中间一段左右两段其他的,这样也会挂 然后随便组合一下 F 手玩发现调整的一定是a1<b1,a2>b2,且a1<a2,b2<b1才会优 则讨论发现有b2 a1 a2 b1,b2 a1 b1
阅读全文
摘要:A 结论:假设在某个位置q减1了,则后面要全选(~~被痛击之后失去理智~~) 证明:如果后面某个位置没选,则可以把第一个q-1的位置和其交换一下,中间的至少+1,后面的不一定-1,极限情况也是中间+1后面不变,一定不劣 由于第一个-1取决于q,所以这些位置一开始都是固定的,在这些位置往前扩展不减1的
阅读全文
摘要:题目大意 n<=300,k<=n 题解 网上的做法全是容斥,这里讲一种直接算的方法 首先显然破环成链,因为如果两边相交则无论在哪里破都相交,不相交则都不相交 那么一个连通块有其点范围[l,r],并且[l,r]内没有点跑到连通块外去 现在直接枚举[l,r]来计数,计算min在l,max在r的极大连通块
阅读全文
摘要:题目大意 长为n的序列,求最长众数非唯一子串长度 n<=2e5,ai<=n D1:ai<=min(100,n) 题解 D1: 枚举右端点,显然随着左端点不断右移,一定有某个时刻众数非唯一,因此求出当前众数与其他的相等的最小l之后对长度取max 每次+1-1只会改变1所以用桶维护,因为不好直接存所以写
阅读全文
摘要:题目大意 一个长为n的哈希表,每次在ai处加一个元素,其可以往左或往右找位置,设x为最终位置,则贡献为|ai-x| 对所有的不走出边界的a和所有的方向集合b求和,模p n<=500,p是质数 题解 ll:也是简单题 于是顺便把标爆成了nlogn 一开始以为可以走出边界,后来发现看错了 所以直接设一段
阅读全文