我是川川,有问题留言or加我扣扣私聊:2835809579 原题: 定义一个函数int isprime(int n),用来判别一个正整数n是否为素数。...在主函数中输入两个正整数m和n(m>=1,n>m),统计并输出m和n之间的素数的个数以及这些素数的和。...for(i;i<n;i++) { if(n%i==0) break; } if(i==n) return 1;...else return 0; } int main() { int m,n,count=0; int sum=0; scanf("%d %d",&m,&n);...for(int i=m ;i<=n;i++) { if(isprime(i)==1) { count++; sum+=i; }
2022-12-22:给定一个数字n,代表数组的长度, 给定一个数字m,代表数组每个位置都可以在1~m之间选择数字, 所有长度为n的数组中,最长递增子序列长度为3的数组,叫做达标数组。...返回达标数组的数量。 1 <= n <= 500, 1 <= m <= 10, 500 * 10 * 10 * 10, 结果对998244353取模, 实现的时候没有取模的逻辑,因为非重点。...).take(n as usize).collect(); return process1(0, n, m, &mut a); } fn process1(i: i32, n: i32, m:...// n : 一共的长度! // m : 每一位,都可以在1~m中随意选择数字 // 返回值:i..... 有几个合法的数组!...// 尤其是理解ends数组的意义! fn number2(n: i32, m: i32) -> i32 { //repeat(vec!
2022-12-22:给定一个数字n,代表数组的长度,给定一个数字m,代表数组每个位置都可以在1~m之间选择数字,所有长度为n的数组中,最长递增子序列长度为3的数组,叫做达标数组。返回达标数组的数量。...1 i32 { //repeat(vec!
2021-06-30:给定长度为m的字符串aim,以及一个长度为n的字符串str ,问能否在str中找到一个长度为m的连续子串, 使得这个子串刚好由aim的m个字符组成,顺序无所谓, 返回任意满足条件的一个子串的起始位置...all := M R := 0 // 0~M-1 for ; R < M; R++ { // 最早的M个字符,让其窗口初步形成 if count[s1[R]] >...all-- } else { count[s1[R]]-- } } // 窗口初步形成了,并没有判断有效无效,决定下一个位置一上来判断...// 接下来的过程,窗口右进一个,左吐一个 for ; R < len(s1); R++ { if all == 0 { // R-1 return...else { count[s1[R]]-- } if count[s1[R-M]] >= 0 { count[s1[R-M
2022-08-26:用一个大小为 m x n 的二维网格 grid 表示一个箱子 你有 n 颗球。箱子的顶部和底部都是开着的。...箱子中的每个单元格都有一个对角线挡板,跨过单元格的两个角, 可以将球导向左侧或者右侧。 将球导向右侧的挡板跨过左上角和右下角,在网格中用 1 表示。...将球导向左侧的挡板跨过右上角和左下角,在网格中用 -1 表示。 在箱子每一列的顶端各放一颗球。每颗球都可能卡在箱子里或从底部掉出来。...返回一个大小为 n 的数组 answer , 其中 answer[i] 是球放在顶部的第 i 列后从底部掉出来的那一列对应的下标, 如果球卡在盒子里,则返回 -1。...) let mut i = 0; let mut j = col; while i < n { // (i,j) 左上 -> 右下的格子
2022-04-22:给你一个大小为 m x n 的矩阵 board 表示甲板,其中,每个单元格可以是一艘战舰 'X' 或者是一个空位 '.' ,返回在甲板 board 上放置的 战舰 的数量。...战舰 只能水平或者垂直放置在 board 上。换句话说,战舰只能按 1 x k(1 行,k 列)或 k x 1(k 行,1 列)的形状建造,其中 k 可以是任意大小。...两艘战舰之间至少有一个水平或垂直的空位分隔 (即没有相邻的战舰)。 输入:board = ["X",".",".","X",".",".",".","X",".",".",".","X"]。...甲板上的战舰。 来自米哈游。 答案2022-04-22: 并查集或者岛问题都行,但这不是最优解。 数战舰的左上角,统计左上角的点的个数就行。 时间复杂度:O(N**2)。 代码用rust编写。...for i in 0..m.len() { for j in 0..m[0].len() { if m[i][j] == 'X' && (i == 0 || m[
2022-04-22:给你一个大小为 m x n 的矩阵 board 表示甲板,其中,每个单元格可以是一艘战舰 'X' 或者是一个空位 '.' ,返回在甲板 board 上放置的 战舰 的数量。...战舰 只能水平或者垂直放置在 board 上。换句话说,战舰只能按 1 x k(1 行,k 列)或 k x 1(k 行,1 列)的形状建造,其中 k 可以是任意大小。...两艘战舰之间至少有一个水平或垂直的空位分隔 (即没有相邻的战舰)。 输入:board = [["X",".",".","X"],[".",".",".","X"],[".",".","."...甲板上的战舰。 来自米哈游。 答案2022-04-22: 并查集或者岛问题都行,但这不是最优解。 数战舰的左上角,统计左上角的点的个数就行。 时间复杂度:O(N**2)。 代码用rust编写。...for i in 0..m.len() { for j in 0..m[0].len() { if m[i][j] == 'X' && (i == 0 || m[
2022-08-26:用一个大小为 m x n 的二维网格 grid 表示一个箱子你有 n 颗球。箱子的顶部和底部都是开着的。...箱子中的每个单元格都有一个对角线挡板,跨过单元格的两个角,可以将球导向左侧或者右侧。将球导向右侧的挡板跨过左上角和右下角,在网格中用 1 表示。...将球导向左侧的挡板跨过右上角和左下角,在网格中用 -1 表示。在箱子每一列的顶端各放一颗球。每颗球都可能卡在箱子里或从底部掉出来。...返回一个大小为 n 的数组 answer ,其中 answeri 是球放在顶部的第 i 列后从底部掉出来的那一列对应的下标,如果球卡在盒子里,则返回 -1。..., ans);}fn find_ball(grid: &mut Vec>) -> Vec { let n = grid.len() as i32; let m =
2022-06-11:注意本文件中,graph不是邻接矩阵的含义,而是一个二部图。...在长度为N的邻接矩阵matrix中,所有的点有N个,matrixi表示点i到点j的距离或者权重,而在二部图graph中,所有的点有2*N个,行所对应的点有N个,列所对应的点有N个。...而且认为,行所对应的点之间是没有路径的,列所对应的点之间也是没有路径的!答案2022-06-11:km算法。代码用rust编写。...[]; // dfs过程中,碰过的点! let mut x: Vec = vec![]; let mut y: Vec = vec!...[]; // 降低的预期! // 公主上,打一个,降低预期的值,只维持最小! let mut slack: Vec = vec!
如上图所示,第一个美女图明显就偏色,其[a,b]直方图明显有只有一个波峰,而第二个美女图则很协调,[a,b]直方图也分布的很均匀。...因此引入等效圆的概念 ,采用图像平均色度 D和色度中心距 M的比值 ,即偏色因子 K来衡量图像的偏色程度。其计算方法如下式 ? ? 式中 ,M、 N分别为图像的宽和高,以像素为单位。...在 a - b色度平面上,等效圆的中心坐标为 ( da , db ) ,半径为 M 。等效圆的中心到 a - b色度平面中性轴原点为 ( a = 0, b = 0)的距离 D 。...cast=1.699 我们在测试一些明显偏色的图像。...,这两个是完全不同的行业。
2023-05-11:给你一个 m x n 的二进制矩阵 grid,每个格子要么为 0 (空)要么为 1 (被占据),给你邮票的尺寸为 stampHeight x stampWidth。...答案2023-05-11:大体过程如下:1.首先对矩阵 grid 进行二维前缀和计算,得到一个新的矩阵 sum。该矩阵中每个位置表示从左上角出发,到该位置形成的子矩阵中所有元素的和。...2.对 grid 中的每个为 0 的位置 (i, j),检查以该位置为左上角的子矩阵是否能够被指定的印章完全覆盖。...同时,如果某个位置 (i, j) 的值为 0 且它所在列中没有其他的 0,则返回 false;否则返回 true。时间复杂度为 O(mn),其中 m 和 n 分别表示矩阵 grid 的行数和列数。...空间复杂度为 O(mn),因为函数中创建了两个 m+1 行 n+1 列的二维数组 sum 和 diff,以及一个长度为 n+1 的一维数组 cnt 和 pre。
输入:grid = [[4,3,2,-1],[3,2,1,-1],[1,1,-1,-2],[-1,-1,-2,-3]] 输出:8 解释:矩阵中共有 8 个负数。...} } return count; } } 第一个...for循环控制行,第二个while循环来二分查找, 让Low=high 结束找到第一个负数开始出现的下标(此时 Low=high=第一个负数下标), 让count+(总长度-low)
小美最初住在k号城市中 在接下来的m天里,小美每天会收到一个任务 她可以选择完成当天的任务或者放弃该任务 第i天的任务需要在ci号城市完成,如果她选择完成这个任务 若任务开始前她恰好在ci号城市,则会获得...ai的收益 若她不在ci号城市,她会前往ci号城市,获得bi的收益 当天的任务她都会当天完成 任务完成后,她会留在该任务所在的ci号城市直到接受下一个任务 如果她选择放弃任务,她会停留原地,且不会获得收益...小美想知道,如果她合理地完成任务,最大能获得多少收益 输入描述: 第一行三个正整数n, m和k,表示城市数量,总天数,初始所在城市 第二行为m个整数c1, c2,...... cm,其中ci表示第i天的任务所在地点为...ci 第三行为m个整数a1, a2,...... am,其中ai表示完成第i天任务且地点不变的收益 第四行为m个整数b1, b2,...... bm,其中bi表示完成第i天的任务且地点改变的收益 0 <...= k, ci <= n <= 30000 1 <= m <= 30000 0 <= ai, bi <= 10^9 输出描述 输出一个整数,表示小美合理完成任务能得到的最大收益。
2022-03-24:你被请来给一个要举办高尔夫比赛的树林砍树,树林由一个 m x n 的矩阵表示, 在这个矩阵中: 0 表示障碍,无法触碰 1 表示地面,可以行走 比 1 大的数 表示有树的单元格,可以行走...,数值表示树的高度 每一步,你都可以向上、下、左、右四个方向之一移动一个单位, 如果你站的地方有一棵树,那么你可以决定是否要砍倒它。...:= len(forest) m := len(forest[0]) // [ [3,5,2], [1,9,4] , [2,6,10] ] // 低 中 高 cells := make([][]...:= len(forest) m := len(forest[0]) seen := make([][]bool, n) for i := 0; i < n; i++ { seen[i] =...nr := r + next[i-1] nc := c + next[i] if nr >= 0 && nr = 0 && nc < m && !
2022-06-11:注意本文件中,graph不是邻接矩阵的含义,而是一个二部图。...在长度为N的邻接矩阵matrix中,所有的点有N个,matrix[i][j]表示点i到点j的距离或者权重, 而在二部图graph中,所有的点有2*N个,行所对应的点有N个,列所对应的点有N个。...而且认为,行所对应的点之间是没有路径的,列所对应的点之间也是没有路径的! 答案2022-06-11: km算法。 代码用rust编写。...[]; // dfs过程中,碰过的点! let mut x: Vec = vec![]; let mut y: Vec = vec!...[]; // 降低的预期! // 公主上,打一个,降低预期的值,只维持最小! let mut slack: Vec = vec!
x的y次方对z取余 abs(n) 求n的绝对值 round(x,y) 返回浮点数x的四舍五入值,y为精度 >>> round(3.1415926,2) 3.14 int() 将一个浮点数转变为整数...)和sqrt()、trunc() 函数 random模块用来产生随机数,常见用法如下: random.random() random.randint(n,m) #产生一个n-m之间的随机数 random.choice...(list) #从列表中随机选择一个列表元素 fractions模块用来处理分数 from fractions import Fraction x = Fraction(1,3) #创建一个分数对象...操作符中的 / 号在python2和python3中有不同的含义,在python2中,/ 号的含义是整除,没有余数,在python3中,会有余数。...混合操作支持操作符优先级 一般要使用括号将表达式分开,以清楚地表示运算地顺序。混合类型进行数学操作时会出现两种情况: 第一种是整数和浮点数运算,整数会被转换成浮点数,最后的计算结果也是浮点数。
这是 numpy官方文档,英文不太熟悉的,还有 numpy中文文档 numpy 同时支持 python3 和 python2,在 python3 下直接pip install安装即可,python2 的话建议用...[[1,2,3],[4,5,6]]) # 定义一个两行三列矩阵 np.mat(list) # 列表或者数组转 matrix(矩阵) np.tolist(matrix) # 与上面相反 np.shape(...array) # 求矩阵或者数组array的维度 array.reshape(m,n) # 数组或矩阵重塑为m行n列 np.eye(m,n) # 创建m行n列单位矩阵 np.zeros([m,n],dtype...) # 创建初始化为0的矩阵 # .transpose()转置矩阵 .inv()逆矩阵 # .T转置矩阵,.I逆矩阵 举个栗子 # python3 import numpy as np # 先创建一个长度为...12的列表,,再重塑为4行3列的矩阵 list1 = [0,1,2,3,4,5,6,7,8,9,0,1] list1_to_mat = np.mat(list1) # 列表先转成矩阵 mat1 = list1
标识符 第一个字符必须是字母表中字母或下划线'_'。 标识符的其他的部分有字母、数字和下划线组成。 标识符对大小写敏感。 注释 Python中单行注释以 # 开头,实例如下: #!...使用三引号('''或""")可以指定一个多行字符串。 转义符 '\' 自然字符串, 通过在字符串前加r或R。 如 r"this is a line with \n" 则\n会显示,并不是换行。...每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。 在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。...等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。例如: 实例(Python 3.0+) #!...例如: a = b = c = 1 以上实例,创建一个整型对象,值为1,三个变量被分配到相同的内存空间上。 您也可以为多个对象指定多个变量。
MLP,代之以富有表现力的 Monarch 矩阵,使之在语言和图像实验中以更低的成本取得了更优的表现。...它们的计算是次二次扩展的:如果将因子的数量设为 p,则当输入长度为 N 时,计算复杂度为 ,从而让计算复杂度可以位于 p = log N 时的 O (N log N) 与 p = 2 时的 之间。...在 RTX 4090 等更新的架构上,对于同样大小的输入,一个简单的 CUDA 实现就能实现 41.4% 的 FLOP 利用率。...在维度混合器中,MLP 中两个密集矩阵被替换成了学习得到的分块对角矩阵(1 阶 Monarch 矩阵,b = 4)。...因果语言建模 GPT 风格的因果语言建模是 Transformer 的一大关键应用。该团队为因果语言建模构建了一个基于 M2 的架构:M2-GPT。
领取专属 10元无门槛券
手把手带您无忧上云