Hee的博客~

Hee的博客~

解题报告:Codeforces Round #432 (Div. 2) D. Arpa and a list of numbers 暴力

题目链接 题意: 给定一个序列含n个数,定义这个序列为good当序列里的所有数的gcd>1,你有两种操作: 1:删除一个数,代价为x 2:将一个数加一,代价为y 求把序列变成good的最小代价 思路: 如果知道gcd,可以在O(n)内求出最小代价 ...

2017-09-05 10:05:02

阅读数 222

评论数 0

解题报告:HDU_6185 Covering (轮廓线DP+高斯消元+矩阵快速幂)

题目链接 题意: 给一个4*n的表格,你有两种矩阵(1*2),(2*1),询问放满的方案数。 n 思路: 显然公式应该是一个线性递推方程,知道后可以用矩阵快速幂在O( log(n) * m^3 )求得答案(m为方程的项数) 为了求这个方程,我们可以用轮廓线DP求的方...

2017-09-03 10:53:34

阅读数 448

评论数 0

解题报告:HDU_6123 Destroy the cube (容斥+三元环计数)

题目链接 题意及官方题解: 记录一下自己的做法: 首先如果可以直接跑全部的黑色位置,那就很好写,但是肯定会超时,所以一定要用对称性优化。 如果n为偶数,可以完美拆成八个完全一样的小正方体的子问题,很好写 如果n为奇数,问题就变得复杂而且要考虑各种细节。。 先不考虑最中间的面,解决八...

2017-08-30 20:25:12

阅读数 511

评论数 0

解题报告:HDU_6129 Just do it (找规律 两种做法)

题目链接 题意及官方题解: 思路:看到另一种做法,要巧妙一点,记录一下 解法一(官方): 打出当前位对后面位的贡献表,发现是个斜杨辉三角 只有组合数为奇数才用贡献,由Lucas可知组合数C(n,m)为奇数等价于(n&m)==m 这样就可以枚举m(1~n-1)快速更新答案 ...

2017-08-21 21:24:32

阅读数 137

评论数 0

解题报告:HDU_6122 Color the chessboard (计数)

题目链接 题意及官方题解: 思路: 分析题意可以发现计数只需要维护2*2的矩阵满足题目要求即可 将奇数格的颜色翻转发现矩阵只会有三种形式: 1、每一行颜色相同 2、每一列颜色相同 3、全部的颜色相同 然后容斥一下即可 代码: #include cons...

2017-08-21 17:25:41

阅读数 216

评论数 0

解题报告:HDU_6134:Battlestation Operational (莫比乌斯反演)

题目链接 题意: 求 思路: 本来出题人想考的不是反演,但是用反演做意外的简单。。 原式: 做反演: 令 易知:    ( D( x ) 为 x 的因子个数 ) 那么可在内预处理出 g() ,再在线性时间内得到g()的前缀和 每次查询的复杂度,总...

2017-08-18 17:06:13

阅读数 124

评论数 0

解题报告:HDU_6128:Inverse of sum (二次剩余)

