摘要: 前言 今天刚刚学了点分治,赶紧把思路写一下,以防止以后忘记 分析 对于一个点,经过它的路径有两种可能,一是在一棵子树里(下图1-2-4),二是在两个子树里(下图2-1-5)。 那么对于情况二,我们可以把它拆成两条链相加。 对于情况一好像不行,但如果去分类讨论就会让程序更加复杂,但是发现它在它的子树里 阅读全文
posted @ 2020-05-30 12:51 An_Fly 阅读(109) 评论(1) 推荐(0) 编辑
摘要: 分析 这题除了公式难推一点外没有什么难点了,重要的还是看公式。 首先根据gcd的求法可以知道,F[i][j]=[i+kj][j] 然后接下来的所有式子几乎都利用这个展开。 #include<cstdio> const int lqs=700; int f[lqs][lqs],c[lqs][lqs]; 阅读全文
posted @ 2020-05-30 07:14 An_Fly 阅读(132) 评论(0) 推荐(1) 编辑
摘要: 分析 获得胜利的情况有两种 一个人不会被拦住,能够一次性走到终点 一个人会拦住另一个人,这时拦人的那个人会赢 #include<cstdio> int main(){ int x,y,xx,yy; while(~scanf("%d%d%d%d",&x,&y,&xx,&yy)){ if(x<=xx&& 阅读全文
posted @ 2020-05-30 07:12 An_Fly 阅读(132) 评论(0) 推荐(1) 编辑