2022 Jiangsu Collegiate Programming Contest I. Cutting Suffix

news2024/9/22 13:45:05

题目链接
在这里插入图片描述
Examples
input

aa

Output

1

input

ab

Output

0

题目大意:

后缀i是字符串从第i个字符开始到最后的字符字串
定义Wi,j是字符串 后缀i和后缀j的公共前缀(LCP)的长度
现在给你一个全集为1-n的互补集T1,T2
要求题目中求和公式的最小值。

题目要点:

1.Wi,j是长度!
2.T1∩T2=空集
3.T1∪T2={1,2,3,…,n}
4.如果两个字符串第一个字符就不相等,LCP为0

解题思路:

如果字符串中字母都相同,将|T1|=1,即放其中一个字母进T1,其他的进T2,即可得到最小值
eg. aaa
aaa a(i=1)和aa(j=2)的LCP为1,a(i=1)和a(j=3)的LCP为1,加起来为2(刚好是字符串长度减一)
第二种情况是如果字符串中出现了不同的字母,随机选择一个字母,将其全部放进T1,其余的放进T2即可
这样一来,因为第一个字母就不同,LCP全为0,和自然为0
Eg. aaca
aaca c(i=3)和aaca(j=1)和aca(j=2)和a(j=4)的LCP都为0
总结:如果字符串字母组成相同,输出字符串长度-1,否则输出0

C++

#include<iostream>
using namespace std;
int main(){
    string s;
    cin>>s;
    int flag=1;
    for(int i=1;i<s.size();i++){
        if(s[i]!=s[i-1]){
            flag=0;
            break;
        }
    }
    if(flag)cout<<s.size()-1;
    else cout<<0;
    return 0;
}

C语言:

