自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 高精度加减乘除

在c/c++中常用数据类型有int,long long。我们知道,在32位系统中int占用4个子节,范围为[long long占用8个子节,范围为[] ,当超过这两个数据范围就不能满足要求,例如数量级就不能满足要求,这一类型数据就是高精度。对于高精度数,也要像平常数一样进行加减乘除以及乘方运算,于是就有了。

2023-02-09 19:27:33 225

原创 前缀和

前缀和是一个数组的某项下标之前(包括此项元素)的所有数组元素的和。分为一维和二维,一维前缀和可以很快速的求序列中某一段的和。而二维前缀和可以快速求一个矩阵中某个子矩阵的和。作用:快速求出元素组中某段区间的和下面我们先深入了解前缀和前缀和其实我们很早之前就了解过的,高中我们求数列的和时,Sn = a1+a2+a3+...an;此时Sn就是数列的前 n 项和。例 如S5 = a1 + a2 + a3 + a4 + a5;

2023-01-20 17:28:04 1738

原创 日期问题

代码首先对月份进行判断,如果月份没有错接着判断是否为闰年,如果是闰年的二月,则判断是否在29天外,如果不是闰年的二月,则判断是否在28天外如果是四、六、九、十一月,则判断是否在30天外,如果不是上面的月份,则是除去二月的月份,判断是否在31天外。当小Q使出浑身解数,终于赢得HR女神芳心的时候,却出现了一个意外情况,那就是白富美HR的妈妈并不同意他们交往,当听说小Q只是一个码农,特别是听说小Q曾经参加过资本主义国家发起的SM/ICPC比赛的时候,更是坚决反对!算不上“千年一遇”,顶多算“千年两遇”。

2023-01-20 12:29:38 729

原创 筛法

筛选法又称筛法,具体做法是:先把N个自然数按次序排列起来。1不是质数,也不是合数,要划去。第二个数2是质数留下来,而把2后面所有能被2整除的数都划去。2后面第一个没划去的数是3,把3留下,再把3后面所有能被3整除的数都划去。3后面第一个没划去的数是5,把5留下,再把5后面所有能被5整除的数都划去。这样一直做下去,就会把不超过N的全部合数都筛掉,留下的就是不超过N的全部质数。//首先先说一下最朴素的判断素数的方法i

2023-01-19 22:06:17 248

原创 Magic Powder - 1,2

bi为现有每种材料的总数,魔法材料可以代替任何一种材料,问最大能做多少。做一块饼干需要n种材料,k个魔法材料,ai为每种材料的克数。

2023-01-11 19:56:58 101

原创 Encoding

【代码】Encoding。

2023-01-11 18:48:50 75

原创 Can you solve this equation?

可知这是一个单调递增的函数,给了y,求x,求解这道题类似于求零点,因为单调递增,符合二分法条件,x=0时y为最小值,当x=100时y为最大值,由此就可以得知当y在这个内就有解,否则没有解,有解就与中间值相比,逐渐缩小范围,从而求解。8*x^4 + 7*x^3 + 2*x^2 + 3*x + 6 == Y在(0,100)上有没有解。

2023-01-11 18:36:19 121

原创 不容易系列之(3)―― LELE的RPG难题

n-1个格子一共有f(n-1)种填涂方法,而n-1个格子扩充到n个格子共有f(n-1)种方法,如果前n-1个不符合题意,而添加一个后符合题意,就是前n-2个符合题意,而第n-1个与第一个相同,就有两种填法。即若前三格是f(3)涂法,那么第四个就被确定了,相当于加上f(n-1),如果前三格不考虑首尾,那么还有一种涂法,相应第四格就有两种涂法,相当于2*f(n-2)在已涂好的n-1个格子里最后再插一个格子,就得到n个格子,因为已填好的n-1的格子中,每两个格子颜色都不同,所以只能插入一种颜色;

2023-01-11 18:23:47 97

原创 排序(sort自定义)

sort函数用于C++中,对给定区间所有元素进行排序,默认为升序,也可进行降序排序;sort函数进行排序的时间复杂度为n*log2n,比冒泡之类的排序算法效率要高;sort函数包含在头文件为#include的c++标准库中。语法参数(1)start表示要排序数组的起始地址;(2)end表示数组结束地址的下一位;(3)cmp用于规定排序的方法,可不填,默认升序。功能sort函数用于C++中,对给定区间所有元素进行排序,默认为升序,也可进行降序排序。

2023-01-11 15:46:02 5018 1

原创 排序算法——快速排序

对于左侧的数组数据,又可以取一个分界值,将该部分数据分成左右两部分,同样在左边放置较小值,右边放置较大值。当左、右两个部分各数据排序完成后,整个数组的排序也就完成了。(2)将大于或等于分界值的数据集中到数组右边,小于分界值的数据集中到数组的左边。此时,左边部分中各元素都小于分界值,而右边部分中各元素都大于或等于分界值。每次排序的时候 设置一个基准点,将小于等于基准点的数全部放到基准点的左边,将大于等于基准点的数全 部放到基准点的右边。(1)首先设定一个分界值,通过该分界值将数组分成左右两部分。

2023-01-11 15:22:33 182 1

原创 二分查找总结

t指向第一次大于目标元素的下标,只需要将if判断语句换成大于,结束循环再加一个特判。

2023-01-11 14:47:35 195 1

原创 Let the Ballon Rise

首先要读懂题,题目要求是输入包含多个应用实例,输入包含多个测试用例。每个测试用例以一个数字N(0

2023-01-04 20:54:42 112

原创 放苹果问题

小蒜想知道把 MM 个同样的苹果放在 NN 个同样的盘子里,允许有的盘子空着不放,共有多少种不同的分法?(用 KK 表示)55,11,11 和 11,55,11 是同一种分法。以下每行均包含两个整数 MM 和 NN,以空格分开。第一行是测试数据的数目 t(0 \le t \le 20)t(0≤t≤20)。对输入的每组数据 MM 和 NN,用一行输出相应的 KK。

2023-01-04 20:28:02 440

原创 全排列问题

给定一个由不同的小写字母组成的字符串,输出这个字符串的所有全排列。我们假设对于小写字母有 'a' < 'b' < ... < 'y' < 'z',而且给定的字符串中的字母已经按照从小到大的顺序排列。已知 S=s1​s2​...sk​,T=t1​t2​...tk​,则S

2023-01-04 20:06:16 1017

原创 蛇形方阵问题

解题思路 :1.定义二维数组a存储数字,将a的初始值全部赋为0,memset(a,0,sizeof(a)),x为 行, y为列,初值都为1 2.定义k存储1~n^2的数,初值设为1; 3.判断数字方向从左到右:纵坐标不超过n,当前位置a为0,将k赋值给a,对应纵坐标加1,k值加1,循环结束对应横坐标加1,纵坐标减1从上到下:横坐标不超过n,当前位置a为0,将k赋值给a,对应横坐标

2023-01-04 19:40:13 462

原创 校门外的树

已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(包括区域端点处的两棵树)移走。某校大门外长度为 l 的马路上有一排树,每两棵相邻的树之间的间隔都是 1米。我们可以把马路看成一个数轴,马路的一端在数轴 0的位置,另一端在 l的位置;数轴上的每个整数点,即 0,1,2,…接下来 m行,每行两个整数 u,v,表示一个区域的起始点和终止点的坐标。输出一行一个整数,表示将这些树都移走后,马路上剩余的树木数量。第一行有两个整数,分别表示马路的长度 l和区域的数目 m。

2023-01-04 17:28:49 184

原创 忽略大小写的字符串比较

可比较两个字符串的大小,比较方法为对两个字符串从前往后逐个字符相比较(按 ASCII 码值大小比较),直到出现不同的字符或遇到。如果出现不相同的字符,则以第一个不相同的字符的比较结果为准(注意:如果某个字符串遇到。输入为两行,每行一个字符串,共两个字符串。请写一个程序,实现对两个字符串进行忽略字母大小写的大小比较。但在有些时候,我们比较字符串的大小时,希望忽略字母的大小,例如。如果第一个字符串比第二个字符串小,输出一个字符。如果第一个字符串比第二个字符串大,输出一个字符。如果两个字符串相等,输出一个字符。

2023-01-04 17:07:10 1289

原创 石头剪刀布

简单明了的规则,使得石头剪子布没有任何规则漏洞可钻,单次玩法比拼运气,多回合玩法比拼心理博弈,使得石头剪子布这个古老的游戏同时用于 "意外" 与 "技术" 两种特性,深受世界人民喜爱。接下来 N 行的每一行包括两个字符串,表示游戏参与者 Player1,Player2 的选择(石头、剪子或者是布):S1 S2。字符串之间以空格隔开S1,S2 只可能取值在{"Rock", "Scissors","Paper"}(大小写敏感)中。游戏规则:石头打剪刀,布包石头,剪刀剪布。,或者游戏出现平局,则输出。

2023-01-04 16:57:24 387

原创 最长最短单词

输入 11 行句子(不多于 200200 个单词,每个单词长度不超过 100100),只包含字母和空格。i++)这里如果换成小于n,会报错,原因是字符串没有被访问完全而再次访问,就是没有访问到'\0'。注:fgets在读取的时候会把末尾的换行读进去,读出来的字符串会比原来的字符串多1,求长度时需要减1,在做有些题时需要试一下是否需要减1;如果所有单词长度相同,那么第一个单词既是最长单词也是最短单词。试输出第 11 个最长的单词和第 11 个最短单词。第 11 行,第一个最长的单词。

2023-01-03 20:53:39 1065 2

原创 过滤多余空格

*string是表示字符串的字符串类,不能操作多字节或者变长字符的序列。在使用string类时,必须包含#include头文件以及using namespace std;一行,一个字符串(长度不超过 200200),句子的头和尾都没有空格。一个句子中也许有多个连续空格,过滤掉多余的空格,只留下一个空格。**cin遇到回车与空格结束读取。

2023-01-03 18:35:36 1551

原创 国王的魔镜

国王有一个魔镜,可以把任何接触镜面的东西变成原来的两倍——只是,因为是镜子嘛,增加的那部分是反的。比如一条项链,我们用AB来表示,不同的字母表示不同颜色的珍珠。如果再用一端接触的话,则会变成ABBAABBA(假定国王只用项链的某一端接触魔镜)。给定最终的项链,请编写程序输出国王没使用魔镜之前,最初的项链可能的最小长度。只有一个字符串,由大写英文字母组成(字母数

2023-01-03 17:58:15 245

原创 上学迟到问题

学校要求必须在上午 8:00 到达,请计算在不迟到的前提下,yyy 最晚能什么时候出门。学校和 yyy 的家之间的距离为 s米,而 yyy 以 v米每分钟的速度匀速走向学校。输出格式为HH:MM,分别代表该时间的时和分。必须输出两位,不足前面补 00。由于路途遥远,yyy 可能不得不提前一点出发,但是提前的时间不会超过一天。在上学的路上,yyy 还要额外花费 10分钟的时间进行垃圾分类。输出一个 24小时制下的时间,代表 yyy 最晚的出发时间。对于 100\%100% 的数据,1

2023-01-03 16:45:17 1143 1

空空如也

空空如也

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

TA关注的人

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