NOI-OpenJudge-2.1-2472子串计算

202112C语言三级真题(子串计算) 子串计算 给出一个只包含0和1的字符串(长度在1到100之间),求其每一个子串出现的次数。 时间限制:1000 内存限制:65536 输入 一行,一个01字符串。 输出 对所有出现次数在1次以上的子串,输出该子串及出现次数,中间用单个空格隔开。按子串的字典序从小到大依次输出,每行一个。 样例输入 10101 样例输出 0 2 01 2 1 3 10 2 101 2 思路: 利用双重循环,找到所有的子集,然后统计遍历,如果出现次数大于1的,就输出 #include<iostream> #i 阅读详情

2472:子串计算
总Time Limit: 1000ms Memory Limit: 65536kB
Description
给出一个只包含0和1的字符串(长度在1到100之间),求其每一个子串出现的次数。

Input
一行,一个01字符串。
Output
对所有出现次数在1次以上的子串,输出该子串及出现次数,中间用单个空格隔开。按子串的字典序从小到大依次输出,每行一个。
Sample Input
10101
Sample Output
0 2
01 2
1 3
10 2
101 2

读题之后会发现其实是一个很简单的枚举问题,只是轻微地用一下记忆化。

#include<bits/stdc++.h>
using namespace std;
int a[10000000]={0},maxx=0;
string b[100000],w[10000];int w1[10000];
void zh1(string st)
{
    bool pd=false;
    for(int i=1;i<=maxx;i++)
    {
        if(b[i]==st){
            a[i]++;
            pd=true;
        }
    }
    if(!pd){
        maxx++;
        b[maxx]=st;
        a[maxx]++;
    }
}
int main()
{
    string st;
    cin>>st;
    int l=st.length();
    for(int i=0;i<l;i++)
     for(int j=1;j<=l-i;j++)
      {
        string st1=st.substr(i,j);
        zh1(st1);
      }
      int m=0;
    for(int i=0;i<=maxx;i++)  
    {
        if(a[i]>=2) {   
            m++;
            w[m]=b[i];
            w1[m]=a[i];``
        }

    }
    for(int i=1;i<m;i++)
     for(int j=i+1;j<=m;j++)
     {
        if(w[i]>w[j]) 
        {
            string t;int tt;
            t=w[i];
            w[i]=w[j];
            w[j]=t;
            tt=w1[i];
            w1[i]=w1[j];
            w1[j]=tt;
        }
     }
     for(int i=1;i<=m;i++)
     {
        cout<<w[i]<<' '<<w1[i]<<endl;
     }
}
【牛客网】子串计算 题目描述 给出一个01字符串(长度不超过100),求其每一个子串出现的次数。 输入描述 输入包含多行,每行一个字符串。 输出描述 对每个字符串,输出它所有出现次数在1次以上的子串和这个子串出现的次数,输出按字典序排序。 样例输入 10101 样例输出 0 2 01 2 1 3 10 2 101 2思路分析 字典树+前序遍历 #include<iostream 阅读详情

相关推荐

微信自动化必备软件:inspect(获取微信界面元素)

SaveButton10015.2:1 ✅(合格)Passed ✅说明这个控件完全符合无障碍标准。

Ven%的博客 1383

Leetcode-1513. 仅含 1 的子串数

链接 1513. 仅含 1 的子串数 题目 给你一个二进制字符串 s(仅由 '0' 和 '1' 组成的字符串)。 返回所有字符都为 1 的子字符串的数目。 由于答案可能很大,请你将它对 10^9 + 7 取模后返回。 示例 示例 1: 输入:s = "0110111" 输出:9 解释:共有 9 个子字符串仅由 '1' 组成 "1" -> 5 次 "11" -> 3 次 "111" -> 1 次 示例 2: 输入:s = "101" 输出:2 解释:子字符串 "1" 在 s

道纪书生的博客 932

FPGA进位链(Carry Chain)实战:从Xilinx CARRY8原语到性能优化全解析

本文深入解析了FPGA进位链(Carry Chain)的原理与应用,重点剖析了Xilinx CARRY8原语的端口功能与内部机制。通过实测数据揭示了进位链的真实延迟特性与温度影响,并详细阐述了如何利用DI和S信号进行动态路径优化、实现减法运算与条件进位选择,从而有效提升设计性能。最后,文章探讨了系统级的流水线拆分、布局约束等实战优化策略与常见陷阱。

weixin_29313817的博客 453

子串计算

