自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 “湖南工学院2024寒假第一次训练赛” 题解

赛时看大家做题情况,发现大家存在的比较明显的一个问题就是没有充分思考正确性,过于依赖样例,而绝大多数比赛的样例实质上不会给出明显提示,更多的是需要自己捏造一些有用的样例去对自己的程序纠错。其中在AAA题中绝大部分同学只考虑了样例的情况,而并未思考过其他情况,例如n998n=998n998,其最大的字典序并非999999,而是998998998,另外有一部分同学直接用intintint或者longlonglong longlonglong去存储n。

2024-01-19 17:30:37 1026

原创 2022年湖南工学院第九届大学生计算机程序设计竞赛题解

s

2022-09-18 18:17:54 494 1

原创 2022年湖南工学院ACM集训第八次周测题解

,

2022-08-12 17:17:00 417

原创 2022年湖南工学院ACM集训第六次周测题解

2022-07-31 17:00:00 292

原创 2022年湖南工学院ACM集训第五次周测AD题题解

d

2022-07-24 17:00:22 321

原创 2022年湖南工学院ACM集训第四次周测题解

.

2022-07-16 01:44:39 413

原创 2022年湖南工学院ACM集训第二次周测题解

a

2022-07-02 17:05:58 242

原创 湖南工学院2021级ACM正式队员第五次周测题解

A题语文B题数学来源:第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(上海站)G题 Fibonacci考察:思维难度:橙题我们可以通过观察斐波那契数列的规律可知,一定会遵循 奇 奇 偶 奇 奇 偶 奇 奇 偶 奇 奇 偶....的规律。而我们知道 奇数 * 奇数 = 奇数,奇数 * 偶数 = 偶数,偶数 * 偶数 = 偶数,因此我们实际上答案就跟斐波那契数列中偶数出现个数有关。因此我们需要先算出范围 n 内一共有多少个偶数,对于每个偶数它可以创造出 n - 1 的价值,于是

2022-05-27 22:00:00 206 1

原创 湖南工学院2021级ACM正式队员第四次周测题解

题薯条派对因为奇数坐标要想移动到偶数坐标上需要花费 1 原石(无论怎样都需要花费一原石),因为 2 个 2步移动都是免费的,最后总是要剩下一个。偶数坐标移动到奇数坐标上也是如此。可以先统计奇数个数,最后比较奇数个和偶数个大小即可。#include<bits/stdc++.h>#define ll long long#define endl '\n'using namespace std;const ll mod = 998244353;int main() { int n.

2022-05-15 22:01:55 383

原创 湖南工学院2021级ACM正式队员第二次周测题解

问题A 事不过三给定长度为 n 的数组 ai 询问数组是否存在某一数字出现的次数大于等于 3,由于数字很小 ai < 2e5 所以我们用 vis 数组标记次数即可 下标即代表值。若不存在 ai 的大小限制 我们可以使用map记录效果相同。#include<string>#include<iostream>#include<algorithm>using namespace std;#define ll long longconst int N =

2022-05-01 17:52:38 316

原创 2021级ACM第二学期第五次热身赛 ---B题最大公约数

题目大意从1-n中找出最大的gcd值。题目思路对于最大公约数而言,当某一个数比较小,另一个数比较大时,那我们可能可以得到较大的gcd。因为题目给出的是n的排列。那么我们b的值要么选n要么选n-1,当n为偶数的时候,那我们选n,否则选n-1,对于a的值我们选2,那么都是偶数的情况下得到的gcd值必然最大。除了对于n为2或3的时候,我们a为1,b为2。参考代码#include<bits/stdc++.h>#define endl '\n'typedef long lon..

2022-03-26 16:21:25 113

原创 2021级ACM第二学期第五次热身赛 ---A题一道简单的题

题目大意给定一个数,在恰好修改某一位的情况下使修改后的数字成为某个数的平方。问有多少种修改方式。题目思路每一位有至多9种修改方式,n的最多只有4位。因此我们只需要在最外层枚举每一位,第二层枚举0-9的数字,共枚举十次,对于首位要进行特判,如果是首位且第二层修改后的数字是0,则不修改;或者n该位原本的数字与第二层修改后的数字一致,也不进行修改。最后当第二层的数字符合修改条件后,进入第三层循环枚举位数,将新数字组装起来,判断他开根号是否为正整数,若为正整数则符合要求,否则不符合。由于数据量比..

