自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

原创 最长上升公共子序列

最长上升公共子序列熊大妈的奶牛在小沐沐的熏陶下开始研究信息题目。小沐沐先让奶牛研究了最长上升子序列,再让他们研究了最长公共子序列,现在又让他们研究最长公共上升子序列了。小沐沐说,对于两个数列 A 和 B,如果它们都包含一段位置不一定连续的数,且数值是严格递增的,那么称这一段数是两个数列的公共上升子序列,而所有的公共上升子序列中最长的就是最长公共上升子序列了。奶牛半懂不懂,小沐沐要你来告诉奶牛什么是最长公共上升子序列。不过,只要告诉奶牛它的长度就可以了。数列 A 和 B 的长度均不超过 3000。

2021-12-17 16:52:25 129

原创 拦截导弹(贪心+动规)

拦截导弹某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。输入导弹依次飞来的高度(雷达给出的高度数据是不大于30000的正整数,导弹数不超过1000),计算这套系统最多能拦截多少导弹,如果要拦截所有导弹最少要配备多少套这种导弹拦截系统。输入格式共一行,输入导弹依次飞来的高度。输

2021-12-16 17:39:05 242

原创 最长公共子序列

最长公共子序列给定两个长度分别为 N 和 M 的字符串 A 和 B,求既是 A 的子序列又是 B 的子序列的字符串长度最长是多少。输入格式第一行包含两个整数 N 和 M。第二行包含一个长度为 N 的字符串,表示字符串 A。第三行包含一个长度为 M 的字符串,表示字符串 B。字符串均由小写字母构成。输出格式输出一个整数,表示最大长度。数据范围1≤N,M≤1000输入样例:4 5acbdabedc输出样例:3算法:动态规划分析c++#include <iostre

2021-12-16 15:38:20 111

原创 最短编辑距离

最短编辑距离给定两个字符串 A 和 B,现在要将 A 经过若干操作变为 B,可进行的操作有:删除–将字符串 A 中的某个字符删除。插入–在字符串 A 的某个位置插入某个字符。替换–将字符串 A 中的某个字符替换为另一个字符。现在请你求出,将 A 变为 B 至少需要进行多少次操作。输入格式第一行包含整数 n,表示字符串 A 的长度。第二行包含一个长度为 n 的字符串 A。第三行包含整数 m,表示字符串 B 的长度。第四行包含一个长度为 m 的字符串 B。字符串中均只包含大写字母。输出格

2021-12-16 09:47:33 1718

原创 最长上升子序列(贪心+dp)

最长上升子序列给定一个长度为 N 的数列,求数值严格单调递增的子序列的长度最长是多少。输入格式第一行包含整数 N。第二行包含 N 个整数,表示完整序列。输出格式输出一个整数,表示最大长度。数据范围1≤N≤100000,−109≤数列中的数≤109输入样例:73 1 2 1 8 5 6输出样例:4算法:动态规划,贪心分析:#include <iostream>#include <cstring>#include <algorithm>

2021-12-15 18:15:14 685

原创 分组背包(背包问题)

分组背包有 N 组物品和一个容量是 V 的背包。每组物品有若干个,同一组内的物品最多只能选一个。每件物品的体积是 vij,价值是 wij,其中 i 是组号,j 是组内编号。求解将哪些物品装入背包,可使物品总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行有两个整数 N,V,用空格隔开,分别表示物品组数和背包容量。接下来有 N 组数据:每组数据第一行有一个整数 Si,表示第 i 个物品组的物品数量;每组数据接下来有 Si 行,每行有两个整数 vij,wij,用空格隔开,分别表

2021-12-15 17:05:20 95

原创 多重背包(背包问题)

多重背包有 N 种物品和一个容量是 V 的背包。第 i 种物品最多有 si 件,每件体积是 vi,价值是 wi。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。接下来有 N 行,每行三个整数 vi,wi,si,用空格隔开,分别表示第 i 种物品的体积、价值和数量。输出格式输出一个整数,表示最大价值。数据范围0<N,V≤1000<vi,wi,si≤100输入样例

