CodeForces
文章平均质量分 80
又是快乐 CF 掉分的一天~
柃歌
夏天的海边有冰淇淋口味的海风
展开
-
【CF1764C】Doremy‘s City Construction(二分图,贪心)
假如某个点与权值严格大于它的点相连,那么这个点就不能再连接权值小于等于它的点,反之同理。,你可以在任意两个点之间连边,最终连成的图需要满足:不存在任意的三个点,满足。对于每组测试用例,输出一行共一个整数,即连出的图的最大边数。注意,如果每个点权值都相同最优解只能按下图这样连边,答案为。因此两个集合中点数乘积的最大值即为答案。中的所有点相连,根据乘法原理可知边数为。)权值均小于等于该集合中的最大值。)权值均大于等于该集合中的最小值。,表示测试样例的数量。个点,每个点的点权为。,表示每个点的权值。原创 2023-04-12 16:23:00 · 648 阅读 · 1 评论 -
【CF1774C】Ice and Fire(构造,DP)
的人都参与比赛,有多少人有机会获胜(活到最后)?名选手都有机会赢,因为只有温度大于等于。的人即使活到了最后一场也必输。,则温度低的人胜利,若环境为。对于每组测试用例,输出一行共。,即温度大的人赢,那么温度为。数据保证每组测试用例中的。个人一定没机会赢,另外的。的人才可能连续战胜温度为。中的选手互相对战,由于第。,那么让剩下的另一名选手。中的选手打,被淘汰,那么。,表示测试样例的数量。,有多少人有机会获胜。名选手都有机会活到最后。场,只需要先让剩下的在。,则温度高的人胜利,个人参与游戏,则共有。原创 2023-04-10 09:39:52 · 397 阅读 · 0 评论 -
【CF1774B】Coloring(构造,贪心)
个格子里涂的颜色互不相同。请问有没有这样的一种涂色方案能符合该要求?个连续区间,其中除了最后一个区间外所有区间的长度均为。对于每组测试用例,如果有至少一种涂色的方案,输出。上,循环完所有区间后再涂到第一个区间的位置。的颜色按循环顺序依次涂到每个区间的第。个位置上,即先涂到第一个区间的位置。,那么最后一个区间的长度为。上,再涂到第二个区间的位置。个格子,在这些格子上涂上。数据保证每组测试用例中的。,表示测试样例的数量。的颜色涂到每个区间的第。次,且需要满足每连续。依次涂到每个区间的第。原创 2023-04-09 18:15:10 · 267 阅读 · 0 评论 -
【CF1615B】And Its Non-Zero(位运算,贪心,前缀和)
【题目描述】你有一个包含了[l,r][l,r][l,r]中的所有数的序列。例如,如果l=2,r=5l=2,r=5l=2,r=5,则这个序列为[2,3,4,5][2,3,4,5][2,3,4,5]。请问最少需要从序列中删除多少个数使得剩余的所有数的按位与结果不为000?【输入格式】第一行一个整数t(1≤t≤104)t(1\le t\le 10^4)t(1≤t≤104),表示测试样例的数量。对于每组测试样例只输入一行,包含两个整数l,r(1≤l≤r≤2×105)l,r(1\le l\le r\le 2\t原创 2022-06-03 18:51:04 · 184 阅读 · 0 评论 -
【CF1612C】Chat Ban(二分)
【题目描述】你可以发送大小为kkk的三角形表情信息,其包含了2k−12k-12k−1条信息。第一条信息包含111个表情,第二条信息包含222个表情,以此类推,到第kkk条信息包含kkk个表情,第k+1k+1k+1条信息包含k−1k-1k−1个表情,以此类推。例如,当k=3k=3k=3时包含555条信息:当你发送的表情总数大于等于xxx时,你将被禁言。注意每条信息是一次性被发送的,即如果当前已发送的总表情数为x−1x-1x−1,当前这条信息包含的表情数为555,则可以将这条消息发送后才会被禁言。现在你需原创 2022-06-03 11:33:36 · 376 阅读 · 0 评论 -
【CF1671D】Insert a Progression(思维题,贪心)
【题目描述】给定一个nnn个整数的序列a1,a2,…,ana_1,a_2,\dots ,a_na1,a2,…,an,再给定xxx个整数1,2,…,x1,2,\dots ,x1,2,…,x。现在你需要将这xxx个整数插入到序列aaa中的任何位置。设插入完之后的序列为a′a'a′,那么a′a'a′的分数定义为序列中相邻两数之差的绝对值之和,即Σi=1n+x−1∣ai′−ai+1′∣\Sigma_{i=1}^{n+x-1}|a'_i-a'_{i+1}|Σi=1n+x−1∣ai′−ai+1′∣。请问原创 2022-06-03 10:03:37 · 266 阅读 · 0 评论 -
【CF1671C】Dolce Vita(递推,贪心)
【题目描述】有nnn家商店卖糖:第iii家商店每包糖的价格为aia_iai,但是每位顾客每天只能购买一包糖,所以若想购买多包糖,需要前往多家商店。另一个问题就是糖的价格每天都会上涨:第一天价格为aia_iai,第二天价格为ai+1a_i+1ai+1,第三天价格为ai+2a_i+2ai+2,对于每家商店iii的价格都以此类推。你每天的预算都为xxx,换句话说,你每天都要使用不超过xxx的预算购买尽可能多的糖,如果当天的预算没有用完,那么也无法留到第二天继续用。显然,到最后每家商店的价格都会超过原创 2022-06-02 21:48:59 · 220 阅读 · 0 评论 -
【CF1661C】Water the Trees(二分,贪心)
【题目描述】你有nnn棵树,编号为1∼n1\sim n1∼n,初始时第iii棵树的高度为hih_ihi。现在你需要通过浇水使得每棵树的高度一样。浇水的过程如下,你从第111天开始浇水,在第jjj天你可以:选择一棵树浇水。如果这天是奇数天(如1,3,5,7,…1,3,5,7,\dots1,3,5,7,…),那么浇水可以使树的高度+1+1+1;如果这天是偶数天(如2,4,6,8,…2,4,6,8,\dots2,4,6,8,…),那么浇水可以使树的高度+2+2+2。跳过这一天,不对任何树浇水。注原创 2022-05-30 21:14:48 · 333 阅读 · 0 评论 -
【CF1661B】Getting Zero(位运算,搜索)
【题目描述】假设有一个数vvv,对于每次操作,你都有以下两种选择:将vvv变成(v+1)%32768(v+1)\%32768(v+1)%32768;将vvv变成(v∗2)%32768(v*2)\%32768(v∗2)%32768。现在给你nnn个整数a1,a2,…,ana_1,a_2,\dots, a_na1,a2,…,an,请问使得每个数变为000的最少操作次数分别是多少?【输入格式】第一行输入一个整数n(1≤n≤32768)n(1\le n\le 32768)n(1≤n≤32768原创 2022-05-30 16:29:36 · 2445 阅读 · 3 评论 -
【CF1660D】Maximum Product Strikes Back(双指针,数论)
【题目描述】给定一个由nnn个整数构成的序列aaa,对于每一个ai(1≤i≤n)a_i(1\le i\le n)ai(1≤i≤n)都满足:−2≤ai≤2-2\le a_i\le 2−2≤ai≤2。现在你可以在序列的首部删去任意数量(可以是000)的数,或者在序列的尾部删去任意数量(可以是000)的数,当然,可以将整个序列全部删去。你需要求出以下问题:你需要在序列的首部和尾部分别删去多少个数,使得剩余的数乘积最大?如果存在多种方式能够得到最大乘积,输出其中任意一种方案均可。注意:我们认为空序列(也原创 2022-05-30 13:11:36 · 285 阅读 · 0 评论 -
【CF1660C】Get an Even String(字符串,贪心)
【题目描述】一个字符串a=a1a2…ana=a_1a_2\dots a_na=a1a2…an称为偶数字符串当且仅当满足条件:该字符串是由长度为222的连续且相同的字符组成的子串组成的,即同时满足以下两个条件:字符串的长度为偶数;对于每个奇数位置i(1≤i≤n−1)i(1\le i\le n-1)i(1≤i≤n−1),都满足ai=ai+1a_i=a_{i+1}ai=ai+1。例如,字符串tt、aabb、oooo和ttrrrroouuuuuuuukk是偶数的,字符串aaa、abab和abb原创 2022-05-29 20:51:04 · 363 阅读 · 0 评论 -
【CF1657C】Bracket Sequence Deletion(贪心)
【题目描述】给一个包含nnn个字符的括号序列((或)),你需要做数次如下操作:对于每次操作,你需要在序列中选择一个最短的good前缀,然后将其从序列中删去,某个前缀为good前缀需要满足以下两个条件之一:这个前缀是一个规律的括号序列;这个前缀是一个长度至少为222的回文序列。如果可以通过在此序列中插入字符+和1来获得正确的算术表达式,则括号序列称为规律的序列。例如,序列(())()、()和(()(()))是规律的,而(、(()和(()))(不是。如果括号序列前后读出的内容都相同,则称为回文序原创 2022-05-29 15:11:56 · 215 阅读 · 0 评论 -
【CF1656C】Make Equal With Mod(思维题,构造)
【题目描述】给一个包含nnn个非负整数的序列,你可以做如下操作:选择一个数x(x≥2)x(x\ge 2)x(x≥2),然后将序列中的所有数替换为其除以xxx的余数,即对于所有的ai(1≤i≤n)a_i(1\le i\le n)ai(1≤i≤n),将aia_iai变为ai%xa_i\%xai%x。请你确定是否能够在经过000次或者多次上述操作后使得序列中的所有数相等。【输入格式】第一行一个整数t(1≤t≤104)t(1\le t\le 10^4)t(1≤t≤104),表示测试样例的数量。对于每原创 2022-05-29 11:04:05 · 161 阅读 · 0 评论 -
【CF1656B】Subtract Operation(思维题,双指针)
【题目描述】给一个包含nnn个整数的序列,每次可以选择序列中的一个数xxx,把这个数从序列中删去,然后剩余的每个数都减去xxx。因此,每次操作后序列的长度都会严格减一。现在给你一个数kkk,请你找出是否存在一个n−1n-1n−1次的操作序列,使得经过这些操作之后,序列中仅剩余的一个数为kkk。【输入格式】第一行一个整数t(1≤t≤104)t(1\le t\le 10^4)t(1≤t≤104),表示测试样例的数量。对于每组测试样例,第一行输入两个整数n,k(2≤n≤2×105,1≤k≤109)n,k原创 2022-05-29 10:18:24 · 222 阅读 · 2 评论 -
【CF1654C】Alice and the Cake
【题目描述】有一块蛋糕,现在进行n−1n-1n−1次对半切,一共切出nnn块,每次能够将一个重量为www的蛋糕切成一块重量为⌊w2⌋\lfloor \frac{w}{2}\rfloor⌊2w⌋的蛋糕和一块重量为⌈w2⌉\lceil \frac{w}{2}\rceil⌈2w⌉的蛋糕。现在给你一个切好后的nnn块蛋糕重量的随机的一个排列,确定是否存在一个蛋糕能够切出这个重量排列的蛋糕。【输入格式】第一行一个整数t(1≤t≤104)t(1\le t\le 10^4)t(1≤t≤104),表示测试样例的数原创 2022-03-24 20:50:45 · 292 阅读 · 0 评论 -
【CF1627B】Not Sitting(模拟,贪心)
【题目描述】Rahul和Tina在玩一个游戏。游戏在一个n×mn\times mn×m的网格图上进行,记第rrr行第ccc列上的格子为(r,c)(r,c)(r,c)。定义(a,b)(a,b)(a,b)与(c,d)(c,d)(c,d)之间的距离为∣a−c∣+∣b−d∣\left|a-c\right|+\left|b-d\right|∣a−c∣+∣b−d∣。游戏开始后,Tina会选择恰好kkk个格子,并将其涂成粉红色。涂完以后,Rahul会选择任意一个没有被涂成粉红色的格子并在那个格子上坐下。此后,Tina原创 2022-03-14 23:24:20 · 4458 阅读 · 0 评论 -
【CF1629B】GCD Arrays(GCD)
【题目描述】考虑一下数组aaa,范围是[l,r][l,r][l,r]。例如,[3,7][3,7][3,7],数组aaa就是[3,4,5,6,7][3,4,5,6,7][3,4,5,6,7]。给出l,r,kl,r,kl,r,k,询问gcd(a)gcd(a)gcd(a)是否能在最多kkk次如下操作以后比111大?在aaa数组中选择两个数。删除这两个数。将这两个数的乘积放回数组aaa。【输入格式】第一行包含一个整数t(1≤t≤105)t(1\le t\le 10^5)t(1≤t≤105),表示数原创 2022-03-14 22:53:57 · 319 阅读 · 0 评论 -
【CF1633D】Make Them Equal(DP)
【题目描述】你有一个长度为nnn,初始全为111的数组aaa,和两个长度为nnn的数组b,cb,cb,c。你可以最多进行kkk次如下的操作:选择两个正整数i,xi,xi,x,使aia_{i}ai变成(ai+⌊aix⌋)\left( a_{i}+\left \lfloor \dfrac{a_{i}}{x} \right \rfloor \right)(ai+⌊xai⌋)。最后,如果ai=bia_{i}=b_{i}ai=bi,你将会获得cic_{i}ci的收益。最大化总收益。【输入格式】原创 2022-03-11 10:53:34 · 297 阅读 · 0 评论 -
【CF1644D】Cross Coloring(思维题,数学)
【题目描述】有一个nnn行mmm列的网格,每一个网格里面都有一个细胞,所有细胞最初都是白色的。进行qqq次操作:给定xi,yix_i,y_ixi,yi,从kkk种非白色的颜色中选择一种给整个行xix_ixi和整个列yiy_iyi上色。新的颜色将应用于每个单元格,无论该单元格在操作之前是否被着色。完成所有qqq次操作称为着色。如果两个图至少有一个细胞有不同的颜色,那么两个图的颜色是不同的。求一共有多少种不同颜色的着色结果?结果对998244353998244353998244353取模。【输入格式原创 2022-03-08 14:47:02 · 237 阅读 · 0 评论 -
【CF1638C】Inversion Graph(连通块,思维题)
【题目描述】现在有一个序列p1,p2,…,pnp_1,p_2,\dots ,p_np1,p2,…,pn,你需要构建一个无向图,规则是:当i<ji<ji<j且pi>pjp_i>p_jpi>pj时在iii和jjj之间连一条无向边。问最后图中会有几个连通块。【输入格式】第一行一个整数t(1≤t≤105)t(1\leq t\leq 10^5)t(1≤t≤105),表示测试组数。每组第一行一个整数n(1≤n≤105)n(1\leq n\leq 10^5)n(1≤n原创 2022-03-06 20:35:50 · 511 阅读 · 2 评论 -
【CF1638B】Odd Swap Sort(排序,思维题)
【题目描述】给定一个数列a1,a2,…,ana_1,a_2,\dots ,a_na1,a2,…,an。你可以执行若干次如下的操作:选择一个整数i(1≤i<n)i(1\leq i< n)i(1≤i<n),如果ai+ai+1a_i+a_{i+1}ai+ai+1为奇数,则可以交换aia_iai和ai+1a_{i+1}ai+1。问是否可以将该数列排序成非递减数列。【输入格式】第一行一个整数t(1≤t≤105)t(1\leq t\leq 10^5)t(1≤t≤105),表示原创 2022-03-06 16:17:09 · 315 阅读 · 0 评论 -
【CF1644C】Increase Subarray Sums(DP,贪心)
【题目描述】给定一个序列{an}\left\{a_n\right\}{an}与整数xxx,定义f(k)f(k)f(k)表示经过如下操作后,序列aaa中最大的连续子段和:将aaa中kkk个不同的位置上的数加上xxx。请求出f(k),k∈[0,n]f(k),k\in [0,n]f(k),k∈[0,n]。【输入数据】多组数据T(1≤T≤5000)T(1\leq T\leq 5000)T(1≤T≤5000)每组数据的第一行为n,x(1≤n≤5000,0≤x≤105)n,x(1\leq n\leq 5000原创 2022-03-06 10:55:14 · 427 阅读 · 2 评论 -
【CF4D】Mysterious Present(双关键字LIS)
【题目描述】给出一个限制(w,h)(w,h)(w,h)和nnn个物品的二维信息(wi,hi)(w_i,h_i)(wi,hi)求物品二维都满足wi>w,hi>hw_i>w,h_i>hwi>w,hi>h的前提下的最长二维严格上升子序列以及其长度(wi>wi−1,hi>hi−1)(w_i>w_{i-1},h_i>h_{i-1})(wi>wi−1,hi>hi−1)如果找不到任何一个物品满足条件,只需输出一行000【输入描原创 2021-10-14 13:49:55 · 187 阅读 · 0 评论 -
【CF808D】Array Division(前缀和,哈希)
【题目描述】给定一个长度为n的正整数数组a1,a2,…,ana_1,a_2,…,a_na1,a2,…,an。你需要选择其中一个元素,将其移动至数组中的任意位置(也可以留在原位置)。我们的目标是,在移动元素操作完成以后,将数组分为前后两个非空部分,并使前一部分的各元素之和等于后一部分的各元素之和。请问,该目标能否达成?【输入格式】第一行为整数nnn。第二行包含nnn个整数a1,a2,…,ana_1,a_2,…,a_na1,a2,…,an。【输出格式】每组数据输出一行结果,目标可以原创 2021-10-14 13:37:32 · 262 阅读 · 0 评论