构造
肩上杯雪
自强不息,知行合一
展开
-
Codeforces Round #653 (Div. 3) D. Zero Remainder Array
题意 给定一个长度为n的数组nums 初始化一个x = 0, 每次你可以有两种操作: 1)x ++ 2)nums 任意一个元素 + x。其中每个元素最多加一次x。 最终目的是让数组中每个元素都能被给定的一个k整除。 思路 : 对于一个数 tmp,我们考虑两种情况: 1) tmp < k 若是tmp + x mod k = 0, 则可以得到 tmp = A*k - x. 可知如果要得到结果,x from 1 to k 这样的更新迭代期间,便可让tmp得到最终结果。 如果其中有两个相同数值的tmp,则.原创 2020-06-29 15:52:23 · 144 阅读 · 0 评论 -
Educational Codeforces Round 90 D.Maximum Sum on Even Positions
题意: 给定一个数组,设其偶数位置(0, 2, … 2k)上的元素和为sum。我们可以对任意一个子数组,最多逆转一次。计算能得到的最大的sum。 思路 首先我们可以想到,如果逆转的子数组length是奇数,则不会有任何变化。 例如 1 2 3 4,逆转长度为3的子数组,可以发现其sum不变。 那么我们便观察,逆转偶数长度的子数组。 例如 7 8 4 5 7 3 我们逆转长度为4的子数组——5 4 8 7 7 3, 可以发现其sum = 5 + 8 + 7,相对于 7 + 4 + 7,变化了(8-7) + .原创 2020-06-28 21:11:26 · 185 阅读 · 0 评论 -
Codeforces 1373C - Pluses and Minuses
题目含义: 本题并不是让你复现给的代码,而是以更简单的时间复杂度实现。 题目思路: 相当于找规律,首先打印出example1 里的变量改变情况。 可以从上图看出,每次cur初始值递增,相当于设定了一个界限min, cur < min时,更新这个界限为 cur;同时res增加的部分,相当于 遍历的步长i + 1。因为每次都从头遍历一遍,而cur递增,前面的部分一样。 最后ans += len(str),因为从头到尾遍历了一遍此字符串。 举例说明, --±。 初试 cur = min = ans = .原创 2020-06-27 17:14:39 · 361 阅读 · 0 评论 -
LeetCode 686 重复叠加字符串
链接 : 原题 题意 : 给定一个字符串a和b,判断 a重复加自身几次,b才是a的子串。 思路: 这里的子串是连续子串,并不是按顺序存在b里所有字母即可。所以我用的是 string里的find。 题目说如果永远不可能,就输出-1,那么这个判定条件颇耐人寻味。如果不断加a后的字符串str的长度 > a + b的长度 - 1,那么b就不可能是a的子串了。 原因很简单,我们设 len1...原创 2020-05-01 18:16:22 · 195 阅读 · 0 评论 -
LeetCode 76 最小覆盖子串
链接 : 最小覆盖子串 题意:给定一个字符串s以及t,判断 s 里包含 t 所有字母的最小子串。 思路:双指针的应用——滑动窗口 (官方题解)举个例子,S = “ABAACBAB”,T = “ABC” 首先两个指针 left = right = 0 然后right 逐渐增加,直到窗口包含t 所有字母 这时,维护最小的窗口,所以逐渐 缩减窗口,left ++ 。如果窗口减小后,不满足条件,则r...原创 2020-04-27 22:56:20 · 141 阅读 · 0 评论 -
北邮机试——special数
题意 设一个数既是平方数又是立方数,那称它为special数。在输出1-n中有多少special数。 思路 一开始没有转过弯来,长时间没写题,想的是两个set,一个加入平方数一个加入立方数,然后判断公共数。 后来想到special数是六次方数, 于是很简单了。 代码 #include "bits/stdc++.h" using namespace std; #define mem(a,b) m...原创 2020-04-17 15:06:53 · 244 阅读 · 0 评论 -
Codeforces 1017 problem C
题目链接 :http://codeforces.com/contest/1017/problem/C 题意 :给定一个数n,构造这样一个数列: 长度为n 其中数字为1-n的整数,并且每个数字只出现一次 它的LIS(最长递增子序列)和LDS(最长递减子序列)的和sum 最小。 思路 :因为考虑到LIS和LDS的和,可以把这1-n个数分成m个区间,其中每个区间之内满足递增,每个区间之间满足递减。而...原创 2018-08-19 20:57:08 · 214 阅读 · 0 评论 -
2018 ICPC沈阳站 热身赛B——CLS and LCS
Problem B. CLS and LCS Claris is learning about the longest common subsequence problem. (这里省略一段LCS的介绍,因为最长公共子序列是dp的经典问题,所以大家可以自行查询) For homework she was given two strings A and B, both of length N and...原创 2018-10-20 22:26:20 · 392 阅读 · 2 评论