(某个题解的好方法,不是自己写的,还写不出来= =) 题目描述 给出一个01字符串(长度不超过100),求其每一个子串出现的次数。 输入描述: 输入包含多行,每行一个字符串。 输出描述: 对每个字符串,输出它所有出现次数在1次以上的子串和这个子串出现的次数,输出按字典序排序。 示例1 输入 10101 输出 0 2 01 2 1 3 10 2 101 2 #include <stdio.h> #include <string.h> #include <algorithm

weixin_43824527的博客 1867

从零到一:高通QCS6490边缘AI开发板的Linux生态构建与实战避坑指南

本文详细介绍了在高通QCS6490边缘AI开发板上构建Linux生态系统的完整流程,包括开发环境准备、系统镜像构建与烧录、AI运行时环境配置、模型部署优化以及性能调试。重点解析了如何利用Hexagon DSP的高达12 TOPS AI算力,并提供了实战中的避坑指南和性能优化技巧,帮助开发者高效实现边缘AI应用从概念验证到产品落地的全过程。

eee77的博客 770

麦克斯韦电磁场理论

1)从知识先后上说:麦克斯韦方程组为理解光的传播、反射、折射等现象提供了理论基础。不理解基础,怎么能理解上层建筑。2)从如何学懂上说,把基础学习的越牢,越深刻,后续学习上层建筑就会水到渠成一些,不会越学越多疑问。而是越学越少疑问。

weixin_55255438的博客 2826

2472:子串计算

描述 给出一个只包含0和1的字符串(长度在1到100之间),求其每一个子串出现的次数。 输入 一行,一个01字符串。 输出 对所有出现次数在1次以上的子串,输出该子串及出现次数,中间用单个空格隔开。按子串的字典序从小到大依次输出,每行一个。 样例输入 10101 样例输出 0 2 01 2 1 3 10 2 101 2 解析 主要还是分割字符串,然后枚举得到个数 这里我用了map和迭代器输出 代码 #include <iostream> #include <map> using na

lzx's blog 3755

AGX Orin 部署PyTorch与Torchvision 2026避坑指南

本文提供了2026年在AGX Orin开发板上部署PyTorch与Torchvision的详细避坑指南。针对ARM64架构和JetPack 6.2系统,重点解决了Python 3.10环境配置、官方wheel包安装、torchvision源码编译等关键步骤,并分享了常见问题解决方案和性能优化技巧,确保深度学习环境稳定运行。

sky77的博客 752

OpenJudge NOI 2.1 2472:子串计算

设map类型对象mp,键为子串,值为子串的个数。这样使用mp对象,就能通过子串获取到子串的个数。与解法2类似,设sub数组,保存Node类型对象,sub数组中的对象始终按子串字典序升序来排列。枚举结束后,对sub数组根据每个元素的子串按字典序从小到大进行排序,而后遍历输出。,每次新建一个键值对,实际上是在红黑树中插入一个新的结点,复杂度为。记输入字符串的长度为n,枚举子串的个数数量级为。如果字符串s长度为n,那么子串个数数量级为。字符串s的最大长度为100,子串个数为。

君义NOIP的博客 1572

各种AI的调试日记——辅助工作篇

记录使用各种AI(语言大模型)的心得和总结

m0_73056986的博客 1392

python实现边缘检测Canny算子 (附完整源码)

