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

原创 Codeforces Round #946 (Div. 3)(A-E) python

哈希表存储当前幸福的所需花费的最小值,遍历每一月,若钱数符合则更新哈希表取最小花费,最后找能得到的最大幸福度。注意,若以(0, 0)为终点时,要手动使其完成一次来回的操作,防止出现未行动的可能。将最终x,y除二,即可得到他们的终点,然后模拟其中一者走到终点的过程即可。观察数据,发现c很大但m和h很小,考虑以当前的幸福度为容量进行dp,一个屏幕最多能装两个大方格,先放完大的,剩下的空隙放小的,不够再补。哈希表存一下不同的分别为第1,2,3位时,不同取值对应的剩下元素值。

2024-05-21 01:59:17 319

原创 Codeforces Round #935 (Div. 3)(A~E)python

每个烟花会持续一个区间,不限时间,所有情况都可能在某一时刻出现,为了使一个区间每种烟花有更多个,可以出现n/a上取整个烟花,即区间开始有之前持续中的烟花,若可以整除,可以强行错一下位,使后面的烟花也在m时间内出现。暴力枚举每个位置,记录左边0的个数和右面1的个数,只有当左边的个数超过左边现有村庄的一半时,才可取答案,取其中离中心较小的一个,距离相同取左边,当n为奇数时,中心用浮点数表示,即n/2。数组不单调,要使最终结果为正确的值,只要将正确的值转移到最终的位置上即可,转移时不可改变原二分路径。

2024-03-19 20:02:48 619 1

原创 Codeforces Round #934 (Div2)(A~C)python

可以发现,当爱丽丝将一个数字作为数组中的最大值,且前面的数字都至少出现一次时,该数字及其前面的数字中数量为1的数字一定不可超过两个,因为有一个数量为1的数字时,她可以先手将该数字选入数组,否则鲍勃一定会将另一个次数为1的元素删除,导致无法达成结果。题意,由1到n的数各出现两次组成的数组,将数组从中间分为两半,从两边各取k个数,随意排序,使两边异或和相等。结果一定小于等于n,遍历0到n的数字,找前面只有一个出现次数为1的数字的最大的结果即可,对于每种数字,要么同时出现在一边,要么左右部分各一个,

2024-03-17 01:32:21 522 1

原创 Codeforces Round 929 (Div. 3)(A~F)python

前缀和优化求l到r间共有多少部分,二分刚好不使u+-k为0的r1和刚好使u+1-k小于0的r2,然后判断最终成绩,选成绩大的r,如果相等选r较小的。数组的和模3为0时不用操作,模3为2时任选一个元素加一即可,模三为1时,数组中有模为一的删除一个即可,否则选一个元素加一两次。数组可以任意排序,统计各数字数目,x

2024-02-28 17:39:20 782 1

原创 Codeforces Round 927 (Div. 3)(A~E)python

可以发现每种花色是偶数时,该花色两两配对一定能全部用完,而为奇数时,多出的那张只能与任一张王牌配对,记录每种花色和王牌花色数量,然后看能不能都两两配对,即王牌花色足够补奇数剩余花色且剩余的能被二整除。要求每个操作前所有元素乘积对m的模数,正着求数字相乘会很大,并且左右都会变化无法用前缀和,但是倒着求,每次添加一个元素,就有一个固定的顺序,当然这样求的答案是倒序的。数字的位数为4*1e5,直接求肯定会爆,用列表模拟数字,每个元素存一个位数,每位为前i个元素的前缀和,最后将其转换为十进制即可。

2024-02-19 00:32:45 1140 1

原创 Codeforces Round 926 (Div. 2)(A~C)python

赌场可以任意操控胜负,那么Sasha要保证何时赢了,都总能把前面输的钱赢回来且有得赚,所以每次输了后要下注更多的钱。每次下注的钱为之前输的钱need//(k-1)+1,前面输的钱累加起来,判断他的钱是否足够。可以发现最后的结果为最后一个元素减第一个元素,分别取最大和最小,此时得到的结果最大。涂一格多两条对角线的格子数为2n-2个,这样前4n-4条都可以用这些格子构成,这时赌场会让Sasha一直输,直到x轮后使其赢一局(赌徒思维不可取啊。要保证他的硬币数足以撑到x+1回合,这时不限轮数就可以赚到任意多的钱。

2024-02-16 02:00:49 468 1

原创 Codeforces Round 925 (Div. 3)(A~E)python

anna会尽可能使最后的数值更小,Sasha相反,最后只需看剩下数字的长度即可,为了让数字长度更小,anna会优先让当前末尾0最多的数字逆转,而Sasha会优先让末尾0最多的拼在另一数字前面,来保护0,0出现在中间后不会再影响数字长度。将数组分别对x和y取模,存储在mx和my内,因为ai%y和aj%y相等,将my存一下元素的索引然后排序,那么%y相等的就会在相邻的位置,可以发现,一对符合条件时,ai%x + aj%x = x或ai%x + aj%x = 0,ai%y - aj%y = 0。

2024-02-14 03:31:41 873

原创 Codeforces Round 924 (Div. 2)(A~C) python

题意,数列由一组固定的数字重复组成,每一组由2k-2个元素组成,且分为两个部分,前半部分由1递增到k,后半部分由k-1递减到2,求第n个元素是x时,可能的k的数量。假设出现次数最多的为当前元素ai加一时,那么只有它前面比他小n-1以内的数字,可以通过加上排序中另一个非1的数来凑出ai+1,试除法求约数时,若较大的n//i求出的k值小于x时,可直接退出,最后打印不同的k的个数即可。题意让数组每个元素加上1到n的排列中的一个数,求出现次数最多数字的出现次数的最大值。

2024-02-12 03:38:37 467

原创 Codeforces Round 923 (Div. 3)(A~E)python

将相邻重复元素合并,计算相邻数字出现次数的前缀和,那么每种数字右侧第一个不同的数字就是该元素前缀和表示的下一个元素,用st表存储代表该元素的下标。若有数组未找到则构造失败,否则看a,b独有的中数量较小的那个能否使用公共的凑出k//2个元素,若能凑出,则恰好可以构造。大的先在每组的l递减构造,小的再在每组的r递增构造,更新l,r,然后每过一轮各自交换一次l和r,直到每个数字都用完为止。纯纯看样例,k个一组,l,r表示当前在一组中的左右位置,ma,mi表示当前要构造的最大元素和最小元素。

2024-02-07 02:28:49 901

原创 Codeforces Round 921 (Div. 2)(A~C)python

先将x分解质因数,然后用x一部分质因数,来构造一个刚好大于等于n的因数,用这个因数来分解x,这样剩下的因子的乘积就为他们的最大的gcd。题意构造一个字符串s,让长度为n且使用字母表前k个小写字母的所有任意组合,都包含于s的所有子串内,即找出一个包含所有情况的s(难懂)都出现过一次后,那么他能表示的n就多一位,将计数器清空,保存答案,并将最后一个仅出现一次的字符保存,便于制造错误样例。与第一题情况类似,但要求判断指定的s是否符合标准,并输出一个s不包含的错误样例。数学知识,分解质因数,搜索,dfs。

2024-01-28 03:48:35 586

空空如也

空空如也

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

TA关注的人

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