自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (2)
  • 收藏
  • 关注

原创 [NOIP2016 普及组] 买铅笔

NOIP2016 普及组 T1。

2022-09-28 10:05:14 295 2

原创 裴蜀定理、拓展欧几里得及其证明

定理裴蜀定理(贝祖定理)是一个关于最大公约数的定理。裴蜀定理说明了对任何整数a,b和它们的最大公约数d,关于未知数x和y的线性不定方程:若a,b是整数,且gcd(a,b)=dgcd(a,b)=dgcd(a,b)=d,那么对于任意的整数x,y,ax+by都一定是d的倍数,特别的,一定存在整数x,y使ax+by=d成立。重要推论a、b互质的充分必要条件是存在整数x,y使ax+by=1ax+by=1ax+by=1。证明设d=gcd(a,b)d=gcd(a,b)d=gcd(a,b),则d∣a,d∣bd\

2022-05-13 13:10:32 834

原创 LemonLime使用指南

安装安装包蓝奏云网盘下载后解压缩初次设置step.1双击绿色图标。step.2勾选g++ ,点击下一步。step.3点击g++右侧的三个小点,选择编译器。找到DEVC++的安装路径,在MinGW64/bin 中选择g++编译器。选好后点击Next。点击Finsh到此,软件使用环境已经配置好了。开始一场比赛请提前准备好测试数据新建比赛点击左上角文件-新建比赛。输入比赛标题、保存文件名,并点击三个点,选择保存的文件夹。之后点击OK.打开你保存比赛信息的

2022-04-18 23:33:13 4799 1

原创 咸鱼的Python学习日志03_分支结构

应用场景之前所有的语句都是顺序执行的,若是碰到需要判断进行多分支处理的情况就无能为力了。程序中为此出现了分支结构或选择结构来处理这样的问题。if语句的使用在python中,使用if、elif和else关键字来构造分支结构。"""用户身份验证"""username=input('请输入用户名:')password=input('请输入口令:')if username == 'admin' and password == '123456': print('身份验证成功!')els

2021-01-19 16:02:20 186

原创 Python学习02_语言元素

变量和类型在程序设计中,变量是一种存储数据的“容器”。计算机当中的变量是存储器当中的一块空间,它的内容可以被读写。不同的数据有着不同的类型,Python中的数据类型有很多,并且我们可以根据需要进行类型的自定义。常见类型类型含义整型Python中可以处理任意大小的整数,而且支持二进制(如0b100,换算成十进制是4)、八进制(如0o100,换算成十进制是64)、十进制(100)和十六进制(0x100,换算成十进制是256)的表示法。能进行大数计算。浮点型浮点数也就是小数,之

2021-01-18 14:26:30 109

原创 咸鱼的Python学习日志01

源起老是听说Python的大名,但也是仅限于了解,并没有深入学习过。正好最近想要买个阿米洛的键盘。干脆就订个目标,学习Python,每天达成任务给自己储蓄10元,什么时候存好钱,再去买键盘,就当是给自己的奖励了。把链接放这里,存够钱了我就来买,锦鲤等着我~购买链接 优惠券链接材料选择gitHub上有搜到一个Python学习教程,有98.3K的star。就选他,跟着他学习了。Python-100-DaysPython简介Python的优缺点Python的优点很多,简单的可以总结为以下几点。

2021-01-15 14:07:17 122

原创 【高精度】1172_求10000以内的阶乘

题目相关【题目描述】求10000以内n的阶乘。【输入】只有一行输入,整数n(0≤n≤10000)。【输出】一行,即n!的值。【输入样例】4【输出样例】24分析首先n的阶乘是从1开始相乘,乘到n为止的总乘积。定义很简单,但是要注意下数据范围,本题的n最大到达了10000。而13的阶乘就已经解决int范围的极限了,更别提10000了。这道题的答案很大,所以要用大数的方式来进行处理。另外,$n!=(n-1)!\times n $而n的范围又在10000以内,所以可以看作是一个大数乘一个i

2021-01-11 23:50:55 499

