摘要: 题目链接 思路 由题目 $2k$ 我们很容易联想到倍增,此时我们可以倍增$+Floyd$,解决该问题。 首先我们设 \(g[i][j]\) 表示 \(i\) 和 \(j\) 之间的路程,显然,如果 \(g[i][j]\) 和 \(g[j][k]\) 同时为 $1$ 我们就可以将 \(g[i][k]\ 阅读全文
posted @ 2020-10-18 17:47 tuscjaf 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 题目链接 思路 正难则反。 求出保留的,即最长上升子序列,从头和从尾各求一遍,最后枚举出最大的保留的位数, 然后用 \(n\) 减去保留位数加 $1$ 即可。 代码 #include <cstdio> #include <cstring> #include <algorithm> using nam 阅读全文
posted @ 2020-10-18 12:02 tuscjaf 阅读(65) 评论(0) 推荐(0) 编辑
摘要: 题目链接 思路 模板题,裴蜀定理 裴蜀定理 设 \(d=\gcd(a ,b)\),则存在整数 \(x,y\) 使得 \(ax+by = d.\),所以 \(\gcd(a,b)|d\) 这道题我们可以看做成裴蜀定理的一个拓展, 当只有两个数 \(a,b\) 时,\(d\) 的最小值就是 \(\gcd( 阅读全文
posted @ 2020-10-18 10:26 tuscjaf 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 题目链接 思路 这道题我们要求 \(ax+by+cz=d\) 是否有整数解 \(x,y,z\), 我们可以先讨论 \(ax + by = d\) 是否有整数解,然后再看 \(ax+by+cz=d\) ,是否有整数解, 于是我们可以考虑用裴蜀定理 裴蜀定理 设 \(d=\gcd(a ,b)\),则存在 阅读全文
posted @ 2020-10-18 10:06 tuscjaf 阅读(90) 评论(0) 推荐(0) 编辑