摘要: POJ2187 一、引言 上节的POJ2187,是求一个凸包中的最远的两个点的距离,用暴力,O(n²)也能过,但是没有用到旋转卡壳。这节就来看看怎么用旋转卡壳来卡这个最远距离。 二、找対踵点 这个最远的距离肯定是在凸包上,这是毋庸置疑的,我们首先建立好凸包后,然后检索凸包的点,寻找这个点的対踵点(即 阅读全文
posted @ 2021-03-28 15:44 DuJunlong 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 一、前驱知识: 1.叉积:A×B A.x*B.y-A.y*B.x >0 A在B的顺时针方向 <0 A在B的逆时针方向 2.点积:A·B A.x*B.x+A.y+B.y 3.两点之间距离: 可以用点积方便的求解,即: sqrt(A.x*A.x+A.y*A.y); 4.计算几何精度问题: dcmp函数, 阅读全文
posted @ 2021-03-28 15:00 DuJunlong 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 一、注释 背包怎么理解呢? 就是把背包的容量从0到V逐渐刷新,逐渐扩大容量,利用dp思想,先解决小容量,在小容量的基础上一步步解决大容量,直到我们需要的那个容量V 例如:让求容量V=5,就先求1 2 3 4 一步步扩展过来 Vdp12345 二、解法 ①二维解法 const int maxn=101 阅读全文
posted @ 2021-03-16 17:34 DuJunlong 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 题目链接 dp[j] 表示使用的币值最大为i时 来兑换j分钱 的种数 不断提高币值i的值,来刷新dp[j]的值 例如: dp[5] 当i=1时 dp[5]=1; 当i=2时 dp[5]+=dp[5-2]; 即dp[5]=dp[5]+dp[3]=1+2=3; 原来的+dp[3] 当i=3时 dp[5] 阅读全文
posted @ 2021-03-15 21:18 DuJunlong 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 戳 LCS 最长公共子序列 关于LCS tql LCS #include<bits/stdc++.h> #define ll long long #define INF 0x3f3f3f3f using namespace std; int c[1100][1100]; //前i 前j个元素 的lc 阅读全文
posted @ 2021-03-15 21:07 DuJunlong 阅读(2) 评论(0) 推荐(0) 编辑
摘要: C int **a; a=(int**)malloc(sizeof(int*)*(n+10)); for(int i=0;i<n+10;i++) { a[i]=(int*)malloc(sizeof(int)*(m+10)); memset(a[i],0,sizeof(int)*(m+10)); / 阅读全文
posted @ 2020-12-05 09:36 DuJunlong 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 传送门 题意:有一个商人今年收入为n,但是他要交税,税收为n除本身外的最大因子。现在他想减少税收,把n分为独立的k份,k任意选,每份为ni,(ni≠1),问最少税收多少。 解析:易得:把数拆成素数,可以获得最小和,因为素数的最大因数是1,同时还要使拆的的素数个数最少。 哥德巴赫猜想:任意大于等于4的 阅读全文
posted @ 2020-11-14 12:49 DuJunlong 阅读(8) 评论(0) 推荐(0) 编辑
摘要: #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #include<cmath> #include<cstdlib> using namespace std; void prefix_table(cha 阅读全文
posted @ 2020-10-21 22:05 DuJunlong 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 添加链接描述 bitmasks 太强了太强了太强了,二进制收下我的膝盖! #include<bits/stdc++.h> using namespace std; int main() { int t; cin >> t; while (t--) { long long a, b, k; cin > 阅读全文
posted @ 2020-08-03 12:51 DuJunlong 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 传送门儿 数论:结论是 a=n 的最大的不等于 n 的约数,以下是证明: 假设 a≤b,那么显然 lcm 一定 ≥b。这里我们一定要构造 lcm=b 的解,因为 b 一定 <n,而 lcm 是 b 的倍数,就算 lcm=2b 也一定 ≥n,舍 我们证明了 lcm=b 也就是说,a 可以整除 b,这又 阅读全文
posted @ 2020-07-27 16:38 DuJunlong 阅读(5) 评论(0) 推荐(0) 编辑