2021-12-15 16:40:23 92

原创 完全背包(背包问题)

完全背包有 N 种物品和一个容量是 V 的背包,每种物品都有无限件可用。第 i 种物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 种物品的体积和价值。输出格式输出一个整数,表示最大价值。数据范围0<N,V≤10000<vi,wi≤1000输入样例4 5

2021-12-14 22:51:39 966

原创 01背包(背包问题)

01背包有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表示第 i 件物品的体积和价值。输出格式输出一个整数,表示最大价值。数据范围0<N,V≤10000<vi,wi≤1000输入样例4 51

2021-12-14 22:29:26 198

原创 传纸条(线性dp)

传纸条小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题。一次素质拓展活动中,班上同学安排坐成一个 m 行 n 列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法直接交谈了。幸运的是,他们可以通过传纸条来进行交流。纸条要经由许多同学传到对方手里,小渊坐在矩阵的左上角,坐标 (1,1),小轩坐在矩阵的右下角,坐标 (m,n)。从小渊传到小轩的纸条只可以向下或者向右传递,从小轩传给小渊的纸条只可以向上或者向左传递。在活动进行中,小渊希望给小轩传递一张纸条,同时希望小轩给他回复。

2021-12-13 22:26:32 62

原创 方格取数(线性dp)

方格取数设有 N×N 的方格图,我们在其中的某些方格中填入正整数,而其它的方格中则放入数字0。某人从图中的左上角 A 出发,可以向下行走,也可以向右行走,直到到达右下角的 B 点。在走过的路上,他可以取走方格中的数(取走后的方格中将变为数字0)。此人从 A 点到 B 点共走了两次,试找出两条这样的路径,使得取得的数字和为最大。输入格式第一行为一个整数N,表示 N×N 的方格图。接下来的每行有三个整数,第一个为行号数,第二个为列号数,第三个为在该行、该列上所放的数。行和列编号从 1 开始。一

2021-12-12 22:44:48 171

原创 摘花生(线性dp)

摘花生Hello Kitty想摘点花生送给她喜欢的米老鼠。她来到一片有网格状道路的矩形花生地(如下图),从西北角进去,东南角出来。地里每个道路的交叉点上都有种着一株花生苗,上面有若干颗花生,经过一株花生苗就能摘走该它上面所有的花生。Hello Kitty只能向东或向南走,不能向西或向北走。问Hello Kitty最多能够摘到多少颗花生。输入格式第一行是一个整数T,代表一共有多少组数据。接下来是T组数据。每组数据的第一行是两个整数,分别代表花生苗的行数R和列数 C。每组数据的接下来R行数据

2021-12-12 17:27:07 56

原创 子矩阵的和

子矩阵的和输入一个 n 行 m 列的整数矩阵,再输入 q 个询问,每个询问包含四个整数 x1,y1,x2,y2,表示一个子矩阵的左上角坐标和右下角坐标。对于每个询问输出子矩阵中所有数的和。输入格式第一行包含三个整数 n,m,q。接下来 n 行,每行包含 m 个整数,表示整数矩阵。接下来 q 行,每行包含四个整数 x1,y1,x2,y2,表示一组询问。输出格式共 q 行,每行输出一个询问的结果。数据范围1≤n,m≤1000,1≤q≤200000,1≤x1≤x2≤n,1≤y1≤y2≤m

2021-12-08 16:21:33 189

原创 前缀和...

前缀和输入一个长度为 n 的整数序列。接下来再输入 m 个询问,每个询问输入一对 l,r。对于每个询问,输出原序列中从第 l 个数到第 r 个数的和。输入格式第一行包含两个整数 n 和 m。第二行包含 n 个整数,表示整数数列。接下来 m 行,每行包含两个整数 l 和 r,表示一个询问的区间范围。输出格式共 m 行,每行输出一个询问的结果。数据范围1≤l≤r≤n,1≤n,m≤100000,−1000≤数列中元素的值≤1000输入样例:5 32 1 3 6 41 21 3

