自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 用vector容器解 洛谷P1059:明明的随机数

unique函数的工作原理是“保留第一个出现的元素,覆盖后续与之重复的元素”,但不会真正删除元素,而是通过不断地将后面不重复的元素覆盖前面重复的元素,确保动态数组的前面几个元素连续不重复,后面会遗留一些未知值(这里的“未知”不是说计算机随机生成,而是说根据unique函数工作原理,会残留这些重复的数字),因此为了达到“去重”的目的,我们需要删除这些未知值。我们用迭代器last指向unique函数返回的“最后一个不重复元素的下一个位置”的坐标,再借助erase将这一部分删除掉就达到了“去重”的目的。

2025-09-03 14:38:19 381

原创 什么表达式可以作为while循环的循环条件?

obj是Myclass类的对象,因为Myclass中有重载的布尔转换运算符(operator bool()),所以当执行 while (obj) 时(即obj作为while循环的循环条件时),编译器会自动调用 obj.operator bool() 这个成员函数。当表达式的值为false(0)时,循环结束。另外,由于while循环的条件表达式会被求值,进行循环是否会结束的条件判断,并且每次循环都会重新求值,所以要确保条件表达式的值能够随着循环的进行而改变,否则可能会导致死循环。

2025-08-27 11:04:10 1229 1

原创 洛谷P1996 约瑟夫问题 题解(C++)

题目描述题目描述n 个人围成一圈,从第一个人开始报数,数到 m 的人出列,再由下一个人重新从 1 开始报数,数到 m 的人再出圈,依次类推,直到所有的人都出圈,请输出依次出圈人的编号。输入两个整数n,m。输出格式输出一行 n 个整数,按顺序输出每个出圈人的编号。输入输出样例输入#110 3输出#1说明/提示1≤m,n≤100题解本题目我们需要通过代码来模拟以下过程:编号1~n的人围成一个圈,自编号为1的人开始从1报数,报到m就出列。

2025-08-23 10:00:20 578

原创 洛谷P2084 进制转换 题解(C++)

今天小明学会了进制转换,比如,那么它的十进制表示的式子就是 :那么请你编程实现,将一个 M 进制的数 N 转换成十进制表示的式子。注意:当系数为 0 时,该单项式要省略。

2025-08-22 21:04:15 890

原创 洛谷P1304 哥德巴赫猜想 题解(C++)

这段摘要描述了如何验证哥德巴赫猜想(4到N的所有偶数可表示为两个质数之和)的程序实现。文章给出了C++代码示例,重点介绍了优化的素数判断方法:通过检查2到√n范围内的因数代替暴力检查所有数,将时间复杂度从O(n)降为O(√n)。同时解释了素数的数学定义和这种优化的数学依据,说明学习数论知识对算法优化的重要性。程序会输出每个偶数的最小质数组合形式(如10=3+7而非5+5)。

2025-08-21 10:20:13 389 2

空空如也

空空如也

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

TA关注的人

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