首页 > 其他分享 >【vjudge训练记录】大一寒假专项训练——字符串

【vjudge训练记录】大一寒假专项训练——字符串

时间:2025-01-17 18:13:27浏览次数:1  
标签:string 训练 int vjudge long -- solve 大一 define

训练情况

A题

第十届中国大学生程序设计竞赛(济南)-(CCPC2024-Jinan)签到题

我们取第一行第一个和后面的进行比较,如果不同的次数超过1次,就说明第一行第一个是不同的那个,如果不同的次数刚好为1次,比较的那个字符串是不同的那个。

#include <bits/stdc++.h>
#define int long long
#define endl '\n'

using namespace std;

void solve(){
    int n,m,k;
    cin>>n>>m>>k;
    vector<string> s(n);
    for(int i = 0;i<n;i++) cin>>s[i];
    string base = s[0].substr(0,k);
    int ansn = 0,ansm = 0;
    int cnt = 0;
    for(int i = 0;i<n;i++){
        for(int j = 0;j<m*k;j+=k){
            if(s[i].substr(j,k) != base){
                cnt++;
                ansn = i;
                ansm = j/k;
            }
        }
    }
    if(cnt>1) ansn = 0,ansm = 0;
    cout<<ansn+1<<" "<<ansm+1<<endl;
}

signed main(){
    // int T; cin>>T; while(T--)
    solve();
    return 0;
}

B题

字符串比较。统计不同的位数

#include <bits/stdc++.h>
// #define int long long
#define endl '\n'

using namespace std;

void solve(){
    string s; cin>>s;
    string t = "codeforces";
    int ans = 0;
    for(int i = 0;i<t.size();i++){
        if(s[i] != t[i]) ans++;
    }
    cout<<ans<<endl;
}

signed main(){
    int T; cin>>T; while(T--)
    solve();
    return 0;
}

C题

输出第一个字符+UPC

#include <bits/stdc++.h>
// #define int long long
#define endl '\n'

using namespace std;

void solve(){
    string s; cin>>s;
    string ss = s.substr(0,1);
    cout<<ss + "UPC";
}

signed main(){
    // int T; cin>>T; while(T--)
    solve();
    return 0;
}

D题

字符串翻转,p变q,q变p,w不变

#include <bits/stdc++.h>
// #define int long long
#define endl '\n'

using namespace std;

void solve(){
    string s; cin>>s;
    int n = s.size();
    for(int i = n-1;~i;i--){
        if(s[i] == 'p') cout<<"q";
        else if(s[i] == 'q') cout<<"p";
        else cout<<s[i];
    }
    cout<<endl;
}

signed main(){
    int T; cin>>T; while(T--)
    solve();
    return 0;
}

E题

2023-2024 ICPC, NERC, Northern Eurasia Onsite (2023ICPC北亚决赛)签到题

枚举字符串的分割位置,统计左右两边的L个数和O个数,如果不一样则输出这一位,不存在输出-1

示例代码使用前后缀和进行处理,赛时有看到统计前缀L和O的个数,最后再用总和去减求出后缀个数,代码实现会更简单。

#include <bits/stdc++.h>
// #define int long long
#define endl '\n'

using namespace std;

void solve(){
    int n; cin>>n;
    string s; cin>>s;
    vector<int> pl(n + 1),sl(n + 1),po(n + 1),so(n + 1);
    for(int i = 0;i<s.size();i++){
        if(s[i] == 'L') pl[i]++,sl[i]++;
        else if(s[i] == 'O') po[i]++,so[i]++;
    }
    for(int i = 1;i<n;i++) pl[i]+=pl[i-1],po[i]+=po[i-1];
    for(int i = n-2;~i;i--) sl[i]+=sl[i+1],so[i]+=so[i+1];
    for(int i = 0;i<n-1;i++){
        if(po[i]!=so[i+1]&&pl[i]!=sl[i+1]){
            cout<<i+1<<endl;
            return;
        }
    }
    cout<<-1<<endl;
}