2021-12-08 16:02:49 65

原创 赶牛入圈.

二分 + 前缀和 + 离散化

2021-12-07 22:34:34 509

原创 高精度除法

高精度除法给定两个非负整数(不含前导 0) A,B,请你计算 A/B 的商和余数。输入格式共两行,第一行包含整数 A,第二行包含整数 B。输出格式共两行,第一行输出所求的商,第二行输出所求余数。数据范围1≤A的长度≤100000,1≤B≤10000,B 一定不为 0输入样例:72输出样例:31算法:高精度#include <iostream>#include <cstring>#include <vector>#include &l

2021-12-07 19:42:34 169

原创 高精度乘法

高精度乘法给定两个非负整数(不含前导 0) A 和 B,请你计算 A×B 的值。输入格式共两行,第一行包含整数 A,第二行包含整数 B。输出格式共一行,包含 A×B 的值。数据范围1≤A的长度≤100000,0≤B≤10000输入样例:23输出样例:6算法:高精度注意去前驱0#include <iostream>#include <cstring>#include <vector>#include <algorithm>

2021-12-07 19:22:51 274

原创 高精度减法

高精度减法给定两个正整数(不含前导 0),计算它们的差,计算结果可能为负数。输入格式共两行,每行包含一个整数。输出格式共一行,包含所求的差。数据范围1≤整数长度≤105输入样例:3211输出样例:21算法:高精度注:同样是按照人的习惯,注意事项标在了代码注释里#include <iostream>#include <cstring>#include <vector>#include <algorithm>using n

2021-12-07 18:19:06 90

原创 高精度加法

高精度加法给定两个正整数(不含前导 0),计算它们的和。输入格式共两行,每行包含一个整数。输出格式共一行,包含所求的和。数据范围1≤整数长度≤100000输入样例:1223输出样例:35算法:高精度注:模拟手动的加法即可#include <iostream>#include <cstring>#include <vector>#include <algorithm>using namespace std;vector

2021-12-07 17:45:06 281

原创 数的三次方根(经典二分)

数的三次方根给定一个浮点数 n,求它的三次方根。输入格式共一行,包含一个浮点数 n。输出格式共一行,包含一个浮点数,表示问题的解。注意,结果保留 6 位小数。数据范围−10000≤n≤10000输入样例:1000.00输出样例:10.000000算法:二分注意,题目要求保留多少位小数(这里我们设为n),最少写成 r - l > 1e-(n+2),这要可以满足得到更高的精度,而且最后输出的时候最好输出r(虽然l与r是一样的)但输出l会出现精度丢失的问题,血的教训。。。#in

2021-12-07 17:34:49 430

原创 数的范围(经典二分)

数的范围给定一个按照升序排列的长度为 n 的整数数组,以及 q 个查询。对于每个查询,返回一个元素 k 的起始位置和终止位置(位置从 0 开始计数)。如果数组中不存在该元素,则返回 -1 -1。输入格式第一行包含整数 n 和 q,表示数组长度和询问个数。第二行包含 n 个整数(均在 1∼10000 范围内),表示完整数组。接下来 q 行,每行包含一个整数 k,表示一个询问元素。输出格式共 q 行,每行包含两个整数,表示所求元素的起始位置和终止位置。如果数组中不存在该元素,则返回 -1 -

2021-12-07 17:20:04 84

原创 逆序对的数量

逆序对的数量给定一个长度为 n 的整数数列,请你计算数列中的逆序对的数量。逆序对的定义如下:对于数列的第 i 个和第 j 个元素,如果满足 i<j 且 a[i]>a[j],则其为一个逆序对;否则不是。输入格式第一行包含整数 n,表示数列的长度。第二行包含 n 个整数,表示整个数列。输出格式输出一个整数,表示逆序对的个数。数据范围1≤n≤100000,数列中的元素的取值范围 [1,109]。输入样例:62 3 4 5 6 1输出样例:5算法:归并排序分析:该题与

