自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Codeforces Round 929 (Div. 3) A—E

0,即a不是mn的倍数,那么a%mn的结果一定比mn小,这样就得到了一个唯一的,新的最小值,这样只需将新的最小值放在第一位即可保证结果不为0;由于获得的奖励为u,u-1,u-2,u-3...,u-k+1,以等差数列方式表现,且奖励和的函数图像为凸函数,那么问题变为了就凸函数极值点,自然可以想到三分。(保证每个a>=1)若a<b , 则a%b=a,那么我们将最小值放在第一位,若最小值唯一,结果就等于最小值,一定不为0。(值 u+1−k可以是负数,这意味着完成额外的部分会降低Isaac的性能。

2024-03-05 17:19:37 639

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

此操作结束之后,除去王牌花色,其余花色最多只剩一张牌没有消去,如果此时王牌花色的牌数小于其余花色的牌数,那么该轮不合理,输出impossible,否则我们将王牌花色的牌按点数从小到大排序,将其余花色的牌用王牌花色消去后加入ans,剩下的王牌花色牌分别消去加入ans即可。有四种花色的卡牌,分别用C,S,D,H代表,每种花色有2-9八张,四种花色共有32张卡牌,每局游戏给出一种花色作为王牌花色,每轮游戏第一个人打出一张卡牌,第二个人只能打出比他大的卡牌,该轮结束,关于卡牌大小规定如下。

2024-02-21 01:46:21 827

原创 Codeforces Round 923 (Div. 3) A—F

可以发现每相隔k个位置的元素之间相差不超过1,为了使数组包含1-n所有元素,我们让每隔k个位置的元素加1,但如果我们全部选择加1,构造出的数组为 1 4 7 9 2 5 8 10 3 6显然存在不符合条件的区间,所以我们不能全部选择加1,可以选择加一减一轮流出现的策略,此时构造出的数组为1 6 7 10 2 5 8 9 3 4。给定一个包含n个元素的数组a以及m个查询,每个查询包含l,r两个整数,你的任务是判断l到r之间是否存在不同元素,如果存在输出任意两个不同元素的下标,如果不存在输出-1 -1。

2024-02-12 19:53:40 799 1

原创 Codeforces Round 898 (Div. 4)

引入了基环树之后,我们再来看,如果b想逃脱,那么他只能跑到环上和a不断地兜圈子,那么我们先找到环上的点是那些点,然后计算出a和b到这些点的最短距离,如果对于任意一个环上的点,a都能先一步比b到达,那么a一定能抓到b,反之只要有一个在环上点,b到这个点的距离比a小,那么b一定能逃脱。给定一张n个点n条边的无向图,以及a和b的初始坐标,现在a想要抓到b,b非常聪明,可以预测到a的行动,两人同时开始行动,问a是否可以抓到b,如果抓不到,输出Yes,否则输出No。-然后,将水箱注满水,使每列的高度为 ℎ ,

2024-02-02 01:48:49 756

原创 Codeforces Round 922 (Div. 2)

3.为使a异或x减b异或x的绝对值最小,那么我们应该选择从第一个不相同的高位开始,对于后面不同的位,我们选择将其变成符号与第一个不相同位产生的贡献相反的符号,不断减少第一个不相同位产生的贡献,使得最后的绝对值更小,可以证明,就算后面的数全部与第一个不相同位的符号相反,结果也一定是大于0的,因为高位的数至少是低位数的二倍。1.当a和b的某一位相同时,即都为1或都为0,那么对于x的这一位不论是1还是0,其与a,b异或之后再相减所产生的贡献一定为0,所以对于a,b某一位上的数相同时,不会产生贡献,我们直接跳过。

2024-01-31 20:11:14 1283

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

c题其实是a题的反向判断,a题是找出一个可以覆盖全部子序列的字符串,c题是判断这个字符串是否可以覆盖全部子序列,那我们依据a题的思路,判断是否存在合法的n个结构(前k个字符都至少出现一次后,为一个结构)出现即可,如果不存在n个合法的结构,我们只需要找到最后一个结构缺少了哪个字符,那么前面几个结构的最后一个字符加上这个缺少的字符一定就是没有被覆盖的子序列,输出这个字符串即可。给定两个正整数n和k,请你找出一个字符串s,使得所有可能的仅使用前k个小写英文字母构成的长度为n的字符串都可以作为s的子序列出现。

2024-01-30 21:33:20 389 1

原创 Codeforces Round 909 (Div. 3) A—F

最阅读理解的一集,大意为给定了一棵树和一个数组d,d[i]表示第i天所期望的长度,期望长度的含义为树中存在两个叶子结点的距离,为了树每天都存在这样的叶子结点符合期望长度,我们每天可以进行一次操作,将一个节点从原先所在节点连接到一个新的节点,例如 4 3 2代表将4号结点从3号结点移走,接入到2号结点之后,请你输出树的结构和第i天的操作,如果第i天不需要操作则输出-1 -1 -1。给定一个n个元素的数组a,求其中元素和最大的非空连续子数组的元素和,而且保证相邻元素的奇偶性不同。

2024-01-27 17:10:32 637

原创 Educational Codeforces Round 158 (Rated for Div. 2) A-D

因为答案与数组的顺序无关,所以我们考虑将数组排序,因最后的答案要求所有的元素都相等,可以想到,当操作若干次之后,若数组中的最小值与最大值相等,那么全部元素一定都相等,若我们每次都选择最小值为x,那么最小值将不会发生改变,而其余的值都会不断缩小,最大值也不断向最小值逼近,直至最大值与最小值相等。点伤害(a[i]为i号怪物的生命值,i-1为i的左面有i-1只怪物,由于伤害每次递减1),同理如果攻击从右边到来,那么最坏的情况就是右边的y只怪物全部被攻击之后i号怪物才被攻击,此时i号怪物应最少受到。

2024-01-25 15:12:59 765

原创 Codeforces Round 912 (Div. 2) A—D1

由于或运算的性质,只要两个数其中有一位该位是1,那么结果该位也一定是1,为了使答案最优(更容易满足其他元素),所以我们可以确定a[1]的第1位和第3位为1,那我们只需要找到a[1]上哪几位是0即可,对于该行所有元素如果相同位都为1,那么a[1]该位也为1,有一位为0,那么a[1]该位也为0。对于操作次数无上限的问题,我们往往采用贪心的策略,可以发现只要每次反转两个元素,就一定可以将数组变为非递增的,因此只要操作次数大于等于2,就一定可以,对于操作次数<2的,除非原数组就是非递增数组,否则一定不可以。

2024-01-22 20:28:27 920

原创 Educational Codeforces Round 161 (Rated for Div. 2) A-E

可以发现对于n个递增的数,可以贡献2^n -1个递增的子序列,那么我们先找到最大的n,构成1,2,3.....n,那么还需要构成x-(2^n-1)个递增的子序列,如果我们往1-n这样的递增数列前插数,例如。给定n个城市的坐标(升序)和m个询问,每个询问包括一组a和b,求从第a个城市到第b个城市的最小花费,花费的计算:如果下一个要去的城市是当前城市的最近城市,那么花费1,否则花费两城市的距离之差。=b时,只能插入大写字母,并且t!2.a==b时,若插入小写字母,此时t==a==b,为满足t不匹配c,则t!

2024-01-20 21:21:47 758

原创 Codeforces Round 920 (Div. 3) A—E

但由于棋盘是有边界的,当逃跑的一方到达棋盘边界时,就只能向前走,倘若此时追击一方的棋子还在前方(两人的棋子还没有经过同一行,一方获胜必然在两人棋子处在同一行时发生),则一定会被追上。2.可以获胜的一方由棋子初始位置决定,想获胜就必须产生吃棋子的动作,也就是两人到达同一行时,这一步由谁来走,只有走这一步的人才有获胜的资格,因为a先走,所以两人棋子行坐标之差为奇数时a可以赢,行坐标之差为偶数时b可以赢。a和b在玩棋盘游戏,两人各一颗棋子,a的棋子只能向下,左下,右下走,b的棋子只能向上,左上,右上走。

2024-01-16 13:00:42 835 3

原创 Hello 2024 前3题

‡‡ 将数组 a=[3,1,4,1,5]=[3,1,4,1,5] 拆分为 (s,t)的一些有效方法是 ([3,4,1,5],[1]) 、 ([1,1],[3,4,5]) 和 ([],[3,1,4,1,5]) ,而拆分 a的一些无效方法是([3,4,5],[1]) 、([3,1,4,1],[1,5]) 和([1,3,4],[5,1])。由于+代表1,-代表-1,很容易想到区间和问题,而且不难发现如果将每个符号单独划分,就只会产生1的罚金,那么对于-和+数量相等的区间,其产生的罚金为0;

2024-01-07 14:09:06 910 1

原创 Codeforces Round 918 (Div. 4)

(-2,100)区间的子区间(起点大于-2,终点小于100)个数为5个,(1,8)区间的子区间个数为2个,(2,6)区间的子区间个数为1个,(3,9)子区间个数为1个,(4,5)子区间个数为0个,(7,10)子区间个数为0个,所以答案为5+2+1+1+0+0=9,可以看出对于起点已经排序的情况下,我们只要看当前终点后面有几个数比其小,那么其就有几个子区间,即满足i<j,a[i]>a[j]的元素个数,很明显的逆序对,那么这题就变成了对终点求逆序对个数,对它使用逆序对板子即可。除了斯拉夫人,他们都有自行车。

2023-12-30 16:57:44 1824 2

原创 Codeforces Round 917 (Div. 2) 前三题

可以发现除了第一次执行操作2会获得值和下标相等元素个数的分数之外,我们之后每次执行操作2最多只能获得1分(执行完操作2之后,每次执行操作1最多有一个满足条件的元素),那么我们可以一天执行操作1,下一天执行操作2,每两天获得1分,这是第一种保底的方法。第二种方法则是先执行i天操作1,让满足条件的元素尽可能变多,然后执行操作2,之后就和第一种方法一样每两天获得1分。给定一个数组,可以对其中任意元素操作任意次,操作规则:可以用0-a[i]之间的任意数替换a[i],,求使得数组所有元素之积最小的操作次数。

2023-12-25 20:54:34 524

原创 Codeforces Round 916 (Div. 3) 前6题

a和b都有n种颜色不同的弹珠,每人轮流行动,每次行动可以选择一种颜色,将对方该种颜色的弹珠清0,自己该种颜色的弹珠-1,前提是两人都至少有一颗该种颜色的弹珠。模拟两人轮流取弹珠的过程,由于最终分数为a的弹珠数减b的弹珠数,所以a对最总分数的贡献为加上该种颜色弹珠可获得的·分数,而b对最终分数的共享为减去该种颜色弹珠可获得的分数。一共有n个任务,最多可以完成k个,每个任务有首次完成奖励和重复完成奖励,每个任务可以重复完成,只有做完前一天的任务才能做下一天的任务,求可获得的最大的奖励。E1为E2数据弱化版。

2023-12-20 20:30:34 1716

空空如也

空空如也

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

TA关注的人

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