摘要: 求1~N之间与N的互质的数的个数 最终的就是1~N之间与N的互质的数的个数 阅读全文
posted @ 2020-10-01 15:16 爱努力的人最幸福 阅读(102) 评论(0) 推荐(0)
摘要: 如果d | a ,d | b,那么 d | a+b 推导出 d | ax+by (x,y都为整数); 如果d是(a,b)的最大公约数,那么 d也是(b,a%b)的最大公约数; 模板 int gcd(int a,int b){ return b? gcd(b,a%b) : a; } 阅读全文
posted @ 2020-10-01 11:33 爱努力的人最幸福 阅读(119) 评论(0) 推荐(0)
摘要: 通过欧拉函数可知: n=P1^e1*P2^e2*...Pn^en (其中P1~Pn都是n的质约数) 所以n的约数之和为: (P1^0+P1^1+...+P1^e1)*...((Pn^0+Pn^1+...+Pn^en) 阅读全文
posted @ 2020-10-01 10:33 爱努力的人最幸福 阅读(576) 评论(0) 推荐(0)
摘要: 通过欧拉函数可知: n=P1^e1*P2^e2*...Pn^en (其中P1~Pn都是n的质约数) 所以n的约数个数为: (e1+1)*(e2+1)*...(en+1); 阅读全文
posted @ 2020-10-01 09:52 爱努力的人最幸福 阅读(565) 评论(0) 推荐(0)
摘要: 正常求约数 for(int i=2;i<=n;i++){ if(n%i==0){ printf("i是n的约束“); } } 简化版 vector<int> a; for(int i=2;i<=n/i;i++){ if(n%i==0){ a.push_back(i); if(i!=n/i) a.pu 阅读全文
posted @ 2020-10-01 09:36 爱努力的人最幸福 阅读(110) 评论(0) 推荐(0)
摘要: 这个和辗转相除法是一样的道路 首先先将2到n的整数写下来,其中2是最小的素数,将表中所以2的倍数划去(用bool数组判断),表中剩下的最小的整数是3,他不能被更小的数整除,所以3是素数。再将表中3的倍数划去···以此类推,如果表中剩下的最小整数是m,那么m是素数。然后再把表中的m的倍数划去,像这样反 阅读全文
posted @ 2020-10-01 07:36 爱努力的人最幸福 阅读(178) 评论(0) 推荐(0)
摘要: #include<bits/stdc++.h>#include<unordered_map>using namespace std;string start,End;queue<string> T;unordered_map<string,int> dr;int anx[4]={0,0,1,-1}; 阅读全文
posted @ 2020-09-29 20:50 爱努力的人最幸福 阅读(480) 评论(0) 推荐(0)
摘要: X 国王有一个地宫宝库,是 n×mn×m 个格子的矩阵,每个格子放一件宝贝,每个宝贝贴着价值标签。 地宫的入口在左上角,出口在右下角。 小明被带到地宫的入口,国王要求他只能向右或向下行走。 走过某个格子时,如果那个格子中的宝贝价值比小明手中任意宝贝价值都大,小明就可以拿起它(当然,也可以不拿)。 当 阅读全文
posted @ 2020-09-28 14:01 爱努力的人最幸福 阅读(118) 评论(0) 推荐(0)
摘要: DP首先要多做题。 DP二个性质:1 无后效性 背包问题主要是背模板,这里收录了一些模板 一些复杂的背包问题(如泛化物品)未收录 01背包问题: 无优化 for(int i=1;i<=n;i++) { for(int c=0;c<=m;c++) { f[i][c]=f[i-1][c]; if(c>= 阅读全文
posted @ 2020-09-26 22:07 爱努力的人最幸福 阅读(229) 评论(0) 推荐(0)
摘要: 典型的DP问题: 有 NN 件物品和一个容量是 VV 的背包。每件物品只能使用一次。 第 ii 件物品的体积是 vivi,价值是 wiwi。 求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。 输入格式 第一行两个整数,N,VN,V,用空格隔开,分别表示物品数量 阅读全文
posted @ 2020-09-26 22:02 爱努力的人最幸福 阅读(166) 评论(0) 推荐(0)