摘要: cd即最大公约数,lcm即最小公倍数。 首先给出a×b=gcd×lcm 证明:令gcd(a,b)=k,a=xk,b=yk,则a×b=x y k k,而lcm=x y k,所以a b=gcd lcm。 所以求lcm可以先求gcd,而求gcd的方法就是辗转相除法,也叫做欧几里德算法,核心为gcd(m,n 阅读全文
posted @ 2019-10-10 13:16 Coding_change_life 阅读(340) 评论(0) 推荐(0) 编辑
摘要: 01背包 1.记忆化搜索+dfs for (int i = 0; i 阅读全文
posted @ 2019-07-30 10:59 Coding_change_life 阅读(146) 评论(0) 推荐(0) 编辑
摘要: POJ 3253 Fence Repair 题目链接:http://poj.org/problem?id=3253 题目大意 农夫约翰想修理牧场周围的一小段篱笆。他测量了栅栏,发现他需要N(1≤N≤20,000)块木板,每块长度为整数Li(1≤Li≤50,000)。然后,他买了一块长木板,刚好能看到 阅读全文
posted @ 2019-07-30 10:25 Coding_change_life 阅读(236) 评论(0) 推荐(0) 编辑
摘要: **STL提供了两个用来计算排列组合关系的算法,分别是next_permutation和prev_permutation。首先我们必须了解什么是“下一个”排列组合,什么是“前一个”排列组合。 next_permutation()会取得[first,last)所标示之序列的下一个排列组合,如果没有下一 阅读全文
posted @ 2019-07-29 11:35 Coding_change_life 阅读(1013) 评论(0) 推荐(0) 编辑
摘要: 二分查找左闭右开,数组下表0...n 1,l=0,r=n;[0,n) [0,mid),[mid+1,n)其中mid早已经被判断过了 void binary_search(int val) { int l = 0,r = n; while (r l = 1) {//截止条件 int mid = (l 阅读全文
posted @ 2019-07-29 10:42 Coding_change_life 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 一、查找 1.头文件 2.使用方法 1.binary_search:查找某个元素是否出现。O(logn) a.函数模板:binary_search(arr[],arr[]+size , indx) b.参数说明: arr[]: 数组首地址 size:数组元素个数 indx:需要查找的值 c.函数功能 阅读全文
posted @ 2019-07-29 10:41 Coding_change_life 阅读(579) 评论(0) 推荐(0) 编辑
摘要: 题目描述 题目链接:https://www.luogu.org/problem/T89643 由于 Kiana 实在是太忙了,所以今天的题里面没有 Kiana。 某一天学校里有 n 节课,出题人希望逃掉其中一些课去玩《崩坏 学园 2》。对于第 i 节课来说,如果逃掉的话,在游戏中可以获得 vi 点积 阅读全文
posted @ 2019-07-26 15:18 Coding_change_life 阅读(440) 评论(0) 推荐(0) 编辑
摘要: 洛谷 T89643 回文串(并查集) 洛谷:https://www.luogu.org/problem/T89643 题目描述 由于 Kiana 实在是太忙了,所以今天的题里面没有 Kiana。 有一个长度为 N 的字符串 S,有 K 条信息,每条信息为一个区间 [l,r],表示 S[l],S[l+ 阅读全文
posted @ 2019-07-26 14:28 Coding_change_life 阅读(322) 评论(1) 推荐(0) 编辑
Live2D