2022-03-24 20:06:48 163

原创 2021级ACM第二学期第四次热身赛 ---C题不同的数

题目大意给一个数组,计算出数组中一共有多少个不同的数。题目解法我们常规的使用数组去判别的话对于 a_i 他最大为 10^18,用数组的话会爆内存。因此我们可以使用数据结构中的 map 去存。由于数据量比较大,本题开到了 2.5 s,实测标程用 cin 输入也没超时。参考代码#include<bits/stdc++.h>#define endl '\n'typedef long long ll;typedef unsigned long long ull;cons..

2022-03-17 21:04:09 130

原创 2021级ACM第二学期第四次热身赛 ---A题数位

题意如上所示。我们建立 dp[ i ] [ j ] 数组,i 表示位数,j 表示当前位放置的数字。我们以 S = 2 为例,若第二位为 3,则可以得出 dp[ 2 ] [ 3 ] = dp[ 1 ] [ 2 ] +dp[ 1 ] [ 3 ] +dp[ 1 ] [ 4 ] ,因此我们以这个结论去依次遍历每一位即可。但是要注意对于 1 而言,他只能从上一位的 1 和 2继承,因为 ki 不能等于 0;而对于 9 而言,他只能从上一位的 8 和 9继承,因为 ki 不能为 10。接着,我们初始...

2022-03-15 13:00:06 191

原创 2021级ACM第二学期第三次热身赛-----E题

题面如上。本题考查的是并查集的知识,没学的先去学一下并查集。很明显,对于某些人互为朋友关系的,他们的吃瓜量均为他们之中目标吃瓜的最大值。其余没有朋友关系的均为其目标值,这样就可以让所有人开心。注意当n == 10 ^ 6,吃瓜量均为 10 ^ 9 时,答案为 10 ^ 15,会爆 int,所以要开 long long代码如下。#include<bits/stdc++.h>#define endl '\n'typedef long long ll;typedef u..

2022-03-13 20:51:07 228

原创 湖南工学院ACM2021级期末测试---L题《斗兽棋》

题面如上。这就是个简单的模拟题,一共就16种情况,对于两种动物之间如果没有直接关系,那么就是平局,否则的话判断一下关系就可以了。#include<bits/stdc++.h>using namespace std;int main() { int t; cin >> t; while (t--) { string a, b; cin >> a >> b; if (a == "elephant") { if (b == ..

2021-12-13 17:41:29 961

原创 湖南工学院ACM2021级期末测试---H题《简单的题》

题面如上。对于第 l 小到第 r 小实际上就是从小到大的区间。那先对数组进行从小到大的排序,排完之后因为要对每个区间进行求和,如果暴力的求那个区间的和的话会超时,实际上可以用到前缀和的知识,然后就输出前缀和的答案即可。不会前缀和的可以去csdn学一下。#include<bits/stdc++.h>typedef long long ll;using namespace std;int a[101010];ll pre[101010];int main() { ...

2021-12-13 17:38:17 1099

原创 湖南工学院ACM2021级期末测试---B题《简单的思维题》

题面如上。求该数组需要加入多少个数可以使整个数组的平均值恰好为1。首先,很明显只有三种情况。1.已经满足平均值为1。2.平均值大于1。3.平均值小于1。对于情况1来说,我们无需添加任何数都可以满足条件,因此为0。对于情况2来说,假如数组总和为5,一共有3个元素,其平均值明显不为1,这个时候我们需要加入一些数字进去,很显然如果我们加入比0大的数字的话会使得总和继续变大,总和一旦变大那么所需要的元素数也会增大,因此我们每次加入数字只加入数字0,那么就可以固定总和,来增加元素数,...

2021-12-13 17:30:30 638

原创 第六次热身赛---坤坤的考试(hard version)

题面如图所示。该题与第五次周测的easy version大同小异,前者是进行字符串对比,直接得出答案,后者也就是本题是限制修改答案次数,求出修改后最大的分值。对于相同答案的题目,我们可以直接把他的分值加上;对于不同答案的题目,我们用一个数组存下他的分值,在遍历完所有题目后,我们对他进行个排序,然后选出m个大分值的题加上去。注意:开long long!!!代码如下。#include<bits/stdc++.h> typedef long long ll;const ...

