自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 暑期训练第二周专项练习:搜索与搜索剪枝

大炮爆炸是一个连锁反应,实际上在一个大炮被击毁的时候,周围3x3的网格内的如果有大炮,也会被击毁,在引起一个3x3的网格内产生的大炮爆炸,依次类推。所以是一连通块的问题,实际上就是每次都用齐齐的大炮数量最小的连通块去炸司机大炮数量最大的连通块,以此类推,所以可知只要齐齐的连通块数量小于司机的时候,那么此时齐齐就做不到将司机的大炮全部炸毁,就会输出-1;反之,是需要让齐齐的连通块进行排序,然后只要比司机多的那一部分的连通块内的大炮数量即可。我用是的dfs去写,问过队友后发现实际上也可以使用bfs去写。

2024-08-08 14:36:38 302

原创 河南萌新联赛2024第(四)场:河南理工大学

在比赛的时候就想出了解决办法,只不过跟题解想的方法不同,也是先将数组排序,只不过我不是通过异或之后再求同或,我是将相邻的两个数字转会为二进制01字符串,而后按照题目中给的方式求出上述两个字符串同或后的字符串,再将同或后的字符串转化为数字,比较数字的大小。题解的思路:事先将30以内的数字求出来,将他们存入一个数组sum中,然后将题目中的数组读入并排序,然后求出相邻两个数的以后和最小值kk(异或和最小,不同数位的和最小,相同数位的和越大)。实际上这道题将两个点相邻的每一个点有多少个连接点,然后两者相乘。

2024-08-08 14:36:24 366

原创 河南萌新联赛2024第(三)场:河南大学

这场打的巨烂,前三道题写的都挺快的,但是第四题看到大家都写出了L题,所以就开始去写L题了,但是由于map开错了,后来反复给也没有改对,心情就有些急躁,想着换一个写法去写,但是新的写法有很大的漏洞,所以不断超时或者报错。写F题的时候,脑子没转过来,将一个简单的规律绕了特别大的一个圈子写出来的(八个if条件进行判断)反复出错,后来就给自己的心态写崩了,后边的题看都没看。

2024-08-04 13:07:14 329

原创 2024 暑假友谊赛 3补题情况

实际上,使用dfs去找,先将第一个元素放入队列,dfs的时候先去判断队列的前端,如果数组中存在元素是当前元素的一半并且该元素没有别标记过,那就将该元素存到队列的前端,然后去dfs该元素;比赛的时候交了一次wa了,然后就想到了如果第一个字符串中的最小值都比第二个大的时候,就不能按照直接排的顺序,相反要倒着排,但是当时就没有想到可以开两个字符串去写,相反一直想的是开一个队列,在队列中来回存元素,但是队列只能改变端无法向中间插入元素。

2024-08-04 13:06:41 488

原创 2024暑期训练第四周周报

主要原因自己也总结了一下:本周比赛中有很多题都是图论的知识(在比赛中可以看出要用什么知识点去解决,但是就是写不出来),但自己跟队友对这个方面涉世未深,只能眼睁睁地放弃那道题,赛后也有过想去补题的想法,但是学的太烂,对于很多图论的知识点都是囫囵吞枣的去学,(在看课的的时候,会有很多地方不太能转的过来,主要还是自己的用心程度不够,没有学不会就要一直学的精神,这点一定要改正!),并没有很好的理解。下周一定要恶补一下图论的知识。还要给自己一个警告:该发展一个适合的运动,多锻炼锻炼了,不然三天两头的生病,属实误事。

2024-08-04 13:06:01 205

原创 2024暑期训练第三周周报

总的来说呢,在每一场比赛都能发现自己的不足,也明知自己和别人有着巨大的差距,自己也在慢慢的去弥补,相信先天的不足可以通过后天的努力去弥补的。这周也确实做到了自己上周周报中说的,认真完成本周题单,经过一周的学习,也会写一些简单的dp,但是复杂的动态转移方程还是需要不断去连,本周的练习赛也让我知道了自己对dfs和bfs的不熟,经常会想不到用他俩解题。允许自己走得慢一点,但是让自己走的每一步路都做数。在周六的分享会上,发现别人会把自己再补题过程中学习到的新的知识去进行梳理和总结,希望下周自己也可以做到。

