WuBaizhe

新博客地址: dengxinhao.com

积性函数的性质及证明 + 线性筛

引言在数论问题中,积性函数有着广泛的应用。 如在莫比乌斯反演问题中,函数变换之后如何快速维护前缀和往往是最重要也是最难的一步。如果维护的函数具有积性,那就可以尝试利用线性筛在O(n)O(n)的时限内完成预处理,从而达到优化复杂度的神奇作用。 本文的大部分相关性质及公式来自: 《线性筛与积性函...

2017-08-06 15:02:36

阅读数:640

评论数:0

同余小结

引言形如ax≡b(mod m)ax \equiv b(mod\ m)同余方程的求解,以及同余定理的应用常常隐藏在算法竞赛的很多题目里。为什么取余满足加法,减法和乘法而不满足除法? 为什么求解逆元的多种方法有不同的条件,而且如何认识方法的正确性? 如何理解九余数定理? …..通过对同余的了解和...

2017-07-27 00:06:27

阅读数:401

评论数:0

51Nod 1556 默慈金数(Motzkin numbers)

题目链接 题意: 有一个1*n的矩阵,固定第一个数为1,其他填正整数 ,且相邻数的差不能超过1,求方案数%1e9+71e9+71e9+7的结果。 思路: 显然: 如果第iii个格子的数是1,则第i+1i+1i+1个格子只有111或者222两种可能 而如果第iii个格子的数不为1...

2018-04-21 11:25:59

阅读数:15

评论数:0

51Nod 1378 树形DP+贪心

题目链接 题意: 给定一棵树和一个整数kkk,可以在树的任意位置放置一个人,这个人可以监管距离其所在节点不超过kkk的所有节点,问最少放置多少个人可以监管整棵树的所有节点。 思路: 此题的解题思路还挺具有启发意义。 对于树的相关问题,我们可以考虑先转换成线性问题来做,如果是线性的...

2018-04-19 21:35:53

阅读数:10

评论数:0

51NOD 1364 最大字典序排列 贪心+线段树

题目链接 题意: 给出NNN个数的排列,你有kkk次操作的机会,每次操作可以将相邻的两个数交换位置。 问kkk次操作以后,能够得到的字典序最大的排列是什么? 思路: 根据数据范围,排除了动态规划的方向。 通过观察样例和手算几组简单的例子,我们可以发现,排列的第一位应尽可能的大,...

2018-04-18 10:48:06

阅读数:11

评论数:0

51Nod 1437 单调栈

题目链接 题意: 有n个数,问对于每一个长度为x的连续区间内最小数,最大值为多少? x∈[1,n]x∈[1,n]x \in [1,n],输出n个数,分别代表x=ix=ix=i时的答案。 思路: 考虑每一个数对答案的贡献。 使用单调栈,求出第iii个数向左第一个比它小的数的坐标L...

2018-04-16 11:33:33

阅读数:8

评论数:0

51Nod 1274 DP

题目链接 题意: 给定一个nnn点mmm条边的无向图,可能有重边和自环,问从任意一个点开始,任意一个点结束,每一条经过的边均只经过一次,且沿着路径边权严格递增,问这样的路径最长能包括多少条边? 思路: 很明显的最优子结构,考虑动态规划。 因为需保证路径边权严格递增,故可以先将所有...

2018-04-11 19:44:36

阅读数:13

评论数:0

Educational Codeforces Round 42 E 贪心

题目链接 题意: 数轴上有三种类型的点:B型点、R型点、P型点。 你可以连接任意两个点,连接的代价是两个点的距离,即坐标之差。 而最终希望达到的条件是: 如果去除所有B型点,R型点和P型点中任意两个点连通。 如果去除所有R型点,B型点和P型点中任意两个点连通。 现在给定n个点的坐...

2018-04-11 11:57:41

阅读数:56

评论数:1

POJ 2449 K短路 A*搜索

题目链接 题意: 求一个有向图的kkk短路长度。 思路: 经典问题的经典算法——A∗A∗A*搜索。 感觉A∗A∗A*搜索和DijkstraDijkstraDijkstra堆优化写法有很多类似的地方。 首先以每个点到终点的最短距离作为估计函数ggg,故先需要反向建图,随后对反图从...

2018-04-09 17:38:13

阅读数:22

评论数:0

ZOJ 3862 思维

题目链接题意:给定nn条线段和2∗n2*n个点,不存在点重合和三点共线的情况,假设对于两条相交的线段,我们可以通过交换其中的两个点的位置,使线段不相交,记交换动作为一次操作。问对于给定的nn条线段,问是否可以在n+10n+10次操作内使所有线段两两不相交,如果可以的话,输出操作次数和具体每一次操作...

