题目描述自助餐厅里有5个盘子,里面装的都是面包。第1个盘子里有无限个面包;第2个盘子里只有1个面包;第3个盘子里只有4个面包;第4个盘子里也有无限个面包,但必须两个两个地拿;第5个盘子里也有无限个面包,但必须5个5个地拿;给定正整数n,求有多少种正好拿出n个面包的方案。方案a和方案b不同,当且仅当方案a存在从某个盘子里拿出面包的数量与方案b中对应盘子拿出的数量不同.
思路:由于本题数据范围较大,因此如果采用常规的素数判断方法以及较常用的埃氏筛(复杂度O(nloglogn))都是会被卡掉的,而出题人也是希望采用线性(欧拉)筛的方式解决这道题。由于是板子题,就不再放思路了,直接上代码:#include<set>#include<queue>#include<vector>#include<string>#include<math.h>#include<stdio.h>#incl...
大致题意:给你一个数字n,问你将其分解为若干不同数字的和,有多少种方案?思路:一种较优的方案是采用动态规划,使用类似于递归的思想,可以做到O(n^2),而我这里想采用母函数的思想解决该题。#include<set>#include<queue>#include<vector>#include<string>#include<math.h>#include<stdio.h>#include<string.h..
思路:BSGS模板题,并且该题由于数据范围不是太大,因此我们可以直接使用朴素的BSGS算法求解,算法讲解链接:BSGS简易讲解。#include<set>#include<map>#include<queue>#include<vector>#include<string>#include<math.h>#include<stdio.h>#include<string.h>#includ..
思路:和BSGS模板题类似,只是这道题没有规定a与p互质,因此朴素的BSGS算法已经无法解决该题,于是引入了扩展BSGS算法,其实该算法不难,既然a
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号