2024-07-28 19:57:57 248

原创 暑期训练第三周题单完成情况(线性dp、背包问题,区间)

所以如果继续放在左边则是dp[i][j+a[i]]+a[i],放右边则为dp[i][abs(j-a[i])]+a[i](实际上数组下标不能为负,所以当右边大于左边的时候,天平就调换左右),不放则为dp[i-1][j]。dp问题,但是与普通的dp不同的是它本身是一个环,所以在第一个点和最后一个点上要注意,在第一个点的时候dp[i][j]+=dp[2][j-1]+dp[n][j-1],在最后一个点的时候dp[i][j]+=dp[1][j-1]+dp[n-1][j-1];最后输出dp[n][m]。

2024-07-28 19:42:30 1045

原创 SMU Summer 2024 Contest Round 7补题情况

看过题解后发现,字符串在排序的时候,并不是按照初始的方式排序,而是要按照a+b<b+a的方式去排序,然后剩下的就要dp了,但是要是正向排序的时候,还是会发生我上面犯得错误,所以要倒着遍历,dp[i][j]表示在后i个字符串中取出j个字符串字典序最小的结果。按照题目的意思去写就好,但要注意如果每次反转都用一次reverse()函数的话,最终会超时,所以就只在最后一次确定是否要反转,如果当前输入了奇数个1的时候,那么加到字符串前面的字符加到后面,本身加到后面的字符添到前面。但是实际上,如果遇到。

2024-07-27 13:48:05 528

原创 SMU Summer 2024 Contest Round 6补题情况

1234中1,4出现4次,2,3,12,34各2次,23,123,234各一次;因此发现规律,实际上从单个数字开始,头尾的两个数字出现的次数是1<<k(k=s.size()-2),中间的数字为k/2次,当数字每增加一位k就要除2,以此类推。将一个无向图变为有向图,然后查找每一个节点的度数,找出最大度,从最大度的结点开始bfs,每一个节点不能连接两个相同的颜色,且每一个节点在bfs的时候都要知道颜色是从1开始进行标记的。每一次枚举的时候,遇到1或者是最后一位的时候就进行断开,并将当前的数字进行加和。

2024-07-23 15:14:08 1064

原创 2024暑期训练第二周周报

总的来说,这周的状态没有上周的好,没有上周的状态那么好,开始犯懒,自己也在努力克服和调整,比赛打得也还是那样,每次比赛遇到需要dp的题总是做不下去,将常发生写一半自己思路就乱掉的情况,至今也没有在比赛中解决一道dp的题,但是慢慢练,相信总有一天自己可以独立完成掉dp的题。对于题单,由于自己第一周的题单没有完成,所以这周将大部分精力放在了写上周的题单上,本周的两个题单并没有很好地完成,只是每个都写了几道题,对于本周要学习的知识点只是学了个大概,没有认真去学,希望下周不要发生这种情况了。

2024-07-21 21:15:44 184

原创 河南萌新联赛2024第(一)场:河南农业大学补题情况

由于他在遍历城市的时候是按顺序遍历,所以跳跃着去下一个城市,我们选择开一个优先队列,然后当队列中的元素大于k的时候(也就是使用完所有神力之后,就要使用生命力了),但是此时将队列中最小的元素踢出,并用生命力减去最小的元素,当生命力小于等于零的时候,这个国家和他往后的国家都能进行游历。还要注意如果t的值比n更大的时候,只需要进行n次循环,在多次的循环就是重复了,无需进行。这个虽然看懂了题解中给的解释,但是对于题解中的代码未能理解,所以未能补上,最近几天在研究一下,将他给补上,感觉不是很难。

2024-07-21 21:01:01 269

原创 2024 暑假友谊赛 2补题情况

再交C题的时候发现了一个之前都没有见过的报错(Idleness limit exceeded on test 1),然后就不知道该如何去改。赛后查了一下是测试用例 1 的执行过程中出现了长时间的闲置状态,超出了平台设定的空闲时间限制。简单来说就是要去优化算法,使代码执行相同程序的情况下使用时间更短。

2024-07-21 17:26:31 411

原创 四月第二周周报

