自定义博客皮肤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)
  • 收藏
  • 关注

原创 Educational Codeforces Round 157 (Rated for Div. 2) C. Torn Lucky Ticket

思路:思路就是枚举每一个字符串,然后把每个字符串当成是拼接后的前缀和后缀,符合条件的记录下来就好。思路简单,不过就是从哪里开始循环,哪里结束,要想清楚,不然会有重复的情况,最好画一下图模拟一下,会很清楚,这道题记录的原因是很考验耐性,用二维数组来记录每一个字符串的位数和和,在遍历字符串的符合条件的直接加入答案即可。本题的大意是两个字符串拼接在一起,然后可以分成两半,前后两半的和相同。

2024-07-20 15:37:23 202

原创 Codeforces Round 959 sponsored by NEAR (Div. 1 + Div. 2) C. Hungry Games

主要思路:找前缀和第一次大于k的下标idx(二分),然后我们发现idx+1的方案数相当于把idx+1当作左端点来算,然后我们就想到dp[i]代表以i为左端点的方案数。总结:在比赛的时候找到了idx,但是因为没有想到用dp来表示,所以是一直递归下去,然后因为一些边界问题还是没有写出来。一般这种区间的问题,就是以左端点或者右端点为起点,然后在较小的时间复杂度内找到符合条件的区间数。ps:本题因为需要用到后面的状态,所以我们从后往前二分来做。本题大意就是找到最后g不等于0的区间个数。

2024-07-19 19:04:26 232

原创 2024牛客暑期多校训练营1 A

思路:考虑子序列,如果让&结果为1,那么我们必须选第0位为1的数,即奇数,有2^i-1(i为奇数个数),那么m-1位则是(2^i-1)^(m-1),剩下的n-i位位偶数,则有(n-i)^(m-1),最后因为是子序列,所以要选出i个数为奇数,用到组合数的思想,最后的答案为C[n][i]*(2^i-1)^(m-1)*(n-i)^(m-1)。本题的大致意思是 存在长度为n的A序列,且A中的数的范围为0-2^m-1,存在子序列的与运算结果为1,有多少个这样的A。

2024-07-17 10:40:13 191

原创 Codeforces Round 881 (Div. 3) E. Tracking Segments

思路:本题如果暴力一定会超时,那我们可以用二分来做,每次假定mid就是答案,然后用答案来推断是否至少存在一个漂亮数组,那问题是,我们怎么判断是否存在呢,我们需要用到前缀和的思想,既然我们已经确定前mid次改变,那么哪个点是1就已经确定了,所以我们只要用前缀和记录在前mid次改变中,1-n 的那点为1就可以,然后遍历每一条线段,判断是否符合1的个数大于0的个数,无解的情况是r=q+1。

2024-07-11 20:49:42 220

原创 排列奇偶性,交换排列中的数

2024-07-09 09:53:37 84

原创 Codeforces Round 888 (Div. 3)E. Nastya and Potions(搜索)

思路就是dfs,记录这道题的原因是因为我把dfs的顺序给放错了,导致更新的信息很乱,这道题相当是要先更新孩子的信息,然后再更新父节点的信息,所以在更新信息时应该放在dfs的后面。

2024-07-06 20:07:52 114

原创 Acwing 1174. 受欢迎的牛(Kosaraju算法)

所以我们来想如果两个点相互可达,那当有其中一个点可以到另一点a时,那么这两个点的另一点也可通过该点到达 a,所以我们应该求强连通分量,然后通过缩点得到一个DAG图,如果是拓扑图的话,那样答案就是出度为0的那个点(缩点后)。记录该题是因为刚学习Kosaraju算法,对于该算法不是很熟练,如果有错误或者不对的地方请指正。求强连通分量的方法有Kosaraju算法和Tarjan算法,这里就用了Kosaraju算法。如果暴力来说,我们遍历每一个点,dfs,看看是否符合条件,这样肯定超时。

2024-07-06 19:45:11 167

原创 牛客练习赛127 小红的图上划分

思路:本题要求最大划分价值,我们把边按照权重排序,然后每一次加入最大权重的那条边,那么在第一次到某个连通块个数时,此时的边的权重就是最小的。本题在补题的时候也绕了很久,主要问题是最大的划分价值,我忽略了这一点,所以觉得按权重大小排序有点问题,其他就没问题了。利用并查集来解决,每次看加入的边是否在同一集合里,不在的话,并在一块,连通块的个数也就要减去1。

2024-07-06 17:19:23 190

原创 牛客练习赛127 小红的约数

主要思路上述已给,在比赛时没有读清题目,导致浪费很多时间,求的是该数的所有约数的幂次之和,要想到其实一个数的每一个约数都可以由这个数的质因数来表示,所以我们就可以带入公式用等比公式来求出答案。

2024-07-06 10:09:14 176

原创 Codeforces Round 900 (Div. 3) E. Iva & Pav

【代码】Codeforces Round 900 (Div. 3) E. Iva & Pav。

2024-06-30 11:15:08 134

原创 牛客小白月赛97 D 走一个大整数迷宫

本题的思路主要卡在每个格子可以走很多次来满足题目中的条件,因为如果走很多次我不知道结束条件是什么,所以正确思路为,因为n,m的值很小,可以开三维数组来解决这个问题,dist[x][y][p]表示坐标为(x,y)的格子经过计数器取模后的离(1,1)的距离,加上一维后完美解决了我担心的问题,最后dist[n][m][0]即为所求,这个思路也是很常用的,所以还要多加总结。

2024-06-29 10:47:54 229

原创 Harbour.Space Scholarship Contest 2023-2024 (Div. 1 + Div. 2)C. Divisor Chain.