2021-12-07 17:12:29 294

原创 归并排序(基础算法)

归并排序给定你一个长度为 n 的整数数列。请你使用归并排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。输入格式输入共两行,第一行包含整数 n。第二行包含 n 个整数(所有整数均在 1∼109 范围内),表示整个数列。输出格式输出共一行,包含 n 个整数,表示排好序的数列。数据范围1≤n≤100000输入样例:53 1 2 4 5输出样例:1 2 3 4 5算法:归并排序算法原理:将原数组一分为二,分别递归处理左右两边,处理完后,左右两边已经是按照升序排列,

2021-12-07 17:03:34 214

原创 快速排序(基础算法)

快速排序给定你一个长度为 n 的整数数列。请你使用快速排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。输入格式输入共两行,第一行包含整数 n。第二行包含 n 个整数(所有整数均在 1∼109 范围内),表示整个数列。输出格式输出共一行,包含 n 个整数,表示排好序的数列。数据范围1≤n≤100000输入样例:53 1 2 4 5输出样例:1 2 3 4 5算法:快速排序算法原理:预处理出数组中间数,以该数为参照点,分别将左右两边遍历,小的放到左边,大的放到

2021-12-07 16:53:09 429

原创 防线(经典二分)

防线达达学习数学竞赛的时候受尽了同仁们的鄙视,终于有一天…受尽屈辱的达达黑化成为了黑暗英雄怪兽达达。就如同中二漫画的情节一样,怪兽达达打算毁掉这个世界。数学竞赛界的精英 lqr 打算阻止怪兽达达的阴谋,于是她集合了一支由数学竞赛选手组成的超级行动队。由于队员们个个都智商超群,很快,行动队便来到了怪兽达达的黑暗城堡的下方。但是,同样强大的怪兽达达在城堡周围布置了一条“不可越过”的坚固防线。防线由很多防具组成,这些防具分成了 N 组。我们可以认为防线是一维的,那么每一组防具都分布在防线的某一段上,

2021-12-06 21:14:53 62

原创 袭击...

袭击在与联盟的战斗中屡战屡败后,帝国撤退到了最后一个据点。依靠其强大的防御系统,帝国击退了联盟的六波猛烈进攻。经过几天的苦思冥想,联盟将军亚瑟终于注意到帝国防御系统唯一的弱点就是能源供应。该系统由 N 个核电站供应能源,其中任何一个被摧毁都会使防御系统失效。将军派出了 N 个特工进入据点之中,打算对能源站展开一次突袭。不幸的是,由于受到了帝国空军的袭击,他们未能降落在预期位置。作为一名经验丰富的将军,亚瑟很快意识到他需要重新安排突袭计划。他现在最想知道的事情就是哪个特工距离其中任意一个发电站

2021-12-06 17:32:06 91

原创 分形...

