快速幂取余算法
计算a的b次方模m:
暴力的做法是将a乘b次,最后对m取模。不过,这样可能导致溢出,时间复杂度也很高。
现在考虑,求3的10次方,最少需要做几次乘法运算。
计算a的b次方模m:
暴力的做法是将a乘b次,最后对m取模。不过,这样可能导致溢出,时间复杂度也很高。
现在考虑,求3的10次方,最少需要做几次乘法运算。
有若干节点,并将其中一些节点对进行连接,要判断任意两个节点是否连通(有路径到达,而不要求直接连接),连通后就不会断开连通关系,此时就可以使用并查集。并查集擅长动态维护许多具有传递性的关系,能在无向图 中维护节点之间的连通性。
要判断两个节点是否连通,可以把连通的节点加入到各自的集合里,也就是,同一个集合里的节点都是连通的,不同集合里的节点是不连通的。
在使用ArchLinux系的系统(比如我用的Manjaro),使用Deepin桌面时,Office图标会显示为压缩包:
虽然说,docx、xlsx、pptx格式其实也就是zip包,但图标错乱还是会让强迫症的我感觉很难受。不过,在Xfce4桌面环境下是没有这个问题的,Office图标正确显示为Office图标,但Deepin下就有这种问题,有点奇怪。
这两天快速看了下《实战Java高并发程序设计》这本书,对Java高并发程序有一个初步的认识。
这本书是在iPad上用MarginNotes 3看的,只是做了些笔记,还没进行代码实践,后续还需要细化。
题解是交卷后做的,不保证AC。
题目描述
给出长虔都为n的两个整数数组a[n]和b[n],特殊运算 S = a[0]*b[0] + ... + a[n-1]*b[n-1],你可以改变a数组的顺序使得运算S得到的值最小,给出最终的最小值。
数组长度n大于50,对于每个元素X,0<=X<=100
。
输入描述
输入一共三行。 第一行为n,表示两个数组的长度。 第二行包括n个数字,用空格隔开,是a数组的值。 第三行包括n个数字,用空格隔幵,是b数组的值。
输出描述
输出一行,包含一个数字,表示最 小的S值。
示例1
输入
3
1 1 3
10 30 20
输出
80