signed main(){
    // int T; cin>>T; while(T--)
    solve();
    return 0;
}

标签:string,训练,int,vjudge,long,--,solve,大一,define
From: https://www.cnblogs.com/longxingx/p/18677266

相关文章

  • 【嵌入式人生】1.2025应届生四处碰壁的思考:若回到大一,我将这么干
    803.001 若笔者回到大一,将会按照如下方式过,根据一路以来找工作最后成功上岸的经验简单的总结为以下几点(以就业为标准,以走嵌入式道路为标准),想到还会继续更新  1.门门都要学好,争做好学生?大学学习的知识不足以让你达到社会上的就业标准,若不选择保研,与其花100%的精力让自......
  • 视觉语言模型——原理、模型架构、训练方法
    1.概述近年来深度学习在计算机视觉(CV)和自然语言处理(NLP)等单模态领域都取得了十分优异的性能。随着技术的发展,多模态学习的重要性和必要性已经慢慢展现。视觉语言学习作为多模态学习的重要部分,得到国内外研究人员的广泛关注。得益于Transformer框架的发展,越来越多的预......
  • 日常训练2025-1-17
    日常训练2025-1-17rating:1500https://codeforces.com/problemset/problem/2007/C思路(裴蜀定理)碰到要么加a要么加b的题一定要想到裴蜀定理,ax+by=gcd(a,b)。即每个数可以加减k*gcd(a,b)。所以我们可以把每个数都调整到只相差小于gcd(a,b)的范围内。这样会贡献一......
  • 代码随想录算法训练营第8天 | 344.反转字符串,541. 反转字符串II,替换数字
    一、刷题部分1.1题目名称原文链接:代码随想录题目链接:344.反转字符串-力扣(LeetCode)1.1.1题目描述编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组s的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用O(1)的额外空间解决......
  • 代码随想录算法训练营第四天 | 24. 两两交换链表中的节点、19. 删除链表的倒数第N个节
    9-24.两两交换链表中的节点给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 示例1:输入:head=[1,2,3,4]输出:[2,1,4,3]示例2:输入:head=[]输出:[]示例3:输入:head=[1]输出:[1] 提......
  • 扎克伯格知晓 Meta 使用盗版图书馆数据训练 AI
    近日,随着Meta公司在一场关于版权的集体诉讼中披露的文件浮出水面,该公司利用一个名为LibraryGenesis(LibGen)的盗版电子书图书馆来训练其最新的AI聊天机器人Llama3的消息引发了广泛关注。这些文件显示,Meta的工程师曾讨论过利用LibGen这一“影子图书馆”的潜在风险,......
  • 专项训练2
    贪心专题1.[NOIP2015普及组]推销员link:https://www.luogu.com.cn/problem/P2672思路跟正解大差不差,但想的有点复杂了。先把所有的按疲劳值排个序,(这样省却了找最大疲劳值的过程),然后只用考虑第x大的和后面距离+疲劳值最大值的比较即可(累了,不想写了)2.TwoHeapslink:https://......
  • 日常训练2025-1-16
    日常训练2025-1-16C.AddZerosrating:1500https://codeforces.com/problemset/problem/2027/C思路(转化为图)我们把公式化成|a|=a_i+i-1,即满足这个公式的位置会给长度加i-1所以相当于从a_i+i-1---->a_i+i-1+i-1建一条有向边,跑一个dfs即可。......
  • JAVA开源毕业设计 编程训练系统 Vue.JS+SpringBoot+MySQL
    本文项目编号T128,文末自助获取源码\color{red}{T128,文末自助获取源码}......
  • 代码随想录算法训练营第二十天 | 235. 二叉搜索树的最近公共祖先、701. 二叉搜索树中
    235.二叉搜索树的最近公共祖先题目链接:https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-search-tree/description/文档讲解:https://programmercarl.com/0235.%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91%E7%9A%84%E6%9C%80%E8%BF%91%E5%85%AC%E5%......