本题思路非常巧妙,我们把x转化为二进制,然后从最低位开始找1,这个我们就联想到lowbit的值就是最低位1加上后面的0的十进制的值,而且lowbit(x)是x的因子,所以我们每次减去lowbit(x)剩下的值就是所求,最后到x==lowbit(x),说明我们把该数变成了2的幂次,然后一直除以2直至为1即可。

2024-06-11 17:54:01 99

原创 Codeforces Round 949 (Div. 2)

1s后 0|1 0|1|2 1|2|3 2|3|4 3|4|5.....主要问题在于我直接把位运算的结果写出来观察情况,发现规律很混乱,所以我也学到要写出来不着急算出来,观察规律是什么,位运算是一个很常见的方法,这块知识不是很熟练,会加强练习的。2s后0|1|2 0|1|2|3 0|1|2|3|4 1|2|3|4|5...由此我们可以看出左边界l=max(0,n-m),右边界r=n+m。例如 100100。

2024-06-01 23:18:54 803

原创 牛客周赛44 D

该题的思路时前缀和s[i][j]表示数组前i个数中因子为j的数的个数,然后再查询的时候可以枚举因子的个数来求最后的答案。通过代码枚举我们可以求出1e5中的因子数最大为128,所以开开到140。

2024-05-28 22:14:12 150

原创 构造思维题(持续更新中...)

该题我写的时候主要是想错了,想的是通过前一个数来推出后一个数,应该填的是该数的倍数,那又有一个问题,如果直接枚举该数的倍数,遇到全是1的情况,那就会超时,所以如果a[i]!=a[i-1],直接就可以填a[i],如果a[i]==a[i-1],那么我们从p[i-1]+a[i]开始枚举,找到a[i]的倍数的最小值。格格有一个长度为 nnn 的排列 ppp,但她不记得 ppp 具体的样子,她只记得数组 aaa。(但有可能无解,这意味着格格给出的 aaa 数组可能是不正确的,此时输出 −1-1−1 即可。

2024-05-25 14:09:18 218

原创 Codeforces Round 945 (Div. 2)

该题的主要思路是把二进制的每一位分开来看,如果第i位对应的是0,1,0,0,0,那么我们需要选k=4来满足题目中的条件,还有一个特例,当连续的0的个数等于n时,我们就可以直接跳过,因为这样的情况下对k的大小没有限制,最后我们的答案取所有位的最大值(为了满足所有位都满足条件)。小tips:对于二进制的题目,要进行拆位运算,还是多练,思维慢慢提升。

2024-05-19 15:19:47 187

原创 Codeforces Round 918 (Div. 4)E

这道题的想法非常巧妙,因为是让一个区间里的下标为奇数和偶数的和相等,我们可以把下标为偶数的置为负数,把每一次得到的前缀和标记一下,如果该前缀和前面已经出现过,说明这个区间一定存在符合的条件。

2024-05-11 19:57:02 180 1

原创 Codeforces Round 943 (Div. 3)

比赛时居然卡了10分钟,主要问题没有读清题是输出y的值,一直输出最大的结果(一定要都读清题再下笔)

2024-05-03 14:42:42 275 1

原创 L2-050 懂蛇语

在《一年一度喜剧大赛》第二季中有一部作品叫《警察和我之蛇我其谁》,其中“毒蛇帮”内部用了一种加密语言,称为“蛇语”。蛇语的规则是,在说一句话 A 时,首先提取 A 的每个字的首字母,然后把整句话替换为另一句话 B,B 中每个字的首字母与 A 中提取出的字母依次相同。例如二当家说“九点下班哈”,对应首字母缩写是JDXBH,他们解释为实际想说的是“京东新百货”……本题就请你写一个蛇语的自动翻译工具,将输入的蛇语转换为实际要表达的句子。

2024-04-23 16:56:58 382

原创 天梯赛:药剂合成

他不断探索和研究新的魔兽材料,并与其他药剂师分享他的发现,为整个魔法界带来了新的治疗和增强药剂的可能性。第三行为 q 代表询问次数,接下来 q 行每行给出三个整数,第一个整数 k 代表魔法基础药水的基础魔法值,第二个整数 l 代表所能选取魔兽材料的左边界,第三个整数 r 代表能选取魔兽材料的右边界。基础魔法值代表了药水中魔法的原始能量,而魔兽材料的稀有度则代表了其珍贵程度和对药水效果的影响力。MarcusL独特的发现是,药水的魔法效果取决于基础魔法值与所选取的魔兽材料稀有度数值的最大公因数。

2024-04-17 09:26:17 285

原创 天梯练习赛:石头剪刀布

为了决定谁对谁错(或许两人都错了),机智的HN建议采用最朴素和最公平的方法——石头剪刀布游戏。然而,好奇心旺盛的HN向ZH询问了比赛的过程和结果。ZH仅仅告诉了HN他的出拳顺序以及比赛的比分。HN并不想在这种无意义的事情上浪费时间(实际上他也不会解决),因此希望你来帮他确定是否存在一种LX的出拳顺序能够使比赛结果符合ZH所说的比分。输入为两行,第一行为两个整数x,y分别代表LX和ZH的最终得分,第二行为ZH的出拳顺序 s。"shitou"代表石头,"jiandao"代表剪刀,"bu"代表布。

2024-04-17 09:17:25 364

原创 天梯赛L2-001 紧急救援

最后附上一张图片,激励正在为梦想拼搏的你,fighting!作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图。在地图上显示有多个分散的城市和一些连接城市的快速道路。每个城市的救援队数量和每一条连接两个城市的快速道路长度都标在地图上。当其他城市有紧急求助电话给你的时候,你的任务是带领你的救援队尽快赶往事发地,同时,一路上召集尽可能多的救援队。

2023-09-16 12:34:59 52 1

空空如也

空空如也

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

TA关注的人

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