#include <stdio.h>
int main(void){
    char last=-1;
    char ch;int all=0;
    while((ch=getchar())!='\n'){
        all++;
        if(last!=-1&&ch!=last){printf("0");return 0;}
        last=ch;
    }
    printf("%d",all-1);
    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/494350.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

学习笔记(1 - 01)项目初始化的方案和对比

目录 1&#xff0c;创建项目的方式1.1&#xff0c;两种方式创建的项目比对HbuilderX创建的项目&#xff1a;cli创建的项目 1&#xff0c;创建项目的方式 uniapp提供两种方式创建项目&#xff1a; 通过HbuilderX编辑器创建&#xff1a; 通过vue-cli创建 第一方式只能通过Hbuild…

如何在Facebook上创建一个成功的广告账户?

Facebook广告已成为许多企业吸引客户和推广品牌的主要方式。但是&#xff0c;如果你没有经验或知识&#xff0c;创建一个成功的Facebook广告账户可能会变得相当棘手。在这篇文章中&#xff0c;我将向你介绍如何创建一个成功的Facebook广告账户。 第一步&#xff1a;创建Faceboo…

Lucene和Solr和Elasticsearch区别,全文检索引擎工具包Lucene索引流程和搜索流程实操

文章目录 基本概念什么是全文检索技术全文检索的应用场景搜索引擎站内搜索&#xff08;关注&#xff09;文件系统的搜索 Lucene & solr & es介绍区别Solr与Lucene对比ES与Lucene的区别ES与Solr对比 Lucene实现全文检索的流程入门程序需求环境准备数据库脚本初始化Lucen…

ADAS测试方案

一 方案概述 随着5G通讯与互联网的快速发展&#xff0c;智能汽车和ADAS辅助系统的研究与发展在世界范围内也在如火如荼地进行。风丘紧跟时代脚步&#xff0c;经多年积累沉淀&#xff0c;携手整车厂与高校共同研发打造出了一套完整且适用于国内ADAS测试的系统方案。 | ADAS测试…

C/C++每日一练(20230506) 翻转词序、字符金字塔、单词搜索

目录 1. 翻转顺序打印 ※ 2. 字符金字塔 ※ 3. 单词搜索 &#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 翻转顺序打印 初始化一个字符数组为"Th…

【Java面试八股文】Java基础篇——String+集合+泛型+IO+异常+反射

导航&#xff1a; 【黑马Java笔记踩坑汇总】JavaSEJavaWebSSMSpringBoot瑞吉外卖SpringCloud黑马旅游谷粒商城学成在线设计模式牛客面试题 目录 三、String 3.1.String常量池 3.2.请你说说String类 3.3.new String("abc")创建了几个字符串对象&#xff1f; 3.4…

双线性插值(Bilinear interpolation)原理推导

文章目录 参考资料前言推导先x方向&#xff0c;后y方向先y方向&#xff0c;后x方向 简化后的双线性插值双线性插值的一阶导 参考资料 https://en.wikipedia.org/wiki/Bilinear_interpolation 前言 双线性插值&#xff0c;又称为双线性内插。在数学上&#xff0c;双线性插值是…

chatGPT的对手,Claude注册教程

完美替代chatGPT&#xff01;Claude注册教程及浅浅的测评 注册 slack 访问地址&#xff1a;https://slack.com/ 点击使用电子邮件注册 建议使用Google邮箱进行登录&#xff0c; 当然使用Google邮箱登录需要使用魔法 登录成功后 创建Slack工作区 我的邀请链接 https://join.…

Ae:绘画工具 - 描边选项

在 Ae 中使用绘画工具&#xff08;画笔工具、仿制图章工具及橡皮擦工具&#xff09;时&#xff0c;都会在时间轴面板的绘画 Paint效果中添加“描边选项” Stroke Options&#xff0c;不同的工具有一些不同的属性。 描边选项里的属性主要用于绘画描边之后的调整&#xff0c;并可…

【Leetcode -405.数字转换为十六进制数 - 409.最长回文串】

Leetcode Leetcode -405.数字转换为十六进制数Leetcode - 409.最长回文串 Leetcode -405.数字转换为十六进制数 题目&#xff1a;给定一个整数&#xff0c;编写一个算法将这个数转换为十六进制数。对于负整数&#xff0c;我们通常使用 补码运算 方法。 注意 : 十六进制中所有…

flask+opencv+实时滤镜(原图、黑白、怀旧、素描)

简介&#xff1a;滤镜&#xff0c;主要是用来实现图像的各种特殊效果。图像滤镜用于改变图像的视觉效果&#xff0c;使其具有特定的风格。下面是这三种滤镜的详细说明&#xff1a; 1、黑白&#xff08;Grayscale&#xff09;&#xff1a;黑白滤镜将彩色图像转换为灰度图像&…

全景丨0基础学习VR全景制作,平台篇第17章:热点功能-视频

大家好&#xff0c;欢迎观看蛙色VR官方——后台使用系列课程&#xff01; 功能说明 应用场景 热点&#xff0c;指在全景作品中添加各种类型图标的按钮&#xff0c;引导用户通过按钮产生更多的交互&#xff0c;增加用户的多元化体验。 视频热点&#xff0c;即点击热点后弹出一个…

Camtasia2023全新版下载安装使用教程

Camtasia2023是一款功能强大的屏幕录制和视频编辑软件。它可以帮助用户轻松地记录电脑屏幕上的任何操作&#xff0c;并可以将录制的视频进行编辑和制作成高质量的视频教程、演示文稿、培训课程等。 Camtasia具有直观的界面和易于使用的工具&#xff0c;包括添加文本、音频、动…

qt程序设置同时只能运行一个,避免重复打开

qt程序设置同时只能运行一个&#xff0c;避免重复打开 [1] qt程序设置同时只能运行一个&#xff0c;避免重复打开[2] Qt 桌面软件防止重新启动一、创建互斥量二、使用QLockFile 创建锁定文件&#xff0c;通过能否锁定来判断是否已经有程序启动。三、使用 系统信号量 QSystemSem…

基于ATECLOUD的航电系统可灵活扩展自动化测试平台

随着电子技术的发展&#xff0c;航电系统在飞机整机中的重要性飞速提升。据统计&#xff0c;近年来航电系统在飞机出厂成本中的比例直线上升&#xff0c;航电系统研发成本已占飞机研制总成本的近30%&#xff0c;并保持着持续扩大的趋势。测试保障作为航电产业链至关重要的一环&…

一起学 WebGL:绘制图片

大家好&#xff0c;我是前端西瓜哥。之前讲解了如何用 WebGL 绘制红色三角形&#xff0c;今天西瓜哥带大家来学习如何将图片绘制到画布上的技术&#xff1a;纹理映射&#xff08;texture mapping&#xff09;。 本文为系列文章中的一篇&#xff0c;请先阅读&#xff1a; 《一起…

25000 字详解 23 种设计模式(多图 + 代码)

25000 字详解 23 种设计模式&#xff08;多图 代码&#xff09; 目录 创建型模式结构型模式行为型模式总结 前言 一直想写一篇介绍设计模式的文章&#xff0c;让读者可以很快看完&#xff0c;而且一看就懂&#xff0c;看懂就会用&#xff0c;同时不会将各个模式搞混。 设计…

记录一次docker容器引起的时间相差8h的问题

一、背景 系统打印日志时间小8h&#xff0c;部分插入mysql的日期却大8h&#xff0c;简直诡异。 测试时间是上午10:05 经过排查&#xff0c;mysql设置的时区&#xff0c;链接url设置的时区都是ok的。而且有其他服务时间正常&#xff0c;故排除MySQL的问题。 二、排查 2.1 查…

AIGPT中文版(无需魔法,直接使用)不愧是生活工作的好帮手。

AIGPT AIGPT是一款非常强大的人工智能技术的语言处理工具软件&#xff0c;它具有 AI绘画 功能、AI写作、写论文、写代码、哲学探讨、创作等功能&#xff0c;可以说是生活和工作中的好帮手。 我们都知道使用ChatGPT是需要账号以及使用魔法的&#xff0c;其中的每一项对我们初学…

09-Vue技术栈(TodoList案例)

目录 1、前期准备2、组件化编码流程3、拆分静态组件3.1 app组件3.2 TodoList组件3.2.1 TodoItem组件 3.3 TodoFooter组件 4、实现动态组件5、实现交互5.1 渲染页面5.2 添加功能5.3 勾选or取消勾选一个todo5.4 删除一个todo5.5 渲染TodoFooter底部内容5.6 全选or取消全选5.7清除…