随笔分类 - 枚举
摘要:problem给出一个进制B求1~300内有哪些十进制数的平方,在B进制下是回文数。输出这些数的B进制表示solutionC++构造函数了解一下codes#include#includeusing namespace std;const string s = "012...
阅读全文
摘要:problem给定三个数A,B,L。将A:B化简为A`:B`。满足A`,B`都小于L。A`,B`互质A`/B`>=A/BA`/B`-A/B尽可能小A,B=a/b的话,变为c*b=>a*d会准确一点。c/d-a/b尽可能小就是:比如有两组答案,c1/d1-a/b usi...
阅读全文
摘要:problem输入n,求f(n)%231" role="presentation" style="position: relative;">f(n)%231f(n)%231,并将其分解质因数n#includeusing namespace std;con...
阅读全文
摘要:problem给定一个长为n的排列求他的后面的第m个排列n#includeusing namespace std;const int maxn = 10010;int a[maxn];int main(){ int n, m; cin>>n>>m; ...
阅读全文
摘要:problememm,大致这样,不过还是有点,,解释不清楚。给定一个n行m列的网格,每格有一个价值。从第一行的任意一个格子开始,每次跳到(多次转移)剩余格子中价值最大的那个并获得价值。相邻格子转移代价为1,每次转移只能到相邻四个格子。求总代价为k的情况下能获得多少价值...
阅读全文
摘要:problem给定一个n行m列的网格(由’?’和’*’组成)求每个?周围(一圈的8个格子)有多少个*n,m 8n28n2)codes#include#includeusing namespace std;const int maxn = 110;int n, m;st...
阅读全文
摘要:problem给定n个不同的数ai求有多少个数,恰好等于另外两个(不同的)数之和n#includeusing namespace std;const int maxn = 11000;int a[maxn], b[maxn];int main(){ int n,...
阅读全文
摘要:problem给定一个N*M的棋盘求子正方形和长方形个数n,mO(n2m2)O(n2m2)。codes#includeusing namespace std;int main(){ int n, m; cin>>n>>m; int zheng = 0...
阅读全文
摘要:problemn个图书编号,q个需求码。(都是数字)求满足所有包含需求码后缀的图书编号的最小值。n,q#includeusing namespace std;const int pow[] = {1,10,100,1000,10000,100000,1000000,1...
阅读全文
摘要:problem指定两个日期(8位数字描述)问这之间有多少日期表示是回文串(包含这两个日期本身)solution1枚举所有日期回文串判断//O((t-s)*360)#include#include#includeusing namespace std;int days[...
阅读全文
摘要:problem将1,2,3 … … 9 这九个数分成3组,分别组成3个三位数。且使这 3 个三位数构成1:2:3的比例。求出所有满足的方案solution19重循环枚举九个数。 不剪枝复杂度(9^9) 剪枝后复杂度O(9!)#includeusing namespac...
阅读全文
摘要:problemsolutioncodes#includeint n, A[15], isp[50], vis[50], ok = 1;bool is_prime(int x){ for(int i = 2; i < x; i++)if(x%i == 0)retu...
阅读全文
摘要:枚举形式按照状态空间的规模大小,有如下几种常见的枚举和遍历形式: 1、多项式->循环,递推 2、指数->递归,位运算//从1~n这n个数中随机取多个,输出可能的方案vectorchosen;void calc(int x){ if(x==n+1){//问题边界 ...
阅读全文
摘要:problem给出两个数(x,y)。 求出满足以下2个条件的所有(p,q)的个数。 1、p,q是正整数 2、p,q以x为最大公约数,以y为最小公倍数。solution最大公约数和最小公倍数的乘积就是原两个数的积先把两数相乘,再遍历他的因子即可。codes#includ...
阅读全文