sunrise__sunrise
sunrise__sunrise
全部文章
分类
未归档(12)
读书笔记(1)
题解(372)
归档
标签
去牛客网
登录
/
注册
刘晟的博客
记录产出的算法题解和知识分享地址
TA的专栏
306篇文章
2人订阅
每日一题
147篇文章
1167人学习
牛客算法竞赛入门课
92篇文章
1259人学习
牛客编程巅峰赛S1
6篇文章
787人学习
2020牛客暑期多校训练营
10篇文章
870人学习
算法专项
7篇文章
1210人学习
2021牛客寒假算法基础集训营
6篇文章
797人学习
tmp
2篇文章
683人学习
2021牛客暑期多校训练营
36篇文章
1338人学习
全部文章
(共385篇)
牛客练习赛78
A、CCA的词典 因为我们可以随意交换相邻两个数,根据冒泡排序规则,所以我们可以得到由这些字母组成的任意字符串。那么我们就对每行字符串进行字典序排序,再使用计数器计数即可。 #include <bits/stdc++.h> using namespace std; #define js ...
2021-03-13
4
911
【每日一题】3月11日[HAOI2016]字符合并 区间dp
来自专栏
题目描述 给你长度为的一个字符串,你可以选择长度为的一段合并成一个字符,并且会得到一个价值。现在通过二进制中大小在后面的行中依次给出,问你这个字符串在最优的合并情况下,可以得到的最大价值是多少。 Solution 通过题目发现,所以最终得到的字符串一定是一个的字符串,如果存在大于情况,一定可以再合并...
2021-03-11
0
878
【每日一题】3月10日石子搬运 线段树优化dp
来自专栏
Solution 首先我们思考一个简化版的问题,如果不支持修改,我们如何找到搬运完全部石头数的最优解。考虑动态规划解题,对于一堆石子来说,我们可以枚举搬运次数,根据求解的消耗是很容易发现数学规律,我们要让每次搬运的石头尽可能相同的多,就算有不同的不同的两次之间绝对值差值只能小于等于。那么我们考虑代表...
2021-03-10
1
824
【每日一题】3月9日Tree Decoration 树形dp
来自专栏
题目描述 给出一个有个节点的一棵树,每个节点都有需要完成的任务数量,某个节点的任务完成数量等于全部子节点中完成数量的和,如果子节点完成数量的和依旧不够当前节点的任务,我们对于当前节点可以花费每个任务的金币进行补交任务,当然这个补交存在也可以在子节点中进行。问你,完成这个节点全部的任务最小的花费是多少...
树形结构
2021-03-08
1
720
牛客IOI周赛23-普及组
A、小L的作文 给出字符串,求解字符的出现次数。签到题,遍历计数即可。 const int N = 1e5 + 7; ll n, m; char s[5005]; void solve() { char ch = getchar(); getchar(); scanf("%...
IOI周赛
2021-03-06
1
684
【每日一题】3月5日Tallest Cow 差分
来自专栏
中文题意 给出头牛,并且告诉你最高的牛在位置,以及它的身高是,还有对可以互相看见的牛,两头牛之间可以互相看见,当且仅当他们它们身高相同并且中间全部的牛都比它的身高更低,并且给出的对关系可能重复,输出每头牛可能的最高身高。 Solution 考虑朴素算法,我们保证每头牛最大的情况下,就把身高初始化成,...
差分
2021-03-04
4
923
【每日一题】3月3日The Cow Lineup 思维题
来自专栏
中文题意 给你长度为的一串数字序列,并且里面每个数。你要从中间选出最短的非公共子序列。也就是你构造的子序列原序列找不到。 Solution 首先我们来看几个特别的例子,如果一组样例是: 4 3 1 1 2 1 那么显然答案是1,你可以构造一个子序列它的值是3个数中没出现的哪个。再看一组样例 7 4...
2021-03-02
2
888
【每日一题】3月2日区区区间 线段树
来自专栏
解题思路 整个题面一看就有着溢出屏幕的线段树的味道。那么任何使用线段树维护区间,我们使用线段树又要维护什么呢?显然对于我们每次的修改,都是存在一定规律的,既公差的等差数列,并且每次求解的都是一段区间的和,那么我们就用标记推迟往下赋值的时间,并且使用记录区间的和,因为给出了首项,项数可以通过的距离求解...
线段树
2021-03-01
1
1043
【每日一题】2月26日Coprime Subsequences 容斥原理
来自专栏
中文题意 给你个数,问你从中挑选非空的子序列并且保证子序列的子序列数量有多少个。 。 Solution 正向不太好做,那么就反向思考,我们可以选择的总的子序列个数是个。减去选择一个素数这些子序列个数,再加上选择两个不同素数乘积这些的子序列数量,再减去选择三个素数的,依次容斥就是答案了。注意我们还需要...
2021-02-27
1
719
牛客练习赛77
A、小G的sum 对于每个数,最小的约数是1,最大的约数是它本身。那么使用等差数列求合即可。 void solve() { n = read(); ll ans = n + (1 + n) * n / 2; print(ans); } B、小G的GCD 对于单个,很容易发现可...
牛客练习赛
2021-02-27
4
735
首页
上一页
2
3
4
5
6
7
8
9
10
11
下一页
末页