python实现边缘检测Canny算子 (附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 457

noi.openjudge 2016-05-25

选择其中比较有难度的 2472: 子串计算直接用 map 统计 7213: 垃圾炸弹前缀和 1816: 拨钟问题穷举 1815: 画家问题十字涂色,穷举第一行,递推最后一行做判断 7222: 怀表问题直接搜索超时,用DP,map纪录 (4种表链构件+尾巴状态,方案数) 比赛 题目 结果 内存 时间 代码长度 语言 提交时间 4.7算...

weixin_30709929的博客 163

RAP 值帮助实战:用 CDS 注解把 Fiori Elements 的输入体验做得又快又准

本文系统介绍了如何在SAP RAP应用中实现高效的值帮助(Value Help)功能。通过复用标准CDS View和自定义View Entity,开发者可以快速为字段添加弹窗选择、搜索和下拉框功能。文章详细讲解了三种核心实现方式:复用标准值帮助CDS View实现快速集成;构建自定义View Entity支持企业特定编码;利用搜索注解(@Search)和下拉框注解(@ObjectModel)优化用户体验。特别强调了文本显示、模糊搜索和小结果集下拉等实用技巧,并提供了可直接复用的国家代码值帮助示例。这些方法能

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 6466

1193:吃糖果

1193:吃糖果 【题目描述】 名名的妈妈从外地出差回来,带了一盒好吃又精美的巧克力给名名(盒内共有 N 块巧克力,0<N<20)。妈妈告诉名名每天可以吃一块或者两块巧克力。假设名名每天都吃巧克力,问名名共有多少种不同的吃完巧克力的方案。例如:如果N=1,则名名第1天就吃掉它,共有1种方案;如果N=2,则名名可以第1天吃1块,第2天吃1块,也可以第1天吃2块,共有2种方案;如果N=3,...

hipoole的博客 548

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

九度题目1149:子串计算

题目描述: 给出一个01字符串(长度不超过100),求其每一个子串出现的次数。 输入: 输入包含多行,每行一个字符串。 输出: 对每个字符串,输出它所有出现次数在1次以上的子串和这个子串出现的次数,输出按字典序排序。 样例输入: 10101 样例输出: 0 2 01 2 1 3 10 2 101 2 [ map

wxyfennie的博客 1756

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

牛客网 子串计算

题目描述 给出一个01字符串(长度不超过100),求其每一个子串出现的次数。 输入描述: 输入包含多行,每行一个字符串。 输出描述: 对每个字符串,输出它所有出现次数在1次以上的子串和这个子串出现的次数,输出按字典序排序。 示例1 输入 10101 输出 0 2 01 2 1 3 10 2 101 2 经验总结 这道题用了图和串,好用的使用方法有while(getline(cin,s)、mp3[...

weixin_44348004的博客 775

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

计算机考研机式刷题系列之子串计算

题目来源 牛客网 子串计算 题目描述: 给出一个01字符串(长度不超过100),求其每一个子串出现的次数。 输入: 输入包含多行,每行一个字符串。 输出: 对每个字符串,输出它所有出现次数在1次以上的子串和这个子串出现的次数,输出按字典序排序。 输入示例: 10101 输出结果 0 2 01 2 1 3 10 2 101 2 这个题目可以采用c++ stl中的map容器 首先输入是一个string...

Eugene__Li的博客 1193

【机试】子串计算 (STL)

子串计算 来源:北京大学 题目描述 给出一个01字符串(长度不超过100),求其每一个子串出现的次数。 输入描述 输入包含多行,每行一个字符串。 输出描述 对每个字符串,输出它所有出现次数在1次以上的子串和这个子串出现的次数,输出按字典序排序。 示例 输入 10101 输出 0 2 01 2 1 3 10 2 101 2 AC代码 #include<io...

coderwait 1116

九度OJ 题目1149:子串计算

 一.题目描述: 给出一个01字符串(长度不超过100),求其每一个子串出现的次数。 输入: 输入包含多行,每行一个字符串。 输出: 对每个字符串,输出它所有出现次数在1次以上的子串和这个子串出现的次数,输出按字典序排序。 样例输入: 10101 样例输出: 0 2 01 2 1 3 10 2 101 2 二.题目分析     题中原串的长度不超过10

lhyer的专栏 1514

C++:子串计算

给出一个01字符串(长度不超过100),求其每一个子串出现的次数。

快乐修勾的博客 1252

子串计算c++

给出一个只包含0和1的字符串(长度在1到100之间),求其每一个子串出现的次数。

m0_73934144的博客 1838

公共字串计算(最长公共子串/序列)C++

借着写题,来点总结 题目标题: 计算两个字符串的最大公共字串的长度,字符不区分大小写 输入 输入两个字符串 输出 输出一个整数 样例输入 asdfas werasdfaswer 样例输出 6

人间词话·CODE 5787

题目1149:子串计算

#include #include #include using namespace std; char s[105]; int main(){     int len,i,j;     string str,temp;     while(scanf("%s",s)!=EOF){         str=s;         map mymap;         len=str.lengt

Aden的专栏 572

C++子串计算

此题考查了枚举相关知识,在此基础上还可以进行枚举优化,代码仅供参考

2301_80959788的博客 532

训练赛题解

总结: 对于0基础的同学来说,前6题会做大部分就比较不错了,G题并不是难题,补题也需要会做,对于H、I,是针对有基础的同学出的题,0基础的同学没有学这2题的算法,可以自行学习或者暂时放弃这2题,确实比较有难度 A 本题签到,模拟即可 #include<bits/stdc++.h> using namespace std; string s; int t; void work(){ cin>>s;int ans=0; for(int i=0;i<s.length();i++)

sakuyu_10的博客 712
上一篇: NOIOpenjudge 1.13--08特殊日历计算
下一篇: NOI-OpenJudge-2.1-1973确定进制
MathsCode
博客等级 码龄10年 3000粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值