分形分形,具有以非整数维形式充填空间的形态特征。通常被定义为“一个粗糙或零碎的几何形状,可以分成数个部分,且每一部分都(至少近似地)是整体缩小后的形状”,即具有自相似的性质。现在,定义“盒子分形”如下:一级盒子分形: X二级盒子分形: X X X X X如果用 B(n−1) 代表第 n−1 级盒子分形,那么第 n 级盒子分形即为: B(n - 1) B(n - 1) B(n - 1) B(n - 1) B(

2021-12-06 10:39:34 244

原创 占卜DIY

占卜DIY达达学会了使用扑克 DIY 占卜。方法如下:一副去掉大小王的扑克共 52 张,打乱后均分为 13 堆,编号 1∼13,每堆 4 张,其中第 13 堆称作“生命牌”,也就是说你有 4 条命。这里边,4 张 K 被称作死神。初始状态下,所有的牌背面朝上扣下。流程如下:1.抽取生命牌中的最上面一张(第一张)。2.把这张牌翻开,正面朝上,放到牌上的数字所对应编号的堆的最上边。(例如抽到 2,正面朝上放到第 2 堆牌最上面,又比如抽到 J,放到第 11 堆牌最上边,注意是正面朝上放)3.从

2021-12-05 21:38:43 135

原创 飞行员兄弟

飞行员兄弟“飞行员兄弟”这个游戏,需要玩家顺利的打开一个拥有 16 个把手的冰箱。已知每个把手可以处于以下两种状态之一:打开或关闭。只有当所有把手都打开时,冰箱才会打开。把手可以表示为一个 4×4 的矩阵,您可以改变任何一个位置 [i,j] 上把手的状态。但是,这也会使得第 i 行和第 j 列上的所有把手的状态也随着改变。请你求出打开冰箱所需的切换把手的次数最小值是多少。输入格式输入一共包含四行,每行包含四个把手的初始状态。符号 + 表示把手处于闭合状态,而符号 - 表示把手处于打开状态。

2021-12-05 19:51:21 369

原创 奇数码问题

奇数码你一定玩过八数码游戏,它实际上是在一个 3×3 的网格中进行的,1 个空格和 1∼8 这 8 个数字恰好不重不漏地分布在这 3×3 的网格中。例如:5 2 81 3 _4 6 7在游戏过程中,可以把空格与其上、下、左、右四个方向之一的数字交换(如果存在)。例如在上例中,空格可与左、上、下面的数字交换,分别变成:5 2 8 5 2 _ 5 2 81 _ 3 1 3 8 1 3 74 6 7 4 6 7 4 6 _奇数

2021-12-05 14:53:08 2828

原创 超快速排序

超快速排序在这个问题中,您必须分析特定的排序算法----超快速排序。该算法通过交换两个相邻的序列元素来处理 n 个不同整数的序列,直到序列按升序排序。对于输入序列 9 1 0 5 4,超快速排序生成输出 0 1 4 5 9。您的任务是确定超快速排序需要执行多少交换操作才能对给定的输入序列进行排序。输入格式输入包括一些测试用例。每个测试用例的第一行输入整数 n,代表该用例中输入序列的长度。接下来 n 行每行输入一个整数 ai,代表用例中输入序列的具体数据,第 i 行的数据代表序列中第 i 个数

2021-12-05 13:07:08 196

原创 动态中位数(对顶堆)

动态中位数依次读入一个整数序列,每当已经读入的整数个数为奇数时,输出已读入的整数构成的序列的中位数。输入格式第一行输入一个整数 P,代表后面数据集的个数,接下来若干行输入各个数据集。每个数据集的第一行首先输入一个代表数据集的编号的整数。然后输入一个整数 M,代表数据集中包含数据的个数,M 一定为奇数,数据之间用空格隔开。数据集的剩余行由数据集的数据构成,每行包含 10 个数据,最后一行数据量可能少于 10 个,数据之间用空格隔开。输出格式对于每个数据集,第一行输出两个整数,分别代表数据集的编

2021-12-05 11:34:59 78

原创 货仓选址.

货仓选址在一条数轴上有 N 家商店,它们的坐标分别为 A1∼AN。现在需要在数轴上建立一家货仓,每天清晨,从货仓到每家商店都要运送一车商品。为了提高效率,求把货仓建在何处,可以使得货仓到每家商店的距离之和最小。输入格式第一行输入整数 N。第二行 N 个整数 A1∼AN。输出格式输出一个整数,表示距离之和的最小值。数据范围1≤N≤100000,0≤Ai≤40000输入样例:46 2 9 1输出样例:12算法:排序分析:#include <iostream>

2021-12-04 22:23:27 446

原创 最高的牛.

最高的牛有 N 头牛站成一行,被编队为 1、2、3…N,每头牛的身高都为整数。当且仅当两头牛中间的牛身高都比它们矮时,两头牛方可看到对方。现在,我们只知道其中最高的牛是第 P 头,它的身高是 H ,剩余牛的身高未知。但是,我们还知道这群牛之中存在着 M 对关系,每对关系都指明了某两头牛 A 和 B 可以相互看见。求每头牛的身高的最大可能值是多少。输入格式第一行输入整数 N,P,H,M,数据用空格隔开。接下来 M 行,每行输出两个整数 A 和 B ,代表牛 A 和牛 B 可以相互看见,数据用空

2021-12-04 11:13:45 85

原创 约数之和.

约数之和假设现在有两个自然数 A 和 B,S 是 AB 的所有约数之和。请你求出 Smod9901 的值是多少。输入格式在一行中输入用空格隔开的两个整数 A 和 B。输出格式输出一个整数,代表 Smod9901 的值。数据范围0≤A,B≤5×107输入样例:2 3输出样例:15注意: A 和 B 不会同时为 0。算法:分治,递归,数论分析:快速幂见#include <iostream>#include <cstring>#include &lt

2021-12-03 20:37:29 100

原创 奇怪的汉诺塔

奇怪的汉诺塔汉诺塔问题,条件如下:1、这里有 A、B、C 和 D 四座塔。2、这里有 n 个圆盘,n 的数量是恒定的。3、每个圆盘的尺寸都不相同。4、所有的圆盘在开始时都堆叠在塔 A 上,且圆盘尺寸从塔顶到塔底逐渐增大。5、我们需要将所有的圆盘都从塔 A 转移到塔 D 上。6、每次可以移动一个圆盘,当塔为空塔或者塔顶圆盘尺寸大于被移动圆盘时,可将圆盘移至这座塔上。请你求出将所有圆盘从塔 A 移动到塔 D,所需的最小移动次数是多少。输入格式没有输入输出格式对于每一个整数 n,输出一个满

2021-12-03 12:58:04 91

原创 费解的开关

费解的开关你玩过“拉灯”游戏吗?25 盏灯排成一个 5×5 的方形。每一个灯都有一个开关,游戏者可以改变它的状态。每一步,游戏者可以改变某一个灯的状态。游戏者改变一个灯的状态会产生连锁反应:和这个灯上下左右相邻的灯也要相应地改变其状态。我们用数字 1 表示一盏开着的灯,用数字 0 表示关着的灯。下面这种状态1011101101101111000011011在改变了最左上角的灯的状态后将变成:0111111101101111000011011再改变它正中间的灯后状态将变成

2021-12-03 11:27:33 56

原创 递归实现组合型枚举

递归实现组合型枚举从 1∼n 这 n 个整数中随机选出 m 个,输出所有可能的选择方案。输入格式两个整数 n,m ,在同一行用空格隔开。输出格式按照从小到大的顺序输出所有方案,每行 1 个。首先,同一行内的数升序排列,相邻两个数用一个空格隔开。其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面(例如 1 3 5 7 排在 1 3 6 8 前面)。数据范围n>0 ,0≤m≤n ,n+(n−m)≤25输入样例:5 3输出样例:1 2 31 2 41 2 5

2021-12-02 21:57:23 94

原创 递归实现指数型枚举

递归实现指数型枚举从 1∼n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案。输入格式输入一个整数 n。输出格式每行输出一种方案。同一行内的数必须升序排列,相邻两个数用恰好 1 个空格隔开。对于没有选任何数的方案,输出空行。本题有自定义校验器(SPJ),各行(不同方案)之间的顺序任意。数据范围1≤n≤15输入样例:3输出样例:322 311 31 21 2 3算法:dfs,位运算位运算,时间复杂度(n * 2^n)#include <iostr

2021-12-02 19:50:15 78

原创 64位整数乘法

64位整数乘法求 a 乘 b 对 p 取模的值。输入格式第一行输入整数a,第二行输入整数b,第三行输入整数p。输出格式输出一个整数,表示a*b mod p的值。数据范围1≤a,b,p≤1018输入样例:345输出样例:2算法:数论(快速幂)题目分析:#include <bits/stdc++.h>using namespace std;typedef long long LL;int main(){ LL a, b, p; cin

2021-12-02 17:37:31 516

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除