2018-04-07 12:50:57

阅读数:24

评论数:0

51Nod 1678 莫比乌斯反演

题目链接 题意: 给定nnn个数和qqq个询问,询问有两种: 1.1.1.给定iii和valvalval,将a[i]a[i]a[i]的值更新为valvalval 2.2.2.给定iii,求∑nj=1a[j](gcd(i,j)==1)∑j=1na[j](gcd(i,j)==1)\sum_...

2018-02-18 21:38:39

阅读数:77

评论数:0

51Nod 1354 DP + 数论

题目链接 题意: 给定nnn个数和一个数kkk,问存在多少个子序列(不要求连续)满足序列所有数的乘积等于kkk。 思路: 考虑DPDPDP 设dp[i]dp[i]dp[i]为乘积为iii的子序列个数。 假设前n−1n−1n-1个数的子序列情况已经全部处理完毕,则对于第nnn个数...

2018-02-16 23:12:05

阅读数:38

评论数:0

HDU 5293 树链剖分 + 树形DP

题目链接题意: 给定有nn个节点的树和mm条链(链连接两个顶点,且有权值),要求选出一部分链,使连接以后图的每个圈没有公共节点,问能够选出的链的权值和最大为多少?考虑树形DP。对于当前顶点uu,假设dp[u]dp[u]为以uu为根节点的子树所能够达到的最大目标值。 另外定义: 1.ww为当前...

2018-02-03 21:25:31

阅读数:48

评论数:0

51Nod 1537 数论+思维

题目链接题意: 给定nn,问1+1+ 问(1+sqrt(2)) ^n 能否分解成 sqrt(m) +sqrt(m-1)的形式 如果可以 输出 m%1e9+7 否则 输出no

2018-02-02 14:54:40

阅读数:61

评论数:0

51Nod 1189 数论 + 线性筛

题目链接题意: 1/N!=1/X+1/Y(0<x<=y)1/N! = 1/X + 1/Y(0<x<=y),给出NN,求满足条件的整数解的数量。例如:N=2,1/2=1/3+1/6,1/2=1/4+1/4N = 2,1/2 = 1/3 + 1/6,1/2 = 1/4 + 1...

2018-01-04 00:16:14

阅读数:75

评论数:0

POJ 3318 思维 + 矩阵乘法 || 随机化算法

题目链接 题意: 给定三个n∗nn*n的矩阵A,B,CA,B,C。问是否A∗B==CA*B == C 思路: 首先O(n3)O(n^3)的 暴力果断会超时。 考虑如何优化,一个很自然的想法就是只要存在一个位置,A∗BA*B的值不等于CC,那么能不能随机地检验有限个位置? 所以有了如...

2017-12-28 19:21:09

阅读数:66

评论数:0

牛客练习赛8 F题 莫队算法

题目链接题意: 给一个长为 nn 的只含小写字母的字符串 每次查询一个区间 [l,r][l,r] 内,有多少子区间可以重排为一个回文串。思路: 首先对于一个可以重排为回文串的区间,一定满足至多一个字母的出现次数为奇数,其余字母的出现次数为偶数。因为只有26个小写字母其只考虑出现次数的奇偶性,...

2017-12-27 11:28:48

阅读数:175

评论数:0

2017年浙工大程序设计迎新赛决赛 D 莫队

题目链接题意: 读入一个长度为nn的整数数列a1,a2,…,ana_1,a_2,…,a_n,以及一个整数KK。 qq组询问。 每组询问包含一个二元组(l,r)(l, r), 其中1≤l≤r≤n1≤l≤r≤ n, 求所有满足以下条件的二元组(l2,r2)(l_2, r_2)的数目: 1: ...

2017-12-27 10:04:37

阅读数:76

评论数:0

BZOJ 2038 莫队

这里写链接内容入门题存个模板#include<cstdio> #include<algorithm> #include<cstring> #include<cmath> using namespace std; typedef long long l...

2017-12-26 23:54:15

阅读数:49

评论数:0

51Nod 1055 思维 + DP

题目链接题意:求nn个数中最长的等差数列(差任意)思路: 利用等差数列的性质: 若a[i]、a[j]、a[k]a[i]、a[j]、a[k]为等差数列,则一定有: a[j]∗2=a[i]+a[k]a[j]*2 = a[i] + a[k]故我们考虑枚举这么一个三元组进行DP。 设dp[i][j...

2017-12-24 00:33:32

阅读数:43

评论数:0

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