摘要:
"D. Aroma's Search" 首先根据数据范围可以知道,数据点最多只有50多个,因此这道题可以暴力来解 另外我们还知道,最优解的数据点一定是连续的,因为第$i+1$个点必然在第$i$个点的右上方。 因为其数据范围很小,所以我们只需要遍历所有的情况即可。 代码: 阅读全文
摘要:
gcd(a,b)和exgcd(a,b,x,y) : 当然也可以使用头文件 __gcd(a,b)` : 证明: 假设有 ①$ax_1+by_1=gcd(a,b)$ ②$a'x_2+b'y_2=gcd(a,b)$ 先假设②是在①的下面,也就是说,在递归顺序中②是先执行完的。 我们由$gcd(a,b)$的 阅读全文
摘要:
"Conscription" 如果两个人之间有关系,且动用了这一段关系,那么我们就把这两个人连起来,很明显最后得到的肯定是一个无环图,而最后的答案就是 ,要使 ans 最小,那么就要使图中总的权值最大,那么只需要根据已知边求一个最大生成树即可。 代码: 阅读全文
摘要:
"B Bits" 这是一个很经典的汉诺塔问题,该题主要难点在于输出和递归思想。 主要的递归代码: 表示完成第 x 个圆盘的移动,是从支柱 a 借助支柱 b 的力量移向支柱 c 的 代码: 阅读全文
摘要:
三点共圆 三点: `(x[2].y[2]) x[3].y[3]` 圆心则为 ,半径可以根据两点之间距离公式进行计算 阅读全文
摘要:
"Jelly" 在遍历一张地图,求最短路径的时候,最简便的方法就是用 来写 代码: 阅读全文
摘要:
"Roadblocks" 该题的难点在于求次短路,而次短路的求法与最短路基本一致,更新的方式就是当当前权重比最短路大且比次短路小的时候就更新它,如果它比最短路小,那么就把它和最短路交换一下 关键代码: 代码: 阅读全文
摘要:
路径还原 例如在求解最短路等等问题时,只需用一个 数组在更新我们要求的数据时,记录一下前驱顶点即可 阅读全文
摘要:
string的插入和删除 参考: "string插入和删除" 插入(字符串和字符): 删除: 阅读全文
摘要:
string中find()和substr()的用法 查找从指定位置开始的 当找不到的时候,函数会返回一个 找第一个目标字符串的位置和最后一个的位置(不是全匹配): 在使用 函数的时候一定要注意里面的参数,第一个是起点,第二个是长度! 阅读全文