原创 从零开始的C程序设计大作业——学生成绩管理系统

前言学生成绩管理系统可以说是C语言程序设计的结课的必备大作业了。花了些时间,费了些头发肝了下,完成了两个系统,一个是控制台版本的,另一个用easyx图形库进行了优化。先放出完成后的演示图片占个坑。具体的实现过程,等我再梳理下,再慢慢更新整理到论坛上来。演示DEMO基础控制台版本控制台版本开发过程整理开发环境系统: win10IDE: Dev Cpp前置知识需要掌握基础的C语言知识顺序结构分支结构循环结构数组、字符串函数结构体、指针链表文件操作功能分析工欲善其事

2020-12-27 20:17:48 4418 1

原创 【高精度】1171大整数的因子

题目相关【题目描述】已知正整数k满足2≤k≤9,现给出长度最大为30位的十进制非负整数c,求所有能整除c的k。【输入】一个非负整数c,c的位数≤30。【输出】若存在满足 c%k == 0 的k,从小到大输出所有这样的k,相邻两个数之间用单个空格隔开;若没有这样的k,则输出"none"。【输入样例】30【输出样例】2 3 5 6分析本题考查的高精度除法。求出c除k的余数,余数为0则输出k。并且计算过程中只有被除数是高精度大数,而除数是个整数型的数字。for(int k=2;k

2020-12-25 14:31:52 302

原创 【高精度】1170_计算2的N次方

题目相关【题目描述】任意给定一个正整数N(N≤100),计算2的n次方的值。【输入】输入一个正整数N。【输出】输出2的N次方的值。【输入样例】5【输出样例】32分析本题考察的是大数乘法。需要注意观察数据范围,int的范围极限接近2312^{31}231 ,本题中N的范围使得最后的数值会超过int范围极限,甚至是long long范围极限。那么此时可以采用高精度乘法的思想来进行处理。并且,这一题是求2的次方值,只需将值与2相乘即可。实际上是一个高精数字与整数数字相乘。模拟竖式

2020-12-21 01:35:53 404

原创 【高精度】1169_大整数减法

题目相关【题目描述】求两个大的正整数相减的差。【输入】共2行,第1行是被减数a,第2行是减数b(a > b)。每个大整数不超过200位,不会有多余的前导零。【输出】一行,即所求的差。【输入样例】99999999999999999999999999999999999999999999999999【输出样例】9999999999999999999999990000000000000分析本题考察的是高精度减法。我们可以模拟减法的竖式计算过程从而实现高精度的计算。和高精度加

2020-12-21 01:27:21 1098 1

原创 【高精度】1168大整数加法

题目相关【题目描述】求两个不超过200位的非负整数的和。【输入】有两行,每行是一个不超过200位的非负整数,可能有多余的前导0。【输出】一行,即相加后的结果。结果里不能有多余的前导0,即如果结果是342,那么就不能输出为0342。【输入样例】2222222222222222222233333333333333333333【输出样例】55555555555555555555分析本题考察的是高精度计算中的加法计算。对于超出数据类型范围的数据,我们首先需要解决的就是输入、存储的

2020-12-16 22:13:39 465

原创 【高精度】1170_2的N次方

题目相关【题目描述】任意给定一个正整数N(N≤100),计算2的n次方的值。【输入】输入一个正整数N。【输出】输出2的N次方的值。【输入样例】5【输出样例】32分析本题考察的是大数乘法。需要注意观察数据范围,int的范围极限接近2312^{31}231 ,本题中N的范围使得最后的数值会超过int范围极限,甚至是long long范围极限。那么此时可以采用高精度乘法的思想来进行处理。并且,这一题是求2的次方值,只需将值与2相乘即可。实际上是一个高精数字与整数数字相乘。模拟竖式

2020-12-16 19:56:53 239

原创 《信息学奥赛一本通 C++版》1007_(a+b)x C的值

题目相关【题目描述】给定3个整数a、b、c,计算表达式(a+b)×c的值。【输入】输入仅一行,包括三个整数a、b、c, 数与数之间以一个空格分开。(-10,000<a,b,c<10,000)【输出】输出一行,即表达式的值。【输入样例】2 3 5【输出样例】25分析本题考察的是整数的计算。数学符号程序中的符号++−-−-×\times×*÷\div÷/代码实现#include <iostream>

2020-12-16 14:44:26 271

原创 《信息学奥赛一本通 C++版》1005_地球人口承载力估计

假设地球上的新生资源按恒定速度增长。照此测算,地球上现有资源加上新生资源可供x亿人生活a年,或供y亿人生活b年。为了能够实现可持续发展,避免资源枯竭,地球最多能够养活多少亿人?

2020-12-15 15:21:43 2831 1

原创 《信息学奥赛一本通 C++版》1004_字符三角形

题目相关【题目描述】给定一个字符,用它构造一个底边长5个字符,高3个字符的等腰字符三角形。【输入】输入只有一行,包含一个字符。【输出】该字符构成的等腰三角形,底边长5个字符,高3个字符。【输入样例】*【输出样例】 * ********分析本题考察的是图形的输出。观察题目要求输出的图形,发现这个三角形由三行内容组成。第行行是两个空格加一个星号,第二行是一个空格加三个星号,第三行是5个星号。星号可以替换成输入的任意字符。接下来就是按找到的规律进行输出。使用printf输出字

2020-12-15 15:18:27 1325

原创 《信息学奥赛一本通 C++版》1003_对齐输出

题目相关【题目描述】读入三个整数,按每个整数占8个字符的宽度,右对齐输出它们,按照格式要求依次输出三个整数,之间以一个空格分开。【输入】只有一行,包含三个整数,整数之间以一个空格分开。【输出】只有一行,按照格式要求依次输出三个整数,之间以一个空格分开。【输入样例】123456789 0 -1【输出样例】123456789 0 -1分析本题主要考察了带格式要求的输出。此时可以采用printf的形式来进行输出。注意,需要添加头文件"cstdio"。若想使得整数占据若干个字符可以使

2020-12-15 15:16:30 859

原创 《信息学奥赛一本通 C++版》1002输出第二个整数

题目相关【题目描述】输入三个整数,整数之间由一个空格分隔,整数是32位有符号整数。把第二个输入的整数输出。【输入】只有一行,共三个整数,整数之间由一个空格分隔。整数是32位有符号整数。【输出】只有一行,一个整数,即输入的第二个整数。【输入样例】123 456 789【输出样例】456分析本题考察了变量基础以及基础的输入输出语句。声明变量格式: 变量类型 变量名;//声明一个变量 变量类型 变量名1,变量名2,变量名3;//声明多个同类型变量变量的输入cin>

2020-12-15 14:55:25 596

原创 《信息学奥赛一本通 C++版》1006_A+B问题!

题目相关【题目描述】大部分的在线题库,都会将A+B问题作为第一题,以帮助新手熟悉平台的使用方法。A+B问题的题目描述如下:给定两个整数A和B,输出A+B的值。保证A、B及结果均在整型范围内。现在请你解决这一问题。【输入】一行,包含两个整数A,B,中间用单个空格隔开。A和B均在整型范围内。【输出】一个整数,即A+B的值。保证结果在整型范围内。【输入样例】1 2【输出样例】3分析本题考察整数型变量的简单计算。数学符号程序中的符号++++−-−-

2020-12-15 14:42:37 427 1

原创 《信息学奥赛一本通 C++版》1001_Hello,World!

题目相关【题目描述】编写一个能够输出“Hello,World!”的程序,这个程序常常作为一个初学者接触一门新的编程语言所写的第一个程序,也经常用来测试开发、编译环境是否能够正常工作。提示:“Hello,World!”中间没空格。【输入】无【输出】Hello,World!【输入样例】(无)【输出样例】Hello,World!分析主要考察输出语句的使用。使用cout来进行输出。注意进行命名空间的引用。或者在cout前指明对应的空间。代码实现#include<iostre

2020-12-15 14:01:23 283

原创 算法复杂度

引入编程处理问题时,可能有多种处理方法,那么衡量写出的程序的好坏的标准是什么?结果正确、运行速度快、结构优美,算法设计合理都可以作为衡量标准。什么是算法程序=算法+数据结构算法是对特定问题求解步骤的一种归纳描述。算法是解决问题的逻辑、方法、过程,数据结构是数据在计算机中的存储和访问方式。两者通常是紧密结合的。算法具有5个特征:输入有零或多个输入。可以没有输入,比如只进行一些输出任务。输出有一个或多个输出。程序可以没有输入,但一定要有输出。有穷性在有限的步骤中结束。确

2020-11-12 18:59:35 334

原创 信息学奥赛一本通_1144_单词翻转

题目相关【题目描述】输入一个句子(一行),将句子中的每一个单词翻转后输出。【输入】只有一行,为一个字符串,不超过500个字符。单词之间以空格隔开。【输出】翻转每一个单词后的字符串,单词之间的空格需与原文一致。【输入样例】hello world【输出样例】olleh dlrow【来源】1144_单词翻转分析​ 注意题目要求的是将单词进行翻转而不是仅仅是将整句话进行翻转。语句中包含空格,我们可以使用gets()来进行输入。单词间的空格需与原文一致,我们可以在遇见空格时原样进行输出。

2020-05-27 14:49:11 2370

原创 信息学奥赛一本通_1143_最长最短单词

题目相关【题目描述】输入1行句子(不多于200个单词,每个单词长度不超过100),只包含字母、空格和逗号。单词由至少一个连续的字母构成,空格和逗号都是单词间的间隔。试输出第1个最长的单词和第1个最短单词。【输入】一行句子。【输出】第1行,第一个最长的单词。第2行,第一个最短的单词。【输入样例】I am studying Programming language C in Peking University【输出样例】Programming I【提示】提示:如果所有单词长度相同,那么

2020-05-27 00:05:17 2754 3

原创 信息学奥赛一本通_1137_加密的病历单

题目相关【题目描述】小英是药学专业大三的学生,暑假期间获得了去医院药房实习的机会。在药房实习期间,小英扎实的专业基础获得了医生的一致好评,得知小英在计算概论中取得过好成绩后,主任又额外交给她一项任务,解密抗战时期被加密过的一些伤员的名单。经过研究,小英发现了如下加密规律(括号中是一个“原文 -> 密文”的例子)1.原文中所有的字符都在字母表中被循环左移了三个位置(dec -> abz)2.逆序存储(abcd -> dcba )3.大小写反转(abXY -> ABxy)

2020-05-25 21:30:43 1730 1

原创 信息学奥赛一本通_1136_密码翻译

题目相关【题目描述】在情报传递过程中,为了防止情报被截获,往往需要对情报用一定的方式加密,简单的加密算法虽然不足以完全避免情报被破译,但仍然能防止情报被轻易的识别。我们给出一种最简的的加密方法,对给定的一个字符串,把其中从a-y,A-Y的字母用其后继字母替代,把z和Z用a和A替代,其他非字母字符不变,则可得到一个简单的加密字符串。【输入】输入一行,包含一个字符串,长度小于80个字符。【输...

2020-05-02 18:17:59 2682 1

原创 信息学奥赛一本通_1135_配对碱基链

题目相关【题目描述】脱氧核糖核酸(DNA)由两条互补的碱基链以双螺旋的方式结合而成。而构成DNA的碱基共有4种,分别为腺瞟呤(A)、鸟嘌呤(G)、胸腺嘧啶(T)和胞嘧啶( C)。我们知道,在两条互补碱基链的对应位置上,腺瞟呤总是和胸腺嘧啶配对,鸟嘌呤总是和胞嘧啶配对。你的任务就是根据一条单链上的碱基序列,给出对应的互补链上的碱基序列。【输入】一个字符串,表示一条碱基链。这个字符串只含有大写...

2020-05-02 16:54:49 1137 1

原创 信息学奥赛一本通_1134_合法C标识符

题目相关【题目描述】给定一个不包含空白符的字符串,请判断是否是C语言合法的标识符号(注:题目保证这些字符串一定不是C语言的保留字)。C语言标识符要求:非保留字;只包含字母、数字及下划线(“_”)。不以数字开头。【输入】一行,包含一个字符串,字符串中不包含任何空白字符,且长度不大于20。【输出】一行,如果它是C语言的合法标识符,则输出yes,否则输出no。【输入样例】RK...

2020-05-02 16:23:14 1495 1

原创 信息学奥赛一本通_1133_输出亲朋字符串

题目相关##【题目描述】编写程序,求给定字符串s的亲朋字符串s1。亲朋字符串s1定义如下:给定字符串s的第一个字符的ASCII值加第二个字符的ASCII值,得到第一个亲朋字符; 给定字符串s的第二个字符的ASCII值加第三个字符的ASCII值,得到第二个亲朋字符;依此类推,直到给定字符串s的倒数第二个字符。亲朋字符串的最后一个字符由给定字符串s的最后一个字符ASCII值加s的第一个字符的AS...

2020-04-30 14:52:12 1225 1

原创 高精度计算(三)大数除法

若我们只考虑求解相除的商。高精除低精过程分析所谓高精除低精指的是被除数值特别的大,除数值的范围在int类型范围内。在模拟开竖式的过程当中,可以发现,除法和加、减、乘不一样,他是从高位开始计算的。所以,除法是不需要进行倒置存放的。过程当中我们也能发现,每一次都是将之前计算的余数和后面的数字结合成新的数字再进行除法计算。int x=0;//存储余数for(int i=0;i<l;i...

2020-04-30 13:38:00 1081

原创 高精度计算(二)大数乘法

大数乘法​ 大数乘法处理的过程也是分为三部分。存储计算输出分析存储与输出与大数加减法方法一致。区别在于中间计算的过程。在平时,我们使用竖式进行乘法计算时,和加法很相似,从低位开始进行计算,也需要考虑进位操作。区别在于,我们将下面一行的数字相乘计算时,是需要进行错位相加的。这边的关键之处在于如何体现出错位这一位置关系。第一行 j第二行 i答案m000...

2020-04-30 00:39:51 703

原创 C++基础——引用类型变量

相关概念​ 引用变量是复合类型。引用是已定义的变量的别名。引用变量的主要作用是用作函数的形参。通过将引用变量用作参数,函数将使用原视数据,而不是其副本。这样除了指针之外,引用也为函数处理大型结构提供了一种非常方便的途径,同时对于射击类来说,引用也是必不可少的。创建引用变量C++给&符号赋予了另一个含义,将其用来声明引用。例如,要将stu作为student变量的别名,可以这样做:in...

2020-04-29 18:40:11 3019

原创 解题思路分析与代码实现——珠心算测验

题目珠心算测验题目描述珠心算是一种通过在脑中模拟算盘变化来完成快速运算的一种计算技术。珠心算训练,既能够开发智力,又能够为日常生活带来很多便利,因而在很多学校得到普及。某学校的珠心算老师采用一种快速考察珠心算加法能力的测验方法。他随机生成一个正整数集合,集合中的数各不相同,然后要求学生回答:其中有多少个数,恰好等于集合中另外两个(不同的)数之和?最近老师出了一些测验题,请你帮忙求出答案。...

2020-04-29 12:54:52 701 1

原创 最长上升子序列O(nlogn)处理方式

最长上升子序列给定一长度为n的数列,请在不改变原数列顺序的前提下,从中随机的取出一定数量的整数,并使这些整数构成单调上升序列。 输出这类单调上升序列的最大长度。数据范围:1<=n<=100000n平方的处理方式维护这样一个数组,dp[i]=x,表示已a[i]为结尾的最长上升子序列的长度。当我们已知上升序列的最后一个元素a[i]时,若想知道以它结尾的最长上升序列长度,只需遍历...

2020-04-05 15:17:04 203

原创 质数筛-埃氏筛

质数判断我们来看这么一道问题:给定一个范围N,你需要处理M个某数字是否为质数的询问(每个数字均在范围1-N内)N<=10000000,M<=100000首先很容易联想到使用枚举法来确定题目的整体框架for( i: 1~m){ cin>>x; if(x是质数) { yes; }else { ...

2020-01-18 14:34:18 3554 1

原创 排序算法学习之快速排序的思路与实现

核心思想先选取一个数字作为基准数,然后进行分类操作,将比基准数小的放到基准数的前两,比基准数大的放到基础数的后面。划分问题:将数组的各个元素重排后分成左右两个部分,使得左边的任意元素都小于或等于右边的任意元素。是按照值进行划分。递归求解:把左右两部分分别排序在快速排序中,算法的主要工作在于划分阶段,而不需要再去合并子问题的解了。它和归并的区别在于,归并需要将两个部分和明后,才能保证...

2019-09-05 13:15:09 118

原创 排序算法学习之归并排序的思路与实现

归并排序归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法的一个非常典型的应用。时间复杂度是O(nlogn)核心思想将一段序列分解知道不能再分解的时候,然后开始逐层合并,并在合并的时候保证他们有序,这样就能保证每次合并后的内容有序,知道合并完成保证了所有的部分全部有序。分治三步法:划分问题:把序列分成元素个数尽量相等的两半递归求解:把两半元素分别排序合并问题:把两个...

2019-09-04 23:55:55 261

原创 高精度计算(一)大数加减法

概述​ 当计算的数值非常大或是对于计算的精度要求非常搞事,用已知的数据类型无法精确地表示数值。可以采用数组来模拟大数运算的过程。高精度加法两个大数进行相加计算时,要解决三个问题如何存储如何计算如何输出答案先解决第一个问题,数据地存储,由于数据过于庞大,已知的数据类型无法精确地表示数值,会发生数据溢出问题。此时可考虑将数据拆分,将大数分割成若干个0~9数字组成的整体。这样的结构能让...

2019-09-03 16:48:16 626

原创 欧几里得算法与拓展欧几里得

欧几里得算(辗转相除法)算法描述设 a>=ba÷b=k⋅⋅⋅⋅⋅⋅ra \div b = k ······ r a÷b=k⋅⋅⋅⋅⋅⋅ra和b的最大公约数等于b和r的最大公约数。gcd(a,b)=gcd(b,a%b),当b为0时,a为(a,b)最大公约数C++实现//递归方式int gcd(int a,int b){ if(b==0) return a;...

2019-09-03 10:41:01 128

原创 升级DevC++的编译器

前言DevC++是采用MinGW来作为C/C++的编译器的,但是由于多年未更新,版本老旧。当然,我们可以继续使用它来进行相关内容学习,如果想对编译器进行更新可以自己下载最新版本的MinGW进行替换。安装MinGWMinGW可使用MinGW Installation Manager进行安装,但是由于资源在境外下载速度比较慢,且在安装后发现版本是在三年前的,虽然比DevC++的新一些。所以推荐采...

2019-07-14 12:52:43 7963 2

翻译 The Beginner's Guide To Grammar2018翻译

The Beginner’s Guide To Grammar2018翻译。每天翻译一点儿,学习加锻炼英文水平。 语法初学者指南-01序言Hello there! If you ever feel dread when you hear the word grammar, I understand. I used to feel the same way. For years, ...

2018-04-15 21:26:32 476

1143_最长最短单词.cpp

《信息学奥赛一本通》字符串篇——1143_最长最短单词源码。

2020-05-27

boost-note-win.exe

专注于程序员开发的开源笔记本。建于Electron,可离线执行。建立于Electron 笔记可以以Markdown或是代码片段式导入。 语法突出显示 搜索功能 笔记可以在文件夹中分组 Hot Key的支持 Dark和Light的UI主题 很多的编辑主题 在跨平台上(Linux…iOS)可利用 没有云同步

2020-04-29

空空如也

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

TA关注的人

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