Viktley
Viktley
全部文章
题解
未归档(4)
归档
标签
去牛客网
登录
/
注册
Viktley的博客
全部文章
/ 题解
(共8篇)
B 跳跳跳
题目大意: 给出n个点组成的环,每个点有一个权值为a[i],每次可以跳到一个未进过的点p,贡献为a[p] * i,问安排一种顺序使得贡献最大。 思路: 不管我们怎么跳,跳过的点都可以看成是一个区间,那我们每次跳跃就可以成是向区间左/右边扩大一格。 设f[i][j]表示区间[i,j]的最大贡献 ...
C++
动态规划
2021-11-13
0
377
A 数字游戏
A 数字游戏 题目大意: 给出一个数x,问需要几次操作使其变为零 思路: 首先预处理出二进制下有多少个一 分类讨论 注释:下面所以表示消掉1都是指除了最低位外的。 如果x是偶数(表示二进制下最低位为0) 如果总共有奇数个一, 那么显然我们消掉除所有的一,每次都是需要最后一位取反,也就是两次操...
C++
数学
2021-11-13
0
516
题解 | #String Game#
题目大意: 给出一个长度为n的字符串,问操作k次后的字符串。 定义一次操作为:将第一个字符放在末尾,其他字符向前移。 思路: Subtask1: 对于10510^5105次操作,我们可以直接选择暴力模拟翻转过程。 Subtask2: 对于这档分数,我们发现题目良心地给出了特殊条件A:x≡0...
2021-10-02
0
573
题解 | #k小数查询#
题目大意: 给出长度为的序列 , 有多少对不同的整数对满足且中第小的数是? 思路: 因为题目规定是一个排列,所以第k小数(设他为x)一定是唯一的(讲了跟没讲一样)考虑预处理出对于x左右两边的比他小的数有多少个,分别记为s[i]对于位置i前面有多少个比x小的数,e[i]表示对于位置i后面有多少个比x小...
2021-08-23
0
585
题解 | #中位数#
题目大意: 有个数,每次操作使两个数删掉,留下它们两个的和,问进过次操作后的最小中位数。 思路: 对于初中数学中位数的定义: 对于一个序列长度为奇数时,中位数为序列升序排序后的第 对于一个序列长度为偶数时,中位数为序列升序排序后的第那我们缩小中位数的大小,那一定是要将序列中小的数尽可能的位于中间的...
2021-08-23
0
512
题解 | #学姐的编码1.0 #
题目大意: 给出一段十六进制的编码,问其中是升序排序的子段有多少个? 思路: 简单的dp问题首先我们可以先将字符’0’ - ‘9’对应数字 0-9然后将字符’A’ - 'F’对应数字10 - 15我们用数组dp[i] 表示以i (上面的字符对应的数字) 为结尾的方案数因为要满足一个单调递增的条件,那...
2021-05-20
0
526
题解 | #字符串修改#
题目大意: 给你一条字符串,奇数位的字母变成它的后一位字母(z->a),偶数位则变为前一位字母(a->z),问变换后的字符串?(保证字符串只含小写字母) 思路: 依题意,很容易想到变换一定是在一条环上进行的,即:(前一个)a->z,(后一个)z->a。那我们用类似约塞夫环的方...
2021-05-20
0
699
二进制?十进制!
原题链接 题目大意: 输入两个数A,B,求两数二进制形式以十进制相加后结果 首先进制转换(十->二)。接着考虑像高进度的方法,将每一位相加,最后关心最高位大于个位数,多加一位。 #include <cstdio> #include <iostream> using ...
2021-04-02
1
703