摘要: 原问题转化为求有多少个二元组(x,y)满足 x≤a/k,y≤b/k 且 gcd(x,y)=1。 我们获得两个函数f(i)和g(i)。 f(i)表示满足 x≤a,y≤b 且 gcd(x,y)=i 的二元组个数,g(i)表示满足 x≤a,y≤b 且 gcd(x,y) 为 i 的倍数个二元组个数。 发现 阅读全文
posted @ 2018-03-14 19:19 Cupcake 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 线性筛求莫比乌斯函数 阅读全文
posted @ 2018-03-14 18:12 Cupcake 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 考虑c固定时快速算出所有位置的最小差异值, 把平方拆掉后构造一下发现是个卷积形式,fft即可。 m的范围很小,且答案关于m是一个单峰函数,所以我一开始以为是三分m,算了算复杂度好像很可过的样子, 写出来后发现不开O2只有70分(BZOJ可过) 看了别人的程序才知道c可以直接算出来!!! 其实只要让两 阅读全文
posted @ 2018-03-14 14:36 Cupcake 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 建出AC自动机,获得fail树,发现问题转化成求以x为根的子树中有多少个属于y串的节点。 求出fail树的dfs序,由dfs序的性质可知以x为根的子树在dfs序上是连续的。 在trie树中跑一边dfs,dfs过程中用树状数组统计答案即可。 注意fail树的节点数是tot+1。 阅读全文
posted @ 2018-03-14 10:21 Cupcake 阅读(120) 评论(0) 推荐(0) 编辑
摘要: KMP算法:洛谷3375 根据我的理解,把next数组改成了fail数组。 AC自动机:洛谷3808 upd: 2018.3.14 重打了AC自动机的模板 (原来的好丑。。) 阅读全文
posted @ 2018-03-14 07:15 Cupcake 阅读(169) 评论(0) 推荐(0) 编辑