题目链接 题意及官方题解: 思路: 已知公式: 转换一下: 对于每个y,满足要求的x为: 只需要求的y的系数在(%mod)意义下的等价式即可 等同于求sqrt(-3)的等价式,也就是求p-3在(%mod)意义下的二次剩余( Cipolla's algorithm ) 注意一些细节:...

2017-08-18 16:39:43

阅读数 180

评论数 0

解题报告:CROC 2016 - Elimination Round F. Cowslip Collections (莫比乌斯反演)

题目链接 题意: 给定一个大小为n(n 每次询问给往集合中插入一个数,求当前集合的贡献 集合的贡献为所有大小为k的集合的gcd之和 思路: 刚开始想歪了 令 f[ x ]:集合大小为k且gcd()==x的集合数量 num[ x ]:所有的数中x倍数的个数 那么答案为 刚开始想歪了: ...

2017-08-14 20:04:57

阅读数 140

评论数 0

解题报告:Codeforces Round #325(Div. 1) E. Present for Vitalik the Philatelist (莫比乌斯反演)

题目链接 题意: 给n(n 能从中选出一个数x,在从剩下的数中选出一个非空集合S,满足: S的gcd不为1,gcd(S,x)为1 询问满足的方案数 闲扯: 本来O(nlog(n))的想法,交上去一直T。。。 以为卡常数,优化了还是T。。。 发现中间有个部分写成O(n*sqrt(Ai))...

2017-08-13 21:13:18

阅读数 166

评论数 0

解题报告: Codeforces Round #305 (Div. 2) E.Mike and Foam (莫比乌斯反演)

题目链接 题意: 有一个长度为n(n 序列中的每个位置对应一个数ai(1 每次操作给一个数x,代表挑出的序列中的下标为x的数 若对应下标的数已经被挑出,那么就把它放回去 每次操作完,询问所有挑出的数中互质的对数 刚开始时所有数都没有被挑出 思路: 刚开始的没有...

2017-08-12 22:06:58

阅读数 114

评论数 0

解题报告:Codeforces Round #146 (Div. 1) E. Number Challenge 莫比乌斯反演

题目链接 题意: 给定n,m,l,求 d(x):x的约数个数 思路: 加强版的约数个数和 ( 解题报告:BZOJ_3994 约数个数和 莫比乌斯反演学习题)? 代入公式 得到 得到 代入常用的公式: 得到: 这个式子的复杂度为 但是可以发现对于一个数k,只需要用到和它互质...

2017-08-12 20:13:01

阅读数 289

评论数 0

解题报告:HDU_6102 GCDispower (离线处理+莫比乌斯反演)

题目链接 题意: 给一个全排列,每次询问一个区间的函数 官方题解: 思路: 题解已经说的很详细了Orz....记录一下容斥反演的部分 令num(d)为已经扫过的数中d的倍数的个数,预处理出每个数的有效因子(对应的反演系数不为0),就能在均摊O(l...

2017-08-11 11:06:50

阅读数 245

评论数 0

解题报告:BZOJ_3529:数表 莫比乌斯反演+离线处理

题目链接 题意: 一张n*m的表格,( i , j )的格子上的数为gcd( i , j ) 的约数和,询问所有格子的不超过a的数之和,T组数据。 1 思路: 这题很多细节不是很容易想到。。 为了方便表述,定义: F(x):x的约数和,可以预处理得到 G(x):满足题目的gcd==x的组数 ...

2017-08-07 21:25:45

阅读数 133

评论数 0

解题报告:HDU_4947:GCD Array 莫比乌斯反演+树状数组

题目链接 题意: 长度为n的数组,初始值为0。 有两种操作: ①给定a,b,x,将所有下标 i 满足 gcd(a,i)==b的位置加上x ②给定x,查询 1~x 的前缀和 思路: 对于操作①,显然无法更新所有的满足要求的下标 稍作分析可以发现,对于每次更新操...

2017-08-07 15:20:40

阅读数 169

评论数 0

解题报告:HDU_5909:Tree Cutting 树上FWT

题目链接 题意: 给定一棵树,树上每个结点有它的权值,现在问在树上选一些连通的点,使得这些点的权值的异或结果 等于0~m-1的时对应的方案数。 思路: 对每个子树统计选定根的方案数,那么答案为: 因为每个分支可以选也可以不选,那么在进行FWT之前对每个儿子进行dp[s...

2017-08-03 20:53:16

阅读数 130

评论数 0

解题报告:CodeForces - 662C:Binary Table FWT(快速沃尔什变换)

题目链接 题意: 给定一个至多20*100000的01矩阵,可以选择任意行或列,选择行或列的01值改变,问经过操作能到最少的含1的数量。 思路: 因为行最大为20,考虑将每一列压缩成一个20位的整数,选择的行也最多只有20,同样压缩到一个20位的整数。 改变行上的01值,对应的操作为异或,那么就...

2017-08-03 08:50:21

阅读数 501

评论数 0

解题报告:HDU_6061 RXD and functions NTT

题目链接 题意及官方题解: 思路: 先感谢Q巨指点Qrz... 先求得系数式: 拆开组合数: 把系数提取出来稍作变换: 整理一下: 得到: 然后就可以直接进行NTT了。。 代码; #include const int mod = 998244353; con...

2017-08-02 10:27:38

阅读数 1168

评论数 2

解题报告:BZOJ_2154: Crash的数字表格 莫比乌斯反演

题目链接 题意: 给定n,m( 思路: 预处理和的前缀和,这样就能在时间内得出结果 总复杂度为 代码: #include using namespace std; const int mod = 20101009; const i...

2017-08-01 08:49:22

阅读数 191

评论数 0

解题报告:HDU_5663 Hillan and the girl 莫比乌斯反演

题目链接 题意: a为小于等于n的正整数,b为小于等于m的正整数,求gcd(a,b)为平方数的计数 思路: 一个直接暴力的做法就是分别求每个平方数的计数,然后加起来 这样的复杂度为 极限数据时达到了O(1e10)的时间复杂度,肯定是会超时的。 换个思路: 令f(x)表示gcd(a,b...

2017-07-31 19:27:34

阅读数 308

评论数 0

解题报告:HDU_6053 TrickGCD 莫比乌斯反演

题目链接 题意: 给一个长度为n的数组A,让你构造等长的数组B,B数组中的元素取值为小于等于A数组中对应位置的元素,现在询问B数组中的gcd大于等于2的方案数 思路: 很容易推出反演式: 转换一下 f ( i , d ) 为 [  a / d ] = i 的A数组中的元素个数,用一个前缀...

2017-07-27 18:01:17

阅读数 1833

评论数 2

提示
确定要删除当前文章?
取消 删除
关闭
关闭