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

原创 牛客练习赛138

思路:第i行第j列会被第i行的值影响到,要么会被第j列所影响到,所以每个位置为当前所在行列的最大值,当我们固定行,看列的时候可以发现,先对列所对应的值从小到大排序,当当前行所对应的值>列时,值全为行,剩下的为列的后缀和 ,所以我们可以维护一个列的后缀和,然后对于每一行二分找到第一个大于行所对应值的位置。​ 我们可以发现当t时刻时遍历到了字符串的第(t-1)%字符串的长度,首先我们可以想到当所有字符串的最小公倍数里都没有一个时刻使得所有字符串都为1的话即为-1。思路:过题人数最多的就是签到题。

2025-05-10 21:11:52 376

原创 The 2023 ICPC Asia Taoyuan Regional Programming Contest

思路:耍杂技的牛的问题,两个物品谁在前谁在后可能会对结果造成不同的影响,根据通项推公式得到一个排序方式,则按照这个排序方式执行命令则最后的花费最小。思路:根据题意将字符串分割成若干组,每组有三个元素,然后±交替进行的到最后的总和,判断总和是否能被13整除。思路:给你一个小于0的小数,一部分是非循环节,一部分是循环节,最后让你求出分子和分母的最简之比。思路:很裸露的一道01背包板题,需要注意的是处理字符串分割,获取v,w。思路:按照题目所给的排序最后输出排序后的结果。思路:模拟题,跟着题意描述模拟即可。

2025-05-06 18:36:13 563

原创 有依赖的分组背包问题(树上背包)

