首页
比赛
题库
课程
竞赛讨论区
登录
/
注册
去牛客
首页
>
相遇
11条解析
开通博客写题解
keduoli
发表于 2024-05-31 21:55:13
前言 题解 参加了内测,内测的结果和比赛的结果差别很大。 个人觉得蛮难的, 但是也学到了。 E. 相依 思路: DP 看着像划分形DP,但中间需要绕一下 从刷表法的思路推,会发现很难,如果从填表法,就能找到优化的点 dp[u] = min(dp[v] + 1), 满足 str[v + 1]
展开全文
SDUwh
发表于 2024-05-31 21:18:46
手速场,做完签到就不会了,我好菜啊 A. 签到 #include <bits/stdc++.h> using namespace std; #define ll long long int main(){ int a,b; cin>>a>>b;
展开全文
蒟蒻果冻z
发表于 2024-05-31 23:20:39
E-相依 定义dp[i]为第一个数到第i个数所需要合并的最少次数,可以得到动态转移方程: dp[i] = min{dp[j - 1] + 1} (1 <= j < i且 val[i] = val [j]且 dp[j - 1]存在) 但是这样做要枚举前i - 1个数,时间复杂度原地爆炸。观
展开全文
Haborym
发表于 2024-06-01 00:20:06
出题人在此谢罪,题目难度整体偏高,并且G题没有卡掉某些暴力,现在数据已经加强。 题解 A 按照题面模拟 B 当2*A > B时,走到外面再转一圈是更好的,否则就不走外面 C 思维 简单手推一下发现答案只有 -1, 1, 2。 注意 需特判,因为一个数删不了,所以是 。 如果 ,答案为 1。
展开全文
爱吃鸡腿的变色龙拒绝无效加班
发表于 2024-05-31 22:12:52
原文链接 已发至CSDN
CarbonLee
发表于 2024-05-31 21:29:28
#include<bits/stdc++.h> using namespace std; int main(){ int a; int b; cin>>a>>b; if(a == b) cout<<'p'; el
展开全文
lzlwdz
发表于 2024-06-01 11:20:24
首先n==1和a[0]==a[n-1]特判一下 然后我们随便看个例子,10101111010,我们以这样的思路去删除,枚举所有a[0]==a[i] and a[i+1]==a[n-1]的位置, 如果存在直接输出2. 我们来尝试证明一下, 所以我们只需要找到这样的位置即可,否则就输出0 #includ
展开全文
CarbonLee
发表于 2024-05-31 21:30:35
#include<bits/stdc++.h> using namespace std; int main(){ int len; int n; char c[200005]; cin>>len>>n; for(int i
展开全文
CarbonLee
发表于 2024-05-31 21:31:20
#include<bits/stdc++.h> using namespace std; int main(){ int a; int b; cin>>a>>b; if(a * 2 < b){ cout<
展开全文
CarbonLee
发表于 2024-05-31 21:32:39
#include<bits/stdc++.h> using namespace std; int main(){ int n; cin>>n; if(n == 1){ cout<<-1; return 0;
展开全文
查看本题
查看本题讨论
相关比赛
82809-牛客小白月赛95内测
进入比赛
83687-牛客小白月赛95
进入比赛
85089-百度之星程序设计周赛(2)
进入比赛
85246-牛逼不牛逼
进入比赛
85805-qwe
进入比赛
等你来战
查看全部
牛客周赛 Round 98
报名截止时间:2025-06-29 21:00
牛客小白月赛119
报名截止时间:2025-07-04 21:00
牛客周赛 Round 99
报名截止时间:2025-07-06 21:00
牛客练习赛142
报名截止时间:2025-07-11 21:30
牛客周赛 Round 100
报名截止时间:2025-07-13 21:00
2025牛客暑期多校训练营1
报名截止时间:2025-07-15 17:00
2025牛客暑期多校训练营2
报名截止时间:2025-07-17 17:00
扫描二维码,关注牛客
意见反馈
下载牛客APP,随时随地刷题