y1=m/w+1;y2=n/w+1;if(y1%2!=0){x1=m%w;if(y2%2!=0){x2=n%w;y1-=1;x1=w;y2-=1;x2=w;return 0;

2024-07-20 16:10:04 333

原创 SMU Summer 2024 Contest Round 5补题情况

比赛的时候,读完题就想到使用二分查找体重的临界值,但是在写的时候发现,无法确定边界的变化(例如将边界值上调时,大人的正确的个数可能会减少,而小孩的个数可能会增加,但总体上的个数无法判断是增大还是减小,所以无法使用二分)。不等的时候,就去从i开始不断往后查找,当找到第一个a[i]=-1的时候,将x的值赋给a[i]。实际上在查找离i最近的那个等于-1的值可以使用并查集,相当于用并查集去查找他的父节点,然后标记它的父节点(每个点只能做一次父节点),这样可以节省很多时间,无需一个一个去遍历。注意数组不要越界就好。

2024-07-20 13:02:13 895

原创 7.16SMU Summer 2024 Contest Round 4

所以sum[j]-sum[i]=k*x+j-i,变形可得(sum[j]-j)-(sum[i]-i)=k*x;然后就想办法优化,受到求素数的启发,想出来实际上每个数有多少个正因子,不如看成每一个数i(1

2024-07-16 20:22:20 410

原创 2024暑期训练第一周周报

通过本周的比赛发现自己一个很大的问题,就是对于问题能够想出来解法,但想出来的解法绝大多数的时候会面临超时,但又不能想出很好的办法去解决该问题,所以只能放弃自己的想法,去看别的题。也深深地发现了自己对于dp的不了解,遇到需要dp处理的题往往会没有思路,补题的时候看题解都需要看好久才能理解为什么这样做。关于dp,还需要去系统的学习。本周由于比赛打得太烂,学长拉的题单也只写了二分的大部分,链表还没开始学习,题单也没去写。只能说比赛依旧打的很烂,但每场比赛都能发现自己的不足,慢慢去练,慢慢提高自己。

2024-07-14 18:55:39 177

原创 7.13补题详情

当n为偶数,m为基数时,现将n*(m-1)列填满,而后将会转化为第一种情况,但此时要注意,该矩阵的大小已经改变了,需要考虑k的范围;当m为偶数,n为奇数时,将第一行填满即可转化为第一种情况,也要注意此时矩阵的大小发生改变。n,m不可能同时为基数。将每一个没有空调的位置都设为最大值,而后像从左往右遍历一遍,f[i]=min(f[i],f[i-1]+1),再从右往左遍历一遍,f[i]=min(f[i],f[i+1]+1),(因为当前位置的最小值无非就是左边或者右边的空调提供的,所以遍历两次就可得出答案)。

2024-07-14 18:39:16 188

原创 7.12总结

通过推导可以发现,由题可知,n=m*k+m(即为除数相乘,再加上余数,由余数跟其中一个除数相同所以都设为m),所以推到可知,n%x==0时,n/x-1即为答案,将每一个答案相加。宣传三个边界值i,j,k,将其分为四各部分。聚记录每次引爆所有草堆最少需要的奶牛数目,如果大于题目中所给定的数,就缩小右边界,反之缩小左边界,最后输出l,即可。就是先寻找字母相同且连续的子序列中的元素个数,当元素个数f比k大的时候,那么上述f个数对应的攻击值就要进行排序,然后从大开始加,当加到k个数的时候,剩余的数将被省略掉。

2024-07-14 17:44:01 392

原创 七月第二周周报

实际上,可以将其大的图案分成九宫格来看,每个九宫格的中心都会输出".",其余的都是”#“,然后再将四周的八个小格子,看成每个独立的小九宫格,将每一个小九宫格的中心变为”.",依此类推。为保证结果最大,则可以将原数组进行排序,也将要替换的数组进行排序,将原数组中最小的数用替换数组中最大的数进行替换,知道所替换的数组小于原数组时停止替换(确保差值最大),然后进行加和运算。即是将每个数位上的数都对三进行求余,将每一个不能整除的数统计下来,并进行求和,如果求和后的数可以整出三,则整体可以,不能的话分类讨论。

2024-07-12 19:27:05 884

空空如也

空空如也

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

TA关注的人

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