第十一届蓝桥杯省赛第二场 I.子串分值和【简单dp】

2020年第十一届蓝桥杯省赛第二场Java大学B组真题及解析 总结:与往届题目相比,,暴力题型少了许多,增加了dp和图论的考察,不过在不会的情况下,暴力还是能骗不少分的 目录 试题A:门牌制作 试题B:寻找2020 试题C:蛇形填数 试题D:七段码 试题E:排序 试题F:成绩分析 试题G:单词分析 试题H:数字三角形 试题I:子串分值和 试题J:装饰珠 试题A:门牌制作 思路:枚举就行,水题一道,没啥说的,上代码 public class 门牌制作 { public static void main(String[] args 阅读详情

Link

分析

  1. 暴力的话是 O ( n 2 ) O(n^2) O(n2),考虑如何优化为 O ( n ) O(n) O(n)
    观察计算过程
    在这里插入图片描述
    发现有非常多的重复部分
  2. 令dp[i]为以第i号字符为结尾的所有值之和
    则有dp[1]所对应子串有a
    dp[2]:b、ab
    dp[3]:a、ba、aba
    即dp[i]对应子串为:dp[i-1]所对应所有的子串+a[i]
  3. 因计算的是不同字符数,故一字符出现后相同字符出现将不再对答案有贡献。所以对于字符a[i],需知道其上一次出现的位置,即pre[a[i]]。那么由于a[i]的影响,本次贡献为 上次贡献 + a[i]对应贡献
  4. 由上述解释得方程
    d p [ i ] = d p [ i − 1 ] + i − p r e [ a [ i ] ] dp[i]=dp[i-1]+i-pre[a[i]] dp[i]=dp[i−1]+i−pre[a[i]]

Code

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define double long double
const int maxn=1e6+5;
const int mod=1e9+7;
const int inf=1e18;
const int base=131;
const double pi=3.1415926;
#define ll long long
#define ull unsigned long long
#define maxx(a,b) (a>b?a:b)
#define minx(a,b) (a<b?a:b)
#define IOS ios::sync_with_stdio(false); cin.tie(0); cout.tie(0)
#define debug(...) fprintf(stderr, __VA_ARGS__)
inline ll qpow(ll base, ll n) { assert(n >= 0); ll res = 1; while (n) { if (n & 1) res = res * base % mod; base = base * base % mod; n >>= 1; } return res; }
ll gcd(ll a,ll b) {return b==0?a:gcd(b,a%b);}
ll lcm(ll a,ll b) { return a*b/gcd(a,b); }
ll inv(ll a) {return a == 1 ? 1 : (ll)(mod - mod / a) * inv(mod % a) % mod;}
ll C(ll n,ll m){if (m>n) return 0;ll ans = 1;for (int i = 1; i <= m; ++i) ans=ans*inv(i)%mod*(n-i+1)%mod;return ans%mod;}
ll A(ll n,ll m){ll sum=1; for(int i=n;i>=n-m+1;i--) sum=(sum*i)%mod; return sum%mod;}
ll GetSum(ll L, ll R) {return (R - L + 1ll) * (L + R) / 2ll;} //等差数列求和 
 
/************/
char a[maxn];
int n,dp[maxn],pre[500],ans;
signed main()
{
	scanf("%s",a+1);
	n=strlen(a+1);
	for(int i=1;i<=n;i++){
		dp[i]=dp[i-1]+i-pre[a[i]];
		pre[a[i]]=i;
		ans+=dp[i];
	}
	printf("%lld",ans);
	return 0;
}
蓝桥杯省赛 C/C++ ABC组题解(第四届 ~ 第十二届) 第十届蓝桥杯 题号 C++ A组 C++ B组 C++ C组 试题A 平方和 组队 求和 试题B 数列求值 年号字串 矩形切割 试题C 最大降雨量 数列求值 年号字串 试题D 迷宫 数的分解 质数 试题E RSA解密 迷宫 最大降雨量 试题F 完全二叉树的权值 特别数的和 旋转 试题G 外卖店优先级 完全二叉树的权值 外卖店优先级 试题H ... 阅读详情

相关推荐

第十一届蓝桥杯省赛第二场JavaC组子串分值

试题 J: 子串分值 时间限制: 1.0s 内存限制: 512.0MB 本题总分:25 【问题描述】 对于一个字符串 S,我们定义 S 的分值 f(S) 为 S 中恰好出现一次的字符个数。例如 f(”aba”) = 1,f(”abc”) = 3, f(”aaa”) = 0。 现在给定一个字符串 S[0…n − 1](长度为 n),请你计算对于所有 S 的非空子串 S[i…j](0 ≤ i ≤ j < n),f(S[i…j]) 的和是多少。 【输入格式】 输入一行包含一个由小写字母组成的字符串 S。 【

zz_zz__zz_zz的博客 1387

子串简写(蓝桥杯)(双指针)

程序猿圈子里正在流行一种很新的简写方法:对于一个字符串,只保留首尾字符,将首尾字符之间的所有字符用这部分的长度代替。然后判断两者下标之间有无大于等于k,直接加上(b的个数-当前b下标(因为cnt2等于b的个数加1,所以直接减就好,不用在加1)给定一个字符串 S 和两个字符 c1 和 c2,请你计算 S 有多少个以 c1 开头c2 结尾的子串可以采用这种简写?在本题中,我们规定长度大于等于 K 的字符串都可以采用这种简写方法(长度小于 K 的字符串不配使用这种简写)。|S | 代表字符串 S 的长度。

m0_74015873的博客 2238

第十一届蓝桥杯省赛第二场(10.17) C/C++ B组 题目 + 题解

A. 门牌制作 (5分) 【问题描述】 小蓝要为一条街的住户制作门牌号。 这条街一共有 2020 位住户,门牌号从 1 到 2020 编号。 小蓝制作门牌的方法是先制作 0 到 9 这几个数字字符,最后根据需要将字 符粘贴到门牌上,例如门牌 1017 需要依次粘贴字符 1、 0、 1、 7,即需要 1 个 字符 0, 2 个字符 1, 1 个字符 7。 请问要制作所有的 1 到 2020 号门牌,总共需要多少个字符 2? 【答案提交】 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,

qq_43461168的博客 1万+

蓝桥杯每日一题:子串简写

程序猿圈子里正流行一种很新的简写方法:对于一个字符串,只保留首位字符,将首位字符之间的所有字符用这部分的长度代替。例如internationalization简写成i18n,Kubernetes简写成K8s,Lanqiao简写成L5o等。下面给出题解代码, 共两个方案, 但核心思路都是一样的. 请注重思考, 不要无脑cv。先说这道题的解题方法: 二分法or双指针, 两种方案的题解我都会给出来。的下标单独用两个vector进行维护, 我们假设维护。的字符串都可以采用这种简写方法(长度小于。

Yonagi的博客 898

<蓝桥杯软件赛>零基础备赛20周--第18周--动态规划初步

DP初步

罗勇军的博客 8759

蓝桥杯大赛13-17年省赛真题,C/C++和Java,本科A、B组和高职高专组

蓝桥杯大赛13-17年这五年的省赛真题,每一年包含C/C++和Java,每种语言包括本科A组、本科B组、高职高专组,有分开来的文件夹试题,有合起来的word文档,内容非常全面,适合准备蓝桥杯的选手练习

子串简写(蓝桥杯2023)

思路:使用s[i]表示前缀中给定首字母出现的次数(可以用t变量维护),遍历的同时当出现尾字母时,答案累加s[i - k + 1]。思路:把下标记录到两个数组中,如何固定其中一个数组,在另一个数组中找下标距离大于等于k的个数有多少个。

weixin_73550568的博客 929

Office Tool Plus:正版Office干净部署指南

Office部署是Windows新机配置的关键环节,涉及版本选择、架构匹配、语言支持与合规激活等基础技术问题。其核心原理基于微软官方Office Deployment Tool(ODT)的声明式XML配置机制,通过标准化流程确保安装可复现、可审计、无第三方捆绑。技术价值在于规避官网安装器的版本锁定、架构误配和语言缺失等常见风险,提升部署稳定性与安全性。典型应用场景包括企业批量部署、IT运维标准化、隐私敏感型用户自主安装。本文以Office Tool Plus为实践载体,深入解析ODT底层逻辑、XML配置规范

1180

子串简写(第十四届蓝桥杯CB)

这时候遍历数组用了O(n)的时间复杂度,那么我们剩下的只有O(logn),O(logn)的算法我们想到的是二分,然后我们发现这个下标正好是按照顺序存的下标,正好符合二分的条件。事实是可以的,我们可以将O(logn)给优化掉,我们可以从第K个字符开始遍历,用cnt记录C1出现的次数,用ans记录结果,当i-k+1为C1的时候,我们需要将cnt++,接下来我们每次遍历到C2的时候,就将ans加上cnt。我们可以直接使用该STL,由于该函数的底层是利用二分的方法,所以我们不必担心超时的问题。至此,整个题解完毕!

m0_70182646的博客 1895

将AD域服务从windows server 2008 R2 迁移到windows server 2019

添加一台windows 2019 的服务器并加入现有林的域中,并将角色升级为域控制器。然后迁移FSMO角色,使其成为PDC,然后降级旧DC,并提升域和林的功能级别。最后还要说下,Server 2008 R2我们还可以删除角色并退出当前域,这里就不做操作了。2)右键 mingling.com(我的域为mingling.com)--提升域级别功能。勾选 将域控制器添加到现有域,使用域管理员将DC2加入到现有的AD域。1)打开服务器管理器---工具---AD域和信任关系。2)运行域安装服务向导,选择下一步。

lionxam的博客 3659

普元EOS8.3精简版安装指南:从零开始搭建低代码开发环境

本文详细介绍了普元EOS8.3精简版的完整安装流程。从JDK1.8环境准备、MySQL数据库配置与初始化,到核心配置文件修改、服务启动与登录验证,提供了从零开始搭建低代码开发环境的清晰步骤和常见问题排坑指南,帮助开发者快速部署并体验平台核心功能。

ik678901的博客 1101

蓝桥杯2023年第十四届省赛真题-子串简写

朴素的做法解蓝桥杯2023年第十四届省赛真题-子串简写问题

m0_64427730的博客 312

Docker 实战:使用 Docker Desktop 在 MacOS 上安装 Docker

在这采用 Docker Desktop 在 Mac 上来安装 Docker。Docker Desktop 是 Docker 的管理桌面 IDE,提供了一个直观的GUI(图形用户界面),允许您直接在本机上管理容器、应用程序以及镜像。适用于 Mac、Linux 以及 Windows 环境,允许您构建、共享和运行容器化应用程序和微服务。Docker Desktop 可以大大降低在复杂配置上的时间,因此您可以专注于编写代码。它负责端口映射、文件系统问题和其他默认设置,并定期更新 Bug 修复和安全更新。

SmartSi 8006

第十一届蓝桥杯省赛第二场JavaC组题解答案

624 16520 8879 1391 80 签到题 签到题 暴力dfs 优化:线性dp[i][j]=max(dp[i-1][j],dp[i-1][j-1]),从上向下递推,向左下走的次数与向右下走的次数相差不能超过 1,可推导出n为奇数取dp[n][n/2],偶数取max(dp[n][n/2],dp[n][n/2-1]) 暴力dfs 优化:树状dp 从目标种子反推,直到初始种子 ...

zz_zz__zz_zz的博客 2214

太空安全卫士:基于YOLOv5的空间态势感知系统(实现轨道碰撞预警与太空环境保护)

做完这个项目,你会发现自己完整走过了“数据采集→标注→模型训练→功能集成→界面开发”的毕设全流程,这不仅是技术能力的证明,更是对“技术守护宇宙安全”这一理念的实践。答辩时,你可以重点讲这几点:系统解决了航天监测的哪些痛点、YOLOv5在太空目标检测中的性能优势、系统未来能怎么优化(比如对接航天监测网络、实现实时轨道预测)。未来,这个系统还能往“更智能”的方向发展:比如结合轨道计算预测碰撞风险、开发移动端APP让天文爱好者参与太空垃圾上报、在航天任务中实现全自动避障决策……想象空间很大。

m0_71589036的博客 90

正确解决Authentication plugin ‘caching _sha2_password’ cannot be loaded:异常的有效解决方法

正确解决Authentication plugin ‘caching _sha2_password’ cannot be loaded:异常的有效解决方法

wbajsjhhhhh的博客 1万+

蓝桥杯2020年第十一届C/C++B组(第二次)省赛习题题解

蓝桥杯2020年第十一届C/C++B组省赛习题题解

lihua777的博客 7782

解决宿主机Ping不通虚拟机的问题

在使用虚拟机的过程中,我们常常会遇到宿主机和虚拟机之间无法相互通信的问题。具体来说,我们要查看虚拟机和宿主机的 IP 地址,然后尝试进行 Ping 测试。在某些情况下,我们可能发现 Ping 虚拟机不通,接下来我将分享如何解决这个问题。

howard2005的专栏 7万+

【备战蓝桥杯】第十四届蓝桥杯省赛C/C++ B组真题及题解

参加了两届蓝桥杯以及做过了往年的真题我的直观感受是蓝桥杯不再那么“暴力”了,而是逐渐趋向DP和搜素图论方面了。下面是第十四届蓝桥杯省赛C/C++ B组真题及题解,希望对阅读的你有所帮助。

Stephen_Curry___的博客 2万+

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

2023第14届蓝桥杯C/C++A组省赛题解

试题 I: 像素放置 时间限制: 1.0s 内存限制: 256.0MB 本题总分:25 分 【问题描述】 小蓝最近迷上了一款名为《像素放置》的游戏,游戏在一个 n × m 的网格棋盘上进行,棋盘含有 n 行,每行包含 m 个方格。 玩家的任务就是需要对这n × m 个方格进行像素填充,填充颜色只有黑色或白色两种。有些方格中会出现一个整数数字 x(0 ≤ x ≤ 9),这表示当前方格加上周围八个方向上相邻的方格(分别是上方、下方、左方、右方、左上方、右上方、左下方、右下方)共九个 方格内有且仅有 x

m0_53089164的博客 9981

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

【B类比赛】 第十一届蓝桥杯 省国赛经历

第十一届蓝桥杯国一记录

LH_991215的博客 2万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

倪文迪陪你学蓝桥杯2021寒假每日一题:1.8日(2017省赛A第6题)

2017年蓝桥杯软件类省赛C++大学A组第6题“最大公共子串”。

罗勇军的博客 4370

蓝桥杯2024【第十五届省赛】Python B (78分题解)

试题穿越时空之门第三年蓝球杯,感觉题目比往年简单多了。题量合适够我这种菜鸟解答... ...大概可能有45分,希望进省一大三最后i一次机会了55555试题穿越时空之门本题总分:5分【问题描述】随着 2024年的钟声回荡,传说中的时空之门再次敞开。这扇门是一条神秘的通道,它连接着二进制和四进制两个不同的数码领域,等待着勇者们的探索。在二进制的领域里,勇者的力量被转换成了力量数值的二进制表示中各数位之和。在四进制的领域里,力量的转换规则相似,变成了力量数值的四进制表示中各数位之和。

qq_38262237的博客 1万+

23年蓝桥杯省赛C++B组

赛时好像没写出来?还是咋写的来着我忘了,反正这个解法挺妙的,枚举每一天的日期,因为。longlong读懂题目就行了。赛时和补题的时候都出现了把1e3当成1e−3的情况,和没看见0的个数多这个条件。longlong赛时好像做出来了,发现了结论。但不知道为什么补题的时候就没反应,但这题好像想考的是二分。

XUE_DING_E的博客 2287

2020年 第十一届蓝桥杯第一场省赛题解(JavaC组版)

2020年蓝桥杯JavaB组第一场 2019年蓝桥杯JavaC组第一场 文章目录第一题:约数个数第二题:寻找2020第三题:跑步锻炼第四题:平面分割第五题:七段码第六题:成绩统计第七题:第八题:数字三角形第九题:作物杂交第十题:子串分值和 第一题:约数个数 对于一个整数,能整除这个整数的数称为这个数的约数。 例如:1, 2, 3, 6 都是 6 的约数。 请问 78120 有多少个约数。 答案: 96 Scanner scanner=new Scanner(System.in); int n=781

LauvMiracle的博客 2042
上一篇: 2019 ICPC 银川 G.Pot!!【线段树】
下一篇: 悬线法【动态规划】
WA自动鸡
博客等级 码龄7年 10粉丝 35原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值