自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2023第十四届蓝桥杯省赛C/C++大学A组题解

每道题的详细题解已经单发,在此进行汇总。点击链接可以查看详细题解。满分代码(填空题为不超时代码)满分代码(填空题为不超时代码)

2024-04-09 21:40:22 907

原创 2023第14届蓝桥杯大赛软件赛省赛C/C++大学A组第10题题解:翻转硬币

那么在计算0的个数的时候,如果i的质因数有奇数个就加上n/(i^2),否则减去n/(i^2),质因数的个数可以通过u(i)的正负判断。那么怎么求u(i)以及u(i)的和呢?乍一看g(i)好像就等于f(i),其实与f(i)相等的是i的所有不等于i的因数j的f(j)的和,再加上f(i)才等于g(i)。就是遍历到l时,从l到r的n/(i^2)的值都是一样的,这个范围的右界r=sqrt(n/(n/(i^2))),那么就只需要计算u(i)从l到r的前缀和差值乘以这个相同的n/(i^2),并将l指向r+1即可。

2024-04-06 02:10:32 1359 4

原创 2023第14届蓝桥杯大赛软件赛省赛C/C++大学A组第9题题解:像素放置

那么对于每一个数字方格,当我填充完它的右下角方格也就是最后一个方格时,它的周围已经确定,之后的填充不会影响到他,这时判断它的数字是否被减到0,如果大于0,说明它周围的黑色少于它的数字,不成立需要回退。为了判断这两个条件,我找出了每个方格,其影响到的所有数字方格,当这个方格被涂成黑色时,就将其影响到的所有数字方格的数字都减一,如果有一个数字被减到小于0,说明这种情况不成立需要回退。对于一个方格,先假设它涂白色(数值为0),并继续向后枚举,如果这种情况不成立,则将它涂成黑色(数值为1)继续枚举。

2024-04-02 23:45:28 906 1

原创 2023第14届蓝桥杯大赛软件赛省赛C/C++大学A组第8题题解:异或和之和

也就是说,对于所有异或和的第k位乘以2^k的总和,等于所有第k位为1的异或和的个数乘以2^k。所有的异或和都是通过sum[l-1]异或sum[r]得到的,第k位为1的异或和的总数,就等于所有l和r中,sum[l-1]和sum[r]的第k位只有一个1的总对数。因为在这个式子中,前l-1项被异或了两次,而x^x=0,x^0=x,所以前l-1项均被异或两次后全都等于0,0对其他数字的异或不产生影响,sum[r]^sum[l-1]也就等于其中只异或了一次的l到r的异或和。对于 60% 的评测用例,

2024-03-30 23:40:41 628 1

原创 2023第14届蓝桥杯大赛软件赛省赛C/C++大学A组第7题题解:网络稳定性

本题难点有两个,一是判断出两点间的稳定性其实就是最大生成树中两点间的唯一通路,二是lca算法的书写,并且结合本题对稳定性的求法,在比赛的时候是看不到自己交的代码得了多少分的,如此复杂的代码也不好检查因此不好得分。为了做出本题我学习了一晚上lca的各种求法,不知不觉本文已经写了6200+字了,希望能够对你有帮助!

2024-03-29 17:00:28 1068 1

原创 2023第14届蓝桥杯大赛软件赛省赛C/C++大学A组第6题题解:买瓜

我在写这个题的时候将数组下标从1开始存,排序的时候sort第二个参数应该加n+1,因为这里写错了导致卡了很久,去读了官方这题的题解感觉很奇怪,将瓜分成两部分分别dfs,后一部分dfs时再二分搜索前一部分存的对应重量的刀数相加。可以使用dfs模拟这个从前往后选择的过程,dfs(id,sum,cut)中的三个参数分别表示当前选择的是第几个瓜,之前一共拿了多少重量的瓜,之前一共劈了多少刀。小蓝希望买到的瓜的重量的和恰好为。对于100%的评测用例,1≤n≤30,1≤Ai≤10^9,1 ≤m≤ 10^9。

2024-03-27 18:23:27 1133 1

原创 2023第14届蓝桥杯大赛软件赛省赛C/C++大学A组第4题题解:更小的数

对于从i到j的子串,如果第i位和第j位的数字不同的话可以直接判断出反转后的大小关系。如果这两位的数字相等,则该子串反转之后大小关系与i+1位到j-1位的子串相同。循环的顺序也很重要,本程序相当于依次判断前i位中所有子串的反转后大小关系,循环到第i位时前方i-1位所有子串的反转关系都已确定。本题最开始我使用string中的substr函数取子串,结果超时只过55%,说明substr函数还是影响效率的。注意,我们允许前导零的存在,即数字的最高位可以是 0 ,这是合法的。对于 40% 的评测用例,1。

2024-03-14 22:48:31 501

原创 2023第14届蓝桥杯大赛软件赛省赛C/C++大学A组第3题题解:平方数

当a,b均为奇数时,(a+b)*(a-b)为偶数*偶数也就是4的倍数;当a,b均为偶数时,(a+b)*(a-b)为偶数*偶数也就是4的倍数;已知平方差公式c=a^2-b^2=(a+b)*(a-b),令a-b=1,则a+b=2*b+1,c=2*b-2,即奇数的通用表达形式,说明任意一个奇数都可以表示为平方差的形式。对于整数x,1到x中有x/2个奇数,x/4个4的倍数,共有x/2+x/4个能表示为平方差形式的数。令a-b=2,c=2*(2b+2)=4(b+1),说明任意一个4的倍数都可以表示为平方差的形式。

2024-03-13 21:09:21 515

原创 2023第14届蓝桥杯大赛软件赛省赛C/C++大学A组第2题题解:有奖问答

小蓝正在参与一个现场问答的节目。活动中一共有 30 道题目,每题只有答对和答错两种情况,每答对一题得 10 分,答错一题分数归零。小蓝可以在任意时刻结束答题并获得目前分数对应的奖项,之后不能再答任何题目。最高奖项需要 100 分,所以到达 100 分时小蓝会直接停止答题。已知小蓝最终实际获得了 70 分对应的奖项,请问小蓝所有可能的答题情况有多少种?填空题,输出答案即可。答案为8335366。

2024-03-13 00:24:28 932

原创 2023第14届蓝桥杯大赛软件赛省赛C/C++大学A组第1题题解:幸运数

从1遍历到9999,计算其数位与数位和,用二维数组a[sum][cnt]存储位数为cnt的数字且和为sum的数字的总数。根据乘法原理,对于一个数位和为2*sum的数,前一半数字有a[sum][cnt]种方案数,乘以后一半的方案数就是位数为2*cnt的总方案数。小蓝认为如果一个数含有偶数个数位,并且前面一半的数位之和等于后面 一半的数位之和,则这个数是他的幸运数字。根据幸运数的定义,前后一半的数位和是相同的,可以只枚举一半的数,并记录对应和的方案总数,最后将不同和的方案数相乘累计即可。填空题,输出答案即可。

2024-03-11 23:21:29 678

空空如也

空空如也

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

TA关注的人

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