洛谷
文章平均质量分 60
玛莱之盾
这个作者很懒,什么都没留下…
展开
-
【转载】【C/C++】求最大公约数的三种方法
一、最大公约数与最小公倍数最大公约数,属于数论所探究的内容。最大公约数可以通过下面的三种方法求出来。最小公倍数呢,它与最大公约数的乘机为所求数之积。比如求 x,y的最大公约数和最小公倍数记住这个公式:== xy=最小公倍数最大公约数==二、求最大公约数的三种方法①辗转相除法算法流程图代码块:int measure(int x, int y){ int z = y; while(x%y!=0) { z = x%y; x = y; y = z; } retur转载 2021-11-02 20:57:35 · 1307 阅读 · 0 评论 -
全错位排列问题
问题描述这是一个很经典的数学问题:有一个人写了n封信件,对应n个信封,然而粗心的秘书却把所有信件都装错了信封,那么一共有多少种装错的装法?数学抽象这个问题可抽象为以下一个数学问题:已知一个长度为n的有序序列{a1,a2,a3,…,an},打乱其顺序,使得每一个元素都不在原位置上,则一共可以产生多少种新的排列?例如:原序列为{a,b,c,d,e},则新序列{b,c,d,e,a}为其一个全错位排列,新序列中每一个元素都不在原来的位置上。问题解决首先考虑几种简单的情况:原序列长度为1序列中只有一个转载 2021-10-01 19:41:25 · 1307 阅读 · 0 评论 -
高精度减法
题目描述高精度减法。输入格式两个整数 a,b(第二个可能比第一个大)。输出格式结果(是负数要输出负号)。输入输出样例输入21输出1说明/提示20%20\%20% 数据 a,b 在 long long 范围内;100%100\%100% 数据 0<a,b≤10100860<a,b\le 10^{10086}0<a,b≤1010086#include<algorithm>#include<string.h>#include<ios原创 2021-09-09 22:33:24 · 155 阅读 · 0 评论 -
P1601 A+B Problem(高精)
题目描述高精度加法,相当于a+b problem,不用考虑负数.输入格式分两行输入。a,b \leq 10^{500}a,b≤10500输出格式输出只有一行,代表a+ba+b的值输入输出输入11输出2输入10019099输出10100昨天做了一个题关于高精度的,正好又碰到了,写了一下#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;原创 2021-09-08 19:15:31 · 203 阅读 · 0 评论 -
P1080 [NOIP2012 提高组] 国王游戏
题目描述恰逢 H 国国庆,国王邀请nn 位大臣来玩一个有奖游戏。首先,他让每个大臣在左、右手上面分别写下一个整数,国王自己也在左、右手上各写一个整数。然后,让这 n 位大臣排成一排,国王站在队伍的最前面。排好队后,所有的大臣都会获得国王奖赏的若干金币,每位大臣获得的金币数分别是:排在该大臣前面的所有人的左手上的数的乘积除以他自己右手上的数,然后向下取整得到的结果。国王不希望某一个大臣获得特别多的奖赏,所以他想请你帮他重新安排一下队伍的顺序,使得获得奖赏最多的大臣,所获奖赏尽可能的少。注意,国王的位置始终原创 2021-09-07 21:55:26 · 1822 阅读 · 1 评论 -
P1094 [NOIP2007 普及组] 纪念品分组
题目描述元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作。为使得参加晚会的同学所获得 的纪念品价值相对均衡,他要把购来的纪念品根据价格进行分组,但每组最多只能包括两件纪念品, 并且每组纪念品的价格之和不能超过一个给定的整数。为了保证在尽量短的时间内发完所有纪念品,乐乐希望分组的数目最少。你的任务是写一个程序,找出所有分组方案中分组数最少的一种,输出最少的分组数目。输入格式共 n+2n+2n+2 行:第一行包括一个整数 www,为每组纪念品价格之和的上上限。第二行为一个整数 nnn,表示购来原创 2021-09-06 22:18:49 · 1345 阅读 · 0 评论 -
P4995 跳跳!
题目描述你是一只小跳蛙,你特别擅长在各种地方跳来跳去。这一天,你和朋友小 F 一起出去玩耍的时候,遇到了一堆高矮不同的石头,其中第 iii 块的石头高度为 hih_ihi,地面的高度是 h0=0h_0 = 0h0=0。你估计着,从第 iii 块石头跳到第 jjj 块石头上耗费的体力值为 (hi−hj)2(h_i - h_j) ^ 2(hi−hj)2,从地面跳到第 iii 块石头耗费的体力值是 (hi)2(h_i) ^ 2(hi)2。为了给小 F 展现你超级跳的本领,你决定跳到每个石头上各一次原创 2021-09-05 22:39:41 · 81 阅读 · 0 评论 -
P1226 快速幂||取余运算
题目描述给你三个整数 a,b,p求 aba^bab mod ppp输入格式输入只有一行三个整数,分别代表 a,b,pa,b,p。输出格式输出一行一个字符串 aba^bab mod ppp =s,其中 a,b,p 分别为题目给定的值, s为运算结果。输入输出样例输入2 10 9输出2^10 mod 9=7说明/提示样例解释2102^{10}210 = 10241024 mod 9 = 7数据规模与约定对于 100% 的数据,保证 0<=a,b<2310<=a原创 2021-09-04 21:00:48 · 238 阅读 · 0 评论 -
[NOIP2015 提高组] 跳石头
题目背景一年一度的“跳石头”比赛又要开始了!题目描述这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石。组委会已经选择好了两块岩石作为比赛起点和终点。在起点和终点之间,有 NNN 块岩石(不含起点和终点的岩石)。在比赛过程中,选手们将从起点出发,每一步跳向相邻的岩石,直至到达终点。为了提高比赛难度,组委会计划移走一些岩石,使得选手们在比赛过程中的最短跳跃距离尽可能长。由于预算限制,组委会至多从起点和终点之间移走 MMM 块岩石(不能移走起点和终点的岩石)。输入输出格式输入格式第一行包含原创 2021-09-03 21:15:19 · 1235 阅读 · 0 评论 -
P1908 逆序对
题目描述猫猫 TOM 和小老鼠 JERRY 最近又较量上了,但是毕竟都是成年人,他们已经不喜欢再玩那种你追我赶的游戏,现在他们喜欢玩统计。最近,TOM 老猫查阅到一个人类称之为“逆序对”的东西,这东西是这样定义的:对于给定的一段正整数序列,逆序对就是序列中 ai>aja_i>a_jai>aj 且 i<ji<ji<j 的有序对。知道这概念后,他们就比赛谁先算出给定的一段正整数序列中逆序对的数目。注意序列中可能有重复数字。Update:数据已加强。输入输出格式输原创 2021-09-02 14:50:30 · 67 阅读 · 0 评论 -
[NOIP2001 提高组] 一元三次方程求解
题目描述有形如:ax3+bx2+cx+d=0a x^3 + b x^2 + c x + d = 0ax3+bx2+cx+d=0 这样的一个一元三次方程。给出该方程中各项的系数(a,b,c,da,b,c,da,b,c,d 均为实数),并约定该方程存在三个不同实根(根的范围在 −100-100−100 至 100100100 之间),且根与根之差的绝对值 ≥1\ge 1≥1。要求由小到大依次在同一行输出这三个实根(根与根之间留有空格),并精确到小数点后 222 位。提示:记方程 f(x)=0f(x) =原创 2021-09-02 14:40:01 · 1420 阅读 · 0 评论 -
[NOIP2006 普及组] 明明的随机数
题目描述明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了NNN个111到100010001000之间的随机整数(N≤100)(N≤100)(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。输入输出格式输入格式输入有两行,第111行为111个正整数,表示所生成的随机数的个数NNN第222行有NNN个用空格隔开的正整数,为原创 2021-09-01 00:11:41 · 160 阅读 · 0 评论 -
P1177快速排序
题目描述利用快速排序算法将读入的 NNN 个数从小到大排序后输出。快速排序是信息学竞赛的必备算法之一。对于快速排序不是很了解的同学可以自行上网查询相关资料,掌握后独立完成。(C++ 选手请不要试图使用 STL,虽然你可以使用 sort 一遍过,但是你并没有掌握快速排序算法的精髓。)输入输出格式输入格式第 111 行为一个正整数 NNN,第 222 行包含 NNN 个空格隔开的正整数 aia_iai,为你需要进行排序的数,数据保证了 AiA_iAi 不超过 10910^9109。输出格式将给原创 2021-08-30 22:26:01 · 121 阅读 · 0 评论 -
P1145 约瑟夫
题目描述nnn 个人站成一圈,从某个人开始数数,每次数到 mmm 的人就被杀掉,然后下一个人重新开始数,直到最后只剩一个人。现在有一圈人,kkk 个好人站在一起,kkk 个坏人站在一起。从第一个好人开始数数。你要确定一个最小的 mmm,使得在第一个好人被杀死前,kkk 个坏人先被杀死。输入格式一行一个整数 kkk。输出格式一行一个整数 mmm。输入输出样例输入3输出5输入4输出30说明/提示0<k<140\lt k\lt 140<k<14。约瑟夫很经原创 2021-08-30 00:14:25 · 730 阅读 · 1 评论 -
动态规划算法(一)
动态规划例题最大子段和问题P1115 最大子段和题目描述给出一个长度为 nnn 的序列 aaa,选出其中连续且非空的一段使得这段和最大。输入格式第一行是一个整数,表示序列的长度 nnn。第二行有 n 个整数,第 i 个整数表示序列的第 i 个数字 aia_iai。输出格式输出一行一个整数表示答案。输入输出样例输入72 -4 3 -1 2 -4 3**输出 **4说明/提示样例 1 解释选取 [3,5][3, 5][3,5] 子段 {3,−1,2}\{3, -1, 2原创 2021-08-27 21:21:07 · 378 阅读 · 0 评论 -
BFS算法---洛谷1443马的遍历
题目描述有一个n*m的棋盘(1<n,m<=400),在某个点上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步输入格式一行四个数据,棋盘的大小和马的坐标输出格式一个n*m的矩阵,代表马到达某个点最少要走几步**(左对齐,宽5格,不能到达则输出-1)**输入输出样例输入3 3 1 1输出0 3 23 -1 12 1 4题意是:先给出棋盘规格,然后给出马的坐标,棋盘坐标是从(1,1)开始的,(从给出的样例可以看出),所以我们在存棋盘原创 2021-02-23 09:43:11 · 405 阅读 · 0 评论 -
DFS算法---洛谷 P1219 八皇后
题目描述一个如下的 6×6 的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行、每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。上面的布局可以用序列 2 4 6 1 3 5 来描述,第 i个数字表示在第 i 行的相应位置有一个棋子,如下:行号 1 2 3 4 5 6列号 2 4 6 1 3 5这只是棋子放置的一个解。请编一个程序找出所有棋子放置的解。并把它们以上面的序列方法输出,解按字典顺序排列。请输出前 33 个解。最后一行是解的总个数。输入格式一行一个正整数原创 2021-02-22 10:45:30 · 148 阅读 · 0 评论