自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 CF1560E 每日一题 Polycarp and String Transformation

Polycarp has a string s. Polycarp performs the following actions until the string s is empty (t is initially an empty string):he adds to the right to the string t the string s, i.e. he does t=t+s, where t+s is a concatenation of the strings t and

2023-02-20 14:42:08 186

原创 CF1787C 每日一题 Remove the Bracket dp

RSJ has a sequence a of n integers a1,a2,…,an and an integer s. For each of a2,a3,…,an−1, he chose a pair of non-negative integers xi and yi such that xi+yi=ai and (xi−s)⋅(yi−s)≥0.Now he is interested in the valueF=a1⋅x2+y2⋅x3+y3⋅x4+…+yn−2⋅xn−1

2023-02-10 11:24:15 250

原创 CF1744F 每日一题 MEX vs MED 思维,双指针

outputstandard outputYou are given a permutation p1,p2,…,pn of length n of numbers 0,…,n−1. Count the number of subsegments 1≤l≤r≤n of this permutation such that mex(pl,pl+1,…,pr)>med(pl,pl+1,…,pr).mex of S is the smallest non-negative integer th

2023-02-02 14:05:57 329

原创 CF1743D 每日一题 Problem with Random Tests

You are given a string s consisting of n characters. Each character of s is either 0 or 1.A substring of s is a contiguous subsequence of its characters.You have to choose two substrings of s (possibly intersecting, possibly the same, possibly non

2023-02-01 14:08:05 140

原创 CF1750D 每日一题 Count GCD

You are given two integers n and m and an array a of n integers. For each 1≤i≤n it holds that 1≤ai≤m.Your task is to count the number of different arrays b of length n such that:1≤bi≤m for each 1≤i≤n, andgcd(b1,b2,b3,...,bi)=ai for each 1≤i

2023-01-31 13:20:36 91

原创 CF1741E 每日一题 Sending a Sequence Over the Network

The sequence a is sent over the network as follows:sequence a is split into segments (each element of the sequence belongs to exactly one segment, each segment is a group of consecutive elements of sequence);for each segment, its length is written nex

2023-01-29 15:27:35 132

原创 CF1774D 每日一题 Same Count One

ChthollyNotaSeniorious received a special gift from AquaMoon: n binary arrays of length m. AquaMoon tells him that in one operation, he can choose any two arrays and any position pos from 1 to m, and swap the elements at positions pos in these arrays

2023-01-27 13:24:42 86 1

原创 CF1779D 每日一题 Boris and His Amazing Haircut

Boris thinks that chess is a tedious game. So he left his tournament early and went to a barber shop as his hair was a bit messy.His current hair can be described by an array a1,a2,…,an, where ai is the height of the hair standing at position i. His d

2023-01-26 12:08:11 206

原创 CF1765D 每日一题 Watch the Videos

Monocarp wants to watch n videos. Each video is only one minute long, but its size may be arbitrary. The i-th video has the size ai megabytes. All videos are published on the Internet. A video should be downloaded before it can be watched. Monocarp has

2023-01-25 16:54:22 201

原创 Educational Codeforces Round 141 (Rated for Div. 2) 题解

Educational Codeforces Round 141 (Rated for Div. 2) 题解

2023-01-09 13:39:23 277

原创 Codeforces Round #842 (Div. 2) 题解

最后,我们考虑环内时候有两个位置相邻,如果存在至少一种相邻的情况,我们可以在该环操作的最后,不去操作这两个相邻的位置,最后得到一个相反的相邻对,满足题目要求,该环的操作次数为 k - 2 次。给一个长度为 n 的数组 a,试构造排列 p 和 q ,使得对于任意 1

2023-01-06 11:41:21 343

原创 Codeforces Round #838 (Div. 2) 题解

对于一个长度为 k 的01串,定义其 extension:长度为 2k - 1 的01串,第 2i - 1 位是原串的第 i 位,构造方式有2^(k-1)种(可以理解为长度k的串,两两字符之间共 k - 1 个空,每个空可以插入0或1)。直接对数组 a 从小到大排序,以最小元素的两倍为基准,将其后不大于基准值的元素全部构造为基准值,若当前元素已经大于该元素的两倍,将基准值不断乘2,直至基准值大于当前元素,然后构造,依次类推,注意计数并离线处理答案。3. a < b,意义同上,令 x = i ,继续遍历。

2022-12-16 12:51:53 717

原创 Educational Codeforces Round 139 (Rated for Div. 2) 题解

定义 (x , y) , (x + 1, y + 1) , (x + 2, y + 2) , (x + 3, y + 3) , ...... , (x + k, y + k) 为长度 k + 1 的数对链,当该链上所有数对都为 lucky 时,称该数对链为 lucky。给定一个数 n ,对于 n 组 x ,y,问以数对 (x , y) 为开头的 lucky 数对链的长度最大是多少。既然只有一位非0,那么一定是首位非0,直接计算,计算方式就是 n 的位数减1 * 9,加上 n 的最高位即可。

2022-12-15 08:49:13 421 3

原创 2022 ICPC 亚洲区域赛(杭州)赛后总结

寄!我愿称之为最抽象的一站20分钟连过两个签到,状态起飞,然后全程坐牢未过一题~~不过这次并没有什么遗憾,因为确实够不到铜牌的边缘,看到同校队伍济南站银牌,这一场打铁,我们也就释然了只能说以后的时间里继续训练,提升自己的实力,明年ICPC再战吧。今年的竞赛就到一段落了,之前欠下的许多实验报告也该赶一赶了,希望明年能以一个更强的实力,参与到各路高手的对局中ICPC 再会

2022-12-05 18:23:58 1225

原创 Codeforces Round #836 (Div. 2) A~D 题解

n为奇数的情况下,构造 n - ( n + 1 ) / 2 + 2 ~ n , n + 3 ~ n + ( n + 1 ) / 2 + 2 , 总和是 ( n + 1 ) ^ 2。的情况下,首先可以得到1和3的异或值是2,所以构造 n / 2 对1和3,两两异或得到 n / 2 个2,且 n / 2为奇数,所以异或值等于2,均值也等于2。n 为偶数的情况下,比较好构造,直接以 n 为中心 ,构造 n / 2 个依次小 1的数,构造 n / 2个依次大1的数,总和是 n ^ 2。

2022-11-26 23:18:38 203

原创 Codeforces Round #783 (Div. 2) 题解

首先,对于 n , m较短的那边,我们可以到达而不花费多余代价。此时长的那边剩余的部分,我们需要多花费(abs(n - m)- 1)的代价,对于 abs(n - m) % 2 == 0 的情况,还需要多花费一个代价。给 n * m 大小的地图 ,从(1,1)出发,终点为(n,m),每次可以选择上下左右其中一个方向移动一格,但不能连续两次向同一个方向走,问最少几步能达到终点,不能到达则输出-1。我们枚举每一个位置是0的情况,将两边每一个元素构造为刚好满足情况的数,这样得到局部最优,再将全部情况取最小即可。

2022-11-24 08:36:38 98

原创 Codeforces Round #835 (Div. 4) 题解 A-G

每做完一种工作, k 天内不能再做,给定 c 和 d ,意为在 d 天内获得 c 元,问能够接受最大的 k 约束是多少,输出 k 的值。对于一个限制 k ,我们的工作模式是 k + 1天的循环,取模每次做价值最大的工作即可(也有可能不工作),然后check判断当前 k 能不能达成目标。如果记录到相邻两数存在上升现象时,每次记录较大值,此后如果记录到有数小于记录值,输出NO,遍历结束后若合法,输出YES。给一个长度为 n 的数组 a ,对于每一个数,输出其与最大值的差,对于最大值本身,输出其与第二大值的差。

2022-11-23 20:26:16 260

原创 Codeforces Round #779 (Div. 2) 题解

给定 l , r,取值在 [ l , r ] ,长度为 r - l + 1 的某个排列 a ,该排列 a 所有元素与某个 x 异或形成了新的排列,现在给出这个新的排列,求解 x ,可能有多种答案,输出任意一种。现在给出 c 数组,ci 代表 排列 p 的 i circle 排列 的power,问是否存在合法的排列 p ,满足给定的 c。给一串长度为 n 的01串,先要向其中插入若干个1,保证该串的所有子序列的0的数量不超过1,问最少插入几个1可以满足要求。

2022-11-23 13:50:25 324

原创 2022 ICPC 亚洲区域赛 合肥站 题解 ABGH

2022 ICPC 亚洲区域赛 合肥站 题解 ABGH

2022-11-21 19:09:46 2027

原创 2022 ICPC 亚洲区域赛(合肥)赛后总结

G题也是WA一次调一个bug,到了最后10分钟的时候,已经无法通过造样例来找bug了,这题也没办法暴力对拍,这时候我灵光乍现,发现队友造的样例总是包含1~n的所有点,于是我造了一个漏掉某些数的样例,居然成功找到bug。我其实已经意识到这题是概率dp,但是正好在前天,从codeforce div2某期做了一个概率dp+逆元取模,2400分的水平,我当时直接弃了,结果比赛时看到这题的时候我也下意识认为搞不出来,并且两个队友对于概率dp和期望这一块也没有学习,于是我告诉大家这是咱们的思维盲区,可以换题。

2022-11-21 13:58:48 1534 9

原创 2020 ICPC Shanghai Site 2020 ICPC上海 题解

每次忽略,我们可以忽略一个文件,或直接忽略一个文件夹的所有内容(包括所有文件和子文件夹),前提是里面不存在任何受保护的文件。有一条长度为 n 的路,第一个人在位置 p1 ,速度为 v1 ,第二个人在位置 p2 ,速度为 v2 ,问两个人走的路径完全覆盖整条路的最短时间是多少(答案精度在1e-6以内即可)。首先,明显可以得出,我们只需要把图B变成完全和图A一样即可,但是存在一个问题,如果图A和图B差距大的话,m*n/2 (下取整) 次数不够用。答案就是n个数任取两个的情况减去n个数中的奇数任取两个的情况。

2022-11-18 11:28:17 244

原创 Codeforces Round #788 (Div. 2) A-D 题解

所以,我们依次向平面内添加这三种直线,得到的结果一定是最优的。给两个由1~n组成的排列a,b,再给出数组c,c中的 c[i] == 0代表该位置可以从 a[i],b[i]中任选一个填入,若不等于0,则代表该位置已经固定为这个数。给一个长度为n的字符串和k个特殊字母,给定一种操作,每一轮操作,从字符串从左网友看,可以将特殊字母的左边字母删掉,问这种操作最多能做几轮。给定有n个元素的数组a(有正有负),给定一种操作,可以选择一正一负两个元素,交换符号,问能否通过这种操作,令数组按升序排列。递推公式+二分答案。

2022-11-17 10:44:27 191

原创 The 2020 ICPC Asia Yinchuan Regional Programming Contest 银川 B. The Great Wall 题解

开了个dp,dp[i][j][sta] , 其中i表示目前已经取了 i-1个元素,看第i个元素如何安排,j代表目前分了j段,sta代表目前最右端的状态。有n个元素的数组,现要将数组分为k段(1

2022-11-08 10:57:44 1149

原创 第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(昆明) C Cities 题解

分析可以发现,对于一段 dp[i][j],如果其中存在一个 s 点,将其分为dp[i][s] , dp[s + 1][j]两部分,如果说 a[s] 和 a[j] 是一样的,那么这两部分合起来其实不需要任何代价。在此条件下,我们可以得到这样的状态转移方程:dp[i][j] = min(dp[i][j] , dp[i][s] + dp[s + 1][j])可以写出状态转移方程:dp[i][j] = min(dp[i + 1][j] , dp[i][j - 1]) + 1。但是到这里我们还没用上给出的初始数据。

2022-11-07 13:44:35 810

原创 Codeforces Round #806 (Div. 4) 题解

先处理一遍输入,保留 所有 ai < i , 开两个数组分别记录一下 满足要去的 id 和 val ,对 val 数组进行sort,然后 对 id 数组的每个元素在 val 数组中 upper_bound 一下,记录位置为k,则当前第 i 个元素,对其满足 ai < i < aj < j 的 aj 有 cnt - k + 1个,每次记录答案。有一个位数为n的密码锁,每位是0-9,现给出密码锁的最终组合,并给出对每位密码的操作过程(U代表该位数加1,D代表该位数减1,均0-9循环)求最初的密码锁组合是多少。

2022-11-01 10:44:40 263

原创 Codeforces Round #802 (div.2) 题解

有n个水池,第i个水池的容积为 vi 单位,每个池子上方有一根管子,若打开,则可以每秒流出1个单位的水。并且只开最左边的管子,不会存在浪费的情况(比如中间有个池子特别大,后面池子都很小,若开该池子后面的水管,会导致有的水填完最后一个池子就流掉了,没有贡献)所以我们只需要算出开几根管子,全放到左边就能保证最优。贪心,对于当前值向右,权值 (i − 1) * m + j 的 j ++,对于当前值向下,权值 (i − 1) * m + j 的 i ++,显然优先向右走最合算,一直走到最右后开始向下走。

2022-10-31 19:12:55 162

原创 Codeforces Round #830 (Div.2) 题解

查询时,如果map2中没有记录,就直接从k开始遍历,操作同D1.如果有记录,那么看map3,先找到第一个map3中不小于k的值,然后开始遍历,从删的数里面直接找满足条件的数,找到就输出,如果比map2[t]大了,就不如直接从map2[t]开始找。只操作an,只操作an-1,和二者都操作的代价分别为1,2,3,暴力看一下哪个满足条件,输出最小的。:给一个集合,最初只有一个0,每次给出两种操作:1.向集合中加入一个x(保证可以加入)2. 给一个k,问最小的能整除k的,且不在集合内的数是多少。

2022-10-23 22:57:52 1316 3

原创 CodeForces Round #818 (div.2) A-C 题解

A - Madoka and Strange Thoughts B - Madoka and Underground Competitions C - Madoka and Formal Statement

2022-10-04 13:06:55 187

原创 P1072 [NOIP2009 提高组] Hankson 的趣味题

Hanks 博士是 BT(Bio-Tech,生物技术) 领域的知名专家,他的儿子名叫 Hankson。现在,刚刚放学回家的 Hankson 正在思考一个有趣的问题。

2022-10-04 10:30:55 384 1

原创 CodeForces Round #821 div.2 A-D题解

CodeForces Round #821 div.2 A-D题解 A.Consecutive Sum B.Rule of League C.Parity Shuffle Sorting D1. Zero-One (Easy Version)

2022-09-23 15:32:49 245

原创 洛谷 P2822 [NOIP2016 提高组] 组合数问题

组合数 \binom{n}{m}( mn​ ) 表示的是从 nn 个物品中选出 mm 个物品的方案数。举个例子,从 (1,2,3)(1,2,3) 三个物品中选择两个物品可以有 (1,2),(1,3),(2,3)(1,2),(1,3),(2,3) 这三种选择方法。

2022-09-22 13:01:38 380

原创 CodeForces Round #715(div. 2) A-D 题解

CodeForces Round 715(div 2) A-D 题解 A.Average Height B. TMT Document C.The Sports Festival D. Binary Literature

2022-09-21 12:07:18 264

原创 洛谷 P3913 车的攻击

我们可以开两个1e6空间的数组来存每个车的行列坐标,由于每辆车可以影响一行和一列的空格,并且多个在同一行(列)的车,只起一次作用,所以我们可以统计横纵坐标出现的种类数。最后我们可以得出,(行坐标出现次数+列坐标出现次数)*棋盘长度 -行坐标出现次数*列坐标出现次数即为答案(注意long long)N×N 的国际象棋棋盘上有K 个车,第i个车位于第Ri​行,第Ci​ 列。• 对于100% 的数据 , 1≤N≤10^9;• 对于30% 的数据,1≤N≤10^3;• 对于60% 的数据,1≤N≤10^6;

2022-09-20 15:05:29 328

原创 洛谷 P1866 编号

兔子们向太郎表达了它们对号码的喜好,每个兔子i想要一个整数,介于1和Maxnumber[i]之间(包括1和Maxnumber[i])。当然,每个兔子的编号是不同的。,存答案的数据类型一定要是long long 类型(第一次交没开long long导致WA了7个点,吐血,同学们碰到数据范围大一些的一定开long long保证不出错)第三只兔子的编号取值有1 - 13,出去前两只兔子的取值,共13 - 2 = 12 种情况。第二只兔子的编号取值有1 - 9,出去第一只兔子的取值,共9 - 1 = 8 种情况。

2022-09-20 13:13:46 210

原创 洛谷 P1017 [NOIP2000 提高组] 进制转换

例如当 R=7 时,所需用到的数码是 0,1,2,3,4,5,6,这与其是 R 或 −R 无关。和正进制转换的代码基本一致,不管给的数是不是正数,都是正进制转换那一套,直接每次把数除以base,余数存进开辟的数组里,一直除到n等于0为止。与之相似的,对二进制数来说,也可表示成每个二进制数码乘以一个以该数字所处位置为指数,以 2 为底数的幂之和的形式。设计一个程序,读入一个十进制数和一个负进制数的基数, 并将此十进制数转换为此负进制下的数。对于 100% 的数据,−20≤R≤−2,∣n∣≤37336。

2022-09-20 12:38:40 325

原创 洛谷 P1100 高低位交换

将它的高低位进行交换,我们得到了一个新的二进制数00001110110110000000000000010100。它即是十进制的249036820。给出一个小于2^32的正整数。这个数可以用一个32位的二进制数表示(不足32位用0补足)。我们称这个二进制数的前16位为“高位”,后16位为“低位”。将它的高低位交换,我们可以得到一个新的数。试问这个新的数是多少(用十进制表示)。很水的一题,思路非常简单,只需要把输入数转二进制(注意补前导0),然后高低位交换,最后把得到的新二进制串转十进制,输出即可。

2022-09-20 10:37:07 330

原创 洛谷P1469 找筷子(位运算)

CX 小朋友找出了餐厅中所有的筷子,但遗憾的是这些筷子长短不一,而我们都知道筷子需要长度一样的才能组成一双,更麻烦的是 CX 找出来的这些筷子数量为奇数,但是巧合的是,这些筷子中只有一只筷子是落单的,其余都成双,善良的你,可以帮 CX 找出这只落单的筷子的长度吗?将所有筷子的长度进行按位异或,由交换律可知,我们可以把所有长度相等的值移到一起异或,每对相等的数异或等于0,所以所有数异或起来的结果一定是那个没有配对的数,即答案。思路打开,遂开map,存值,找数,出答案,自信满满,结果MLE了5个。

2022-09-19 14:24:17 224

原创 洛谷P1143 进制转换

共三行,第一行是一个正整数,表示需要转换的数的进制n(2≤n≤16)n(2≤n≤16),第二行是一个n进制数,若n>10n>10则用大写字母A-FA−F表示数码10-1510−15,并且该nn进制数对应的十进制的值不超过10000000001000000000,第三行也是一个正整数,表示转换之后的数的进制m(2≤m≤16)m(2≤m≤16)。

2022-09-19 13:55:41 250

空空如也

空空如也

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

TA关注的人

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