这是一道 背包DP 的 变种题目,根据题设的 拓扑结构 可以观察出每个 物品 的关系构成了一棵树,而以往的背包DP 每个物品关系是任意,(但我们一般视为 线性的)所以,这题沿用 背包DP 的话,要从原来的 线性DP 改成 树形DP 即可,然后思考 树形DP 的 状态转移。原题链接[https://www.acwing.com/problem/content/description/10/]原题链接:[https://www.acwing.com/problem/content/9/]

2025-05-01 22:13:27 233

原创 L2-011 玩转二叉树

L2-011 玩转二叉树

2025-03-06 14:46:10 404

原创 天梯赛:L2-002 链表去重

思路:在一个数组里对链表去重,可以将一个数组分成两部分,一部分是未去重的,另一部分是去重的,因此可以考虑根据标记(不需要去重的标记从0开始,需要去重的标记从1e5开始)排序,又因为数组中可能会有其他的结点影响,为了排除他们的干扰可以将他们的标记置为2e5,这样排好序后对已知的数组节点没有任何影响,排好序后按照要求遍历数组,需要注意可能会有00000这种有前导0存在,因此输出用“%05d”(补足五位,不够的用0填充), 额外注意两部分链表最后一个节点的下个节点置为-1。

2025-02-27 14:53:43 312 1

原创 codeforces964(A~G2)

【代码】codeforces964(A~G2)

2024-08-10 00:38:32 685

原创 牛客周赛52

【代码】牛客周赛52。

2024-08-07 05:19:38 504

原创 “葡萄城杯”牛客周赛 Round 53

【代码】“葡萄城杯”牛客周赛 Round 53。

2024-08-05 18:02:16 359

原创 atcoder365(A~E)

【代码】atcoder365(A~E)

2024-08-05 17:55:40 659

原创 atcoder364(A~E)

##A.

2024-07-29 22:21:46 520

原创 leetcode周赛407

【代码】leetcode周赛407。

2024-07-26 12:46:00 483

原创 leetcode周赛399

思路:贡献法累加求a数组中的每个获得的贡献。思路:经典线段树求打家劫舍问题。

2024-07-15 10:46:41 471 1

原创 第 134 场双周赛(A,B,C,D)

贪心的思考,每次获得分数找能量最少的可以获得更多的分,同时我们需要保证刚开始的能量要比最低能量的那个人多,之后将剩下人全干掉,集中的能量和一直找那个能量最低的人薅羊毛就行。,因此我们需要进行优化,我们考虑到当不断是&的时候,数值要么变小要么不变,当不变的时候那么前面的也不会在变,因此当我们枚举到不变的时候则提前break。思路:破链成环,复制三份,枚举中间的那一份,如果中间的和左右两边不相等,左右两边相等的话则是一个交替组,否则不是。思路:给了一个整数k,问连续的k块是一个交替组,问有几个交替组。

2024-07-10 09:37:42 335

原创 牛客周赛 Round 50(A~E)

是无理数也是无解,当我们得到两个根的时候记得把a的那一部分加上比如 2(x2+2x+1) 和x2+2x+1不一样。思路:概率期望,从根节点1出发每次移动到下一层节点,当碰到叶子节点时停止移动,求其移动到子节点的次数的期望值。​ 我们需要统计每一层节点的叶子节点数,那么剩下的就是能继续走的。思路:三个正整数a,b,c可以调换顺序求最大值,可以先排序,有。思路:将ax2+bx+c分解成(a1x+b1)(a2x+b2)小于零则无解,若是在有解的情况下。四种情况取最大就行,比B更简单。

2024-07-09 12:44:49 609

原创 AtCoder Beginner Contest 361(A,B,C,E)

​ 哈密顿路径问题,每个点都经过一次,首先我们要考虑从一个点出发,每个点都经过一次然后再回到原点后,我们发现路径为所有权值的和的二倍,然后我们要从一个点出发到另一个点后就不回来了,因为我们要的是和最小,所以我们要求图中一个点到另一个点的最远距离,即树的最长直径问题。思路:给两个立方体,判断相交部分是不是正体积,立方体是三维状态,我们可以考虑每一维度,当压缩到每一维度的时候就是两条线段,判断两条线段是不是有相交部分即可,若是三个维度都有相交部分的话就是Yes。

2024-07-09 00:18:47 430

原创 The 2024 Sichuan Provincial Collegiate Programming Contest(E,H,L)

思路:博弈论,因为每次只能拿一个或者两个,当一个人面临剩下三个石头这个情况,他拿一个是输,拿两个也是输,所以谁先碰到3这种情况谁就输,扩展开来,谁先碰到3的倍数这种情况谁就输了,因为面对三的倍数,拿两个别人可以拿一个,拿一个别人可以拿两个,自己仍面临三的倍数,最后会面临三这种情况,因此谁先面临三的倍数这种情况谁就必输,GG会先拿,所以若是总数n,n%3。题意:两个人在拿石头,每次最多拿一个或两个,GG先拿,那个人都想获胜并且尽可能多的得到棋子,问获胜方的石子的个数。思路:模拟题,模拟过程就行。

2024-07-07 20:43:16 1561

原创 leetcode404周赛(1,2,3)

思路:模数是固定为2的,那么情况只有0,1,那么要使得相邻项数满足有效子序列的定义,则有四种情况,0000,1111,0101,1010,算出这四种情况的最大的长度取一个max。先蓝后红 此时对应奇偶行的蓝的数量不够或者红的数量不够,同时在先红后蓝这种情况下,红的数量或者蓝的数量也不够,两种情况都不能填充第i行,那么最大高度为第i-1行。思路:第一行放一个,第二行放两个第三行放三个,我们可以按奇数偶数行来计算总和,此时有两种情况,先蓝后红,先红后蓝,此时针对于第i行来说,如果。

2024-07-05 11:58:16 479

原创 2024 (ICPC) Jiangxi Provincial Contest -- Official Contest (A,C,G,H,J,K)

思路:首先要将11进制转换成10进制,每一位都要乘以相应的11次方获得的数相加,因此每一位转化都不会相互影响,所以可以每一位%5后相加,无论11的多少此方%5后都是1,所以每一位的贡献都是11进制下每一位%5后乘以有多少个的结果,最后加起来以后%5。思路:要求说真话最多的人,如果每个人相加的和为s则都说的真话,否则的话,肯定至少有一个人说了假话,为了使说真话的人最多,我们可以先算n-1个人的总和,剩下的那个人说了假话,说假话的人的真实分配的数为。题意:马良在沙子,石头,洞壁的画画,求总和。

2024-07-05 00:29:59 1487

原创 Atcoder 360(A~E)

思路:首先我们可以用两个数组将蚂蚁向左走和向右走的位置存下来排序,然后我们可以枚举向右走的蚂蚁,每秒会移动1单位,那么我们可以看成向右走的移动两米,在t秒后能到的距离能和多少个像左走的蚂蚁位置相交,这个可以通过二分来获得到两个边界,相减后就是这只蚂蚁能在T秒内和多少蚂蚁碰面。思路:首先我们思考,每次都是等可能获取,那么k次操作后黑球到2~n任何一个位置的可能性相同,因此我们可以先求出在k次操作后黑球在第一个位置的概率,剩下位置的概率为(1-在第一个位置的概率)/(n-1)

2024-07-03 17:48:04 657

原创 牛客周赛49(A~F)

思路:满足的式子是等差数列,因此我们需要找一个k使得长度为n的数组为等差数列,等差数列有一个性质,三个数之间满足等差数列,任意长度相连的数也满足等差数列,则我们可以用哈希前缀和求。思路:通过模拟几个数可以发现他的过程最后像一颗完全满二叉树,魔法次数会分裂两个,所以两层有1个,三层有1+2个,四层有1+2+4个,则魔法次数为层数减一的等差数列和。r%4==2 这个循环节有三个,前面的三个数都相同,但是两个异或已经是零了,那么前面为r前面的数,后两位为11,则返回r+1。思路:水题,简单模拟下就行。

2024-07-01 16:39:11 1110

原创 牛客小白月赛97(A~E)

思路:问范围可以先确定两个极限边界,如果数组每个数为正数,那么前缀和一直是递增的,那么价值会很大,当有负数和正数的时候,可以先将负数放在正数后面,正数按从小到大排序,那么价值一定最大,为正数的个数,当最小的话我们可以贪心的思考先将负数放前面,那么前缀和最大值一直是0没变化,当有正有负的时候,正数从小到大排序,尽量用更多的正数去抵消负数的和,当抵消完的时候前缀和最大值就会一直上升,最小值的价值也能确定为正数中将负数和抵消后正数的个数,最大情况减去最小情况为正数中抵消负数和的正数的个数。

2024-07-01 00:51:59 726 1

原创 一些简单的入门算法模版

【代码】一些简单的入门算法模版。

2024-06-30 15:44:40 494 1

空空如也

空空如也

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

TA关注的人

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