自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Hardict的算法日记

算法,C语言

  • 博客(27)
  • 收藏
  • 关注

原创 [51nod]1363 最小公倍数之和(欧拉函数)

题意求组数据范围: 题解首先其次一定是的约数,我们枚举的值在gcd中我介绍过一种对于的求法,也是枚举的值对于每个,,那么这题运用同样的思想:这里涉及如何对比小且与互素的元素求和的子问题我们注意到若,对于,故可是配对求和得;和也为整理一下答案即为(我们可以特别的记或者单列出来考虑的情况,下面的操作是后者) 直接计算会,需要进一步化解考虑的素因子...

2018-09-30 00:02:51 351

原创 [SDOI2015]约数个数和(莫比乌斯反演)

题意设表示的约数个数,求组数据范围:题解这个题目的关键是化解,这里有个神奇的公式(第一次了解到我是懵逼的 ( ′◔ ‸◔`) )这个公式可以这么理解: 如果对于的素因子分解为,那么,可以看出每个素因子作用是独立的假设x,y的素因子分解中的次数为分别为. 对于的贡献为在中只考虑只当在中出现中不出现的种, 中不出现中出现的种, 都不出现的种,所以贡献为,等式成立 ...

2018-09-29 11:45:15 368

原创 [51nod]1341 混合序列[公式推导]

题意给定求数据范围:题解妥妥的公式推导题(数据范围也可以看出)很容易得到通项公式(条件有)主要问题就在于如何处理,若也为那么计算是很容易的(对于递推式计算会因为有常数而使结果复杂)那么我们构造,我们可以解出 若存在则对于,分进行讨论即可那么问题主要在于求解,有这么一个等式若; 若于是我们解决存在的情况 若不存在,说明,,若这里有一...

2018-09-26 22:53:43 155

原创 [NOI2010]能量采集[容斥,莫比乌斯反演]

题意计算,表示在范围内的个数数据范围:题解这里介绍容斥和莫比乌斯反演两种方法(如果想系统了解这种题目的各种大体思路可以看两两gcd求和的4种方法)下面先设分别为为​​​​​​倍数和等于的个数,有 容斥(筛法)容斥是利用先计算到每个,再通过从后向前处理得到每个最后针对问题选取需要的求解 for(i = 1; i <= top; i++) F[i] = (L...

2018-09-24 20:01:51 209

原创 [luogu]P2522 [HAOI2011]Problem b[莫比乌斯反演]

题目组询问,每组询问A,B,C,D,K共5个参数计算数据范围:所有题解具体解释参考两两gcd问题求解各种思路设分别为为​​​​​​倍数和等于的个数,有由莫比乌斯反演知:问题即求,由于上界下界的问题,利用容斥分别计算即可:以上界进行表示#include <cstdio>#include <iostream>#include <a...

2018-09-24 19:37:20 187

原创 [luogu] P2257 YY的GCD(莫比乌斯反演)

 题目给定,求且为质数的有多少对数据范围:组询问,题解这是一道练习莫比乌斯反演的模板题,下面先给出莫比乌斯反演的做法,最后再一种欧拉函数计算的思路对于这种二元组的题,我们设分别为为倍数与正好为的个数(范围内)即:,两者关系有,对其进行莫比乌斯反演,则原题的继续化解得,这里有个如果是单次询问则可以直接处理,(最外层)前缀和再利用整除分块(对内层求和上标分类)进行计...

2018-09-24 00:25:14 251

原创 UVA11426 GCD(两两gcd之和各种思路)[dp筛法(容斥),欧拉函数,莫比乌斯反演]

题意求T组简单-dp   中等-欧拉函数   较难-莫比乌斯反演dp法引我之前文章的分析:易知以为的倍数的有个,则为倍数的有个,记为又记表示的个数,因为,故可以倒着更新最后去重就是答案该方法时间复杂度为,虽然该方法对于后两题会,不过其展现了大概的思路,为后面两种方法(特别是莫比乌斯反演提供了可行的方向)#pragma GCC optimize(3)#in...

2018-09-22 23:29:36 625

原创 [51nod]1778 小Q的集合[lucas定理+组合计数]

题目小Q有一个集合 ,它的元素个数 。对于  的任意一个子集合 ,定义  ,定义 关于 的补集为 。小Q想知道,如果他等概率地选择一个  的子集 ,那么 的方差是多少。由于这个方差值可能很大,不妨设其为  ,你只需要给出  的值即可。题解可以看出具有对称性,可以知道方差,但注意到很大则需要化解,大小不确定,则需要定理我们类似于算法,对关于做带余除法(则可以使用)...

2018-09-22 11:32:32 281

原创 spfa负环判断(DFS+BFS两种)

背景给定一个图,判断有无负环虽然很不稳定_(:з」∠)_ ,但在处理含负权值最短路时为首选(特别是差分约束系统)而部分题目额外要求判断有无负环(即最短路为)下面给出由(最短路算法一般基于),与(一般用于处理环)两种不同的同时计算最短路与寻找负环的思路 BFS:基于算法,通过判断一个点操作,是否进行次数(即走了至少个点)由于处理环能力较弱,故该判断方法若遇到负环很可能...

2018-09-21 11:18:37 996

原创 【UVA11997】K Smallest Sums 优先队列的多路归并问题

背景给你个有序列表(假设非降序),将其合并为一个列表(这为《算法导论》上堆部分一道例题)一种策略是建立一个大小为的小根堆,每个序列第一个元素入堆,标记每个元素所属队列.依次取出,取出后若对应序列还有元素,则加入堆中否则不加入或者加入.PS:归并排序的归并过程就可以看作是大小为的一个小根堆进行合并的操作.问题有个序列,每个序列有个元素。现在要在每个序列里选一个元素出来求和,故...

2018-09-18 17:34:04 289

原创 BSGS&&EXBSGS——解决a^x%p=b问题

背景对于关于x的类型同余方程,求其最小解可以判断方程有无解首先若p为素数,由完全剩余系可知有解,p不为素数:若则,否则且对于,要若才可能有解。若方程有解,由,为阶.可知将从进行p次枚举一定可以得到解BSGS就是将通过将枚举次数上界变为的算法BSGS算法=>且在上述的讲解中我们确定了枚举上界次数,那么考虑如何将次数给降下来对x做带余除法,我们考虑对进行枚举对...

2018-09-18 00:11:02 529

原创 分块入门练习-3

练习-1及分块介绍  练习-27.区间乘法及区间加法,单点求和给出一个长为  的数列,以及  个操作,操作涉及区间乘法,区间加法,单点询问。数据范围: 线段树的经典模板题(雾 (*•̀ㅂ•́)و(不过我改成区间求和过去TLE了思想还是维护块的乘积,加的值单点查询时 对于区间修改涉及一个操作,即涉及不完整块的操作,首先重置对应整块的(因为加法乘法顺序的原因必须后再进行修...

2018-09-17 19:01:17 313

原创 分块入门练习-2

练习-1及分块介绍  练习-34.区间加法与求和给出一个长为  的数列,以及 个操作,操作涉及区间加法,区间求和。数据范围: 相对与第一题的单点查询,需要多维护一个区间的区间和属性记录整块加的值,维护初始以及非整块操作时的块的和#include <cstdio>#include <iostream>#include <algorith...

2018-09-17 18:19:18 259

原创 Codeforces Round #509 (Div. 2)(一堆模拟)

由于晚上有点事所以根本没看最后一题,有空再补上(ง •̀_•́)ง A. Heist给定一个数N,一个正整数序列,最少增加多少数可以使其变为严格连续的正整数序列  B. Buying a TV Set给定一个比例,两个范围,求的方案数 先得到,即分子至多为的多少倍,分母至多为多少倍两者求出取较小值即可C. Coffee Break给定N个正整数,一个...

2018-09-16 23:08:12 243

原创 约数求和

题目给定两个数(),求区间中每个元素的约数个数的和分析记表示的约数个数,,答案即为现在问题变为如何快速的求的值考虑整体:中以为倍数的有个,,现在时间复杂度为还需要优化又注意到的值的严格非增的:如,序列为.可以考虑将相同的值一起计算即对于相同的值求一个区间,可知更新时,而(表示序列中大于等于的个数)#include <cstdio>#include &...

2018-09-16 17:59:49 1188

原创 UVA11417 GCD(dp,筛法)

题意求T组,分析此题正解应该是莫比乌斯反演,时间复杂度为.我不会ε=ε=ε=ε=ε=ε=┌(; ̄◇ ̄)┘我的方法是(所以升级版会TLE) 易知以为的倍数的有个,则为倍数的有个,记为又记表示的个数,因为,故可以倒着更新最后去重就是答案#pragma GCC optimize(3)#include <cstdio>#include <iost...

2018-09-16 17:33:59 212

原创 【模板】任意模数NTT(中国剩余定理版,O(1)long long快速乘)

任意模的,即题目给定要求的取模的数的形式,或者小于需要的数值如果假定作用长度为,系数的值不大于,则相乘后系数不大于.如果我们取合适的多个模数(他们有相同的原根),使,同时我们得到分别以为模的作用系数,我们可以得到实际系数满足:,由中国剩余定理通解,而但这里由于的选取,会爆,故可以先求解有,求出后即可得到这里有个神奇的的乘法,根据的是,以及溢出后减法在模意义下的等价(不太确定...

2018-09-15 22:14:40 932

原创 [ACM-ICPC 2018 焦作赛区网络预赛][L.Poor God Water][AC自动机(伪)+矩阵快速幂]

题意T组数据,构造长度为的串,不含字串的方案数数据范围:分析AC自动机构造矩阵,但我不会(目前)_(°:з」∠)_可以将合法的三元串xyz看作xy->yz,这就形成了一个转移关系那么11->11就是非法的,13->32也是非法的这就可以填充一个的矩阵,中元素表示从i转移到j的合法种数,所有元素和即为答案。PS:比赛时丢脸的用trie树手写了一个的矩阵(...

2018-09-15 21:42:24 266

原创 [USACO08DEC]Trick or Treat on the Farm

题意给定一个奶牛数,初始时奶牛在位置上,每个位置可以移动到位置上,求每个奶牛移动的最多次数(对于一个奶牛,一个点至多访问一次).分析由于本题一个点只有一条出边,所以图构成的环应该是一个简单环,且一个环上可以收集的价值相同。应用缩点后的思想,将图分为链与简单环进行处理- 维护两个染色变量,分别处理环与加入环的链- 环通过维护路径长度,优先处理环- 当时,该环收集的价值(可以理解...

2018-09-15 11:14:21 237

原创 [luogu]P2152 [SDOI2009]SuperGCD

题目计算两个大整数的数据范围:分析即写高精形式的即是更相损减术的优化,对于首先提取其公共的幂次,即.由更相损减术,,但这种直接计算若两者差值太大则时间复杂度逼近(n为最大整数的值).注意到值为奇数,则可以通过对中的2的倍数减半规模.若则,否则,并对进行可能的折半操作PS:一开始写的函数(*,&)形式,莫名其妙TLE. ヘ(;′Д`ヘ) #include...

2018-09-14 10:19:57 226

原创 [ZJOI2014]力[卷积,FFT]

题目给出个数,给出的定义如下:令,求.数据范围:分析先考虑的情况,即有四个数考虑序列,.考虑卷积m即为上述序列相乘的形式,以序列分别为生成函数的前k项系数(其余项系数为0),答案即为的系数,以FFT优化即可.注意精度.#include <cstdio>#include <iostream>#include <algorithm...

2018-09-11 19:51:40 197

原创 [luogu]P1966 火柴排队(离散,逆序对)

题目每盒装有根火柴,每根火柴都有一个高度。 现在将每盒中的火柴各自排成一列, 同一列火柴的高度互不相同, 两列火柴之间的距离定义为其中 表示第一列火柴中第ii个火柴的高度,表示第二列火柴中第  个火柴的高度。每列火柴中相邻两根火柴的位置都可以交换,请你通过交换使得两列火柴之间的距离最小。请问得到这个最小的距离,最少需要交换多少次?如果这个数字太大,请输出这个最小交换次数对 取模的结果。...

2018-09-11 19:31:44 193

原创 分块算法介绍(分块入门练习-1)

前言之前只了解分块,但没有深入学习.但之前集训时遇到http://codeforces.com/gym/100960/problem/G,当时现场树状数组没有调出来,赛后写出后上网搜其他方法,发现了一个奇妙的分块方法,便决定抽空深入学习一下这种优化的暴力——分块. 关键名词:区间:一段连续子序列 区间操作:对某个区间进行同类型相同规模的操作 块:将一个数列划分为连续的块分块算法一般...

2018-09-06 14:21:29 1745 1

原创 [luogu]P1373 小a和uim之大逃离

题目给定矩阵,矩阵每个元素有一个的值,可以从任意点出发并在任意点停止,但只能向下或向右走。走必须为偶数步,每一步会得到一个权值,求方案数,满足,为每一步的权值。数据范围: dp策略先令为终点在的符合条件的方案数(中为其他刻画状态条件),可以看出,其主要依赖于两项(考虑奇偶步),或依赖于三项(不考虑奇偶步).由于求和涉及,故先考虑,表示终点在,的方案数(不考虑奇偶步),.依赖...

2018-09-05 12:21:35 292

原创 [luogu]P2258 子矩阵[dp,枚举]

题目子矩阵:从一个矩阵当中选取某些行和某些列交叉位置所组成的新矩阵(保持行与列的相对顺序)被称为原矩阵的一个子矩阵。例如,下面左图中选取第2、4行和第2、4、5列交叉位置的元素得到一个的子矩阵如右图所示。的其中一个的子矩阵是相邻的元素:矩阵中的某个元素与其上下左右四个元素(如果存在的话)是相邻的。矩阵的分值:矩阵中每一对相邻元素之差的绝对值之和。本题任务:给定一个n行m列的...

2018-09-04 14:23:37 662

原创 [luogu]P3178 [HAOI2015]树上操作(树链剖分模板)

题目有一棵点数为 N 的树,以点 1 为根,且树点有边权。然后有 M 个操作,分为三种:操作 1 :把某个节点 x 的点权增加 a 。操作 2 :把某个节点 x 为根的子树中所有点的点权都增加 a 。操作 3 :询问某个节点 x 到根的路径中所有点的点权和。indata:5 51 2 3 4 51 21 42 32 53 31 2 13 52 1 23 3o...

2018-09-04 12:02:08 262

原创 [luogu]P2123 皇后游戏[贪心,排序算法理解]

题目给定T组数据,每组数据n组值,选定合理序列使最小其中,特别的数据范围:贪心策略易知严格递增,故假设前n项已经为最优序列,考虑新加入元素观察结构可知,调换相邻两项不影响最前面已经排好的序列的值考虑与两个序列的两值记 (最后一行应该是)由此不等式可以看出问题可能具有最优子结构,且可以直接进行贪心的选择注意:不可直接用等式进行排序,该不等式不具...

2018-09-04 00:26:24 514

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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