2021-11-28 22:15:00 365

原创 第六次热身赛---坤坤的操作数

题意如上。我们分四种情况讨论。1.c = d,且不为0,则我们进行一次操作1就可以直接做到,需要一次操作。2.c = d,且为0,则无需操作。3.c + d 为偶数,则说明c和d要么都是偶数或者奇数,对于全是奇数或者全是偶数,c和d的差值一定是2*n,假设一个数c=4,d=6,目标达到(5,5),差值为2*1,这样的话,我们可以让c减去1,d加上1达到(5,5),若c=4,d=5,那么无论如何都达不到(5,5)。对于奇数同理,假设一个数c=3,d=5,目标达到(4,4),我们可以让c减...

2021-11-28 22:15:00 282

原创 第五次热身赛---坤坤的考试(easy version)

题面如图所示。本题考察对字符串,long long类型的应用。对于每个字符如果 kk 跟正确答案一致,则获取分值,否则不获取。因此可以计算出总分数。但是有一点要注意,n 最大为 ,而每个题的分值最大为 ,因此总分可能会出现最大为 的情况,而 int 类型最大范围为 2147483647,显然 int 存不下这么大的数,因此需要开 long long!!!代码如下。#include<bits/stdc++.h> // 万能头文件,不用管using namespace s..

2021-11-21 22:15:00 954

原创 第五次热身赛---坤坤的种田之旅

题目题面如上。题目意思就是让你算出最大的半圆面积,然后用半圆面积去除以蓝莓树面积,求得蓝莓树数量。首先,半径 可以用 求出,由于是半圆,因此,求出半径后,利用公式可求出半圆面积,最后再除以 即可。注意:的精确度尽可能的大一些,不然会爆精度。#include<bits/stdc++.h> //万能头文件,无需理会using namespace std; // C++相关int main() { int n; double m; double p = 3.14159..

2021-11-21 22:15:00 96

原创 kk的活动-题解

题面如图所示,要求从每个 n 中找出 [1, n] 中最大的 x 和 y,并且满足互质,也就是彼此最大公因数为1。众所周知,一个奇数跟一个偶数,一定是互质的。比如 1 和 2,1 和 3,2 和 5等等....那么对于 [1, n] 中最大的那两个能构成互质的数就很容易想到是 n 和 n - 1,因为他两彼此为奇偶数,一定互质,且是 [1, n] 里最大的两个数。记得要开 long long 因为 n 的范围到了 1e18。然后对于每一次算完 x + y 后,就要取余,否则会超范围。题外话:原本以为..

2021-10-31 21:44:31 307 2

原创 kk的签到题(数据加强版) ---题解

题意如上,数据加强版对n的最大值进行了加大,从原来的1000加到了1000000,如果还是用暴力求解的方法的话,那么一共最高500次查询,每次都暴力求解的话,时间复杂度达到了500 * 1e6,也就是5e8,对于计算机计算而言,一般来说计算量达到1e8就大概率会超时(1s时限下)。所以此题我们无法再使用暴力求解。我们可以想一想,对于每个n是有固定的值的,也就是说,第一个喜欢的数永远是1,第二个永远是2,第三个永远是4,第1000个永远是1666,也就是说,无论如何,值不会改变。按照我们之前暴...

2021-10-01 13:55:25 205

原创 kk的签到题---题解

题意如上,n代表kk喜欢的数中的第n个数,该题由于数据范围不大,仅为1000,因此我们可以使用暴力求解。也就是对于每一次查询,都从1开始进行for循环,对于每个数判断它是否能够整除3或者最后一位是否为3,如果满足任意一个条件,都说明该数不为喜欢的数,直到找到第n个为止。其实类比推理可发现第10个喜欢的数是16,第100个数是166,第1000个是1666,也就是说其实循环到1666也就可以结束了,因为第1000个为1666。因此可以用暴力求解,代码如下。ps:但还是推荐使用打表求解,打表求解方法请跳..

2021-10-01 13:36:10 249

空空如也

空空如也

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

TA关注的人

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