首页 > 其他分享 >2024.4.6练习笔记

2024.4.6练习笔记

时间:2024-04-06 19:44:44浏览次数:21  
标签:std 2024.4 string int 质数 练习 笔记 using include

浙江理工大学 2024 年程序设计竞赛(同步赛)

F leetcode

题目要求:求出一个序列中对于每个位置 \(i\) ,以 \(i\) 为起点第一个\(\text{leetcode}\) 子序列的终止位置。需要注意的是不要求子序列连续。不存在则答案为零。

容易想到双指针,但是会 TLE,考虑一些优化。

扫描序列,字母是属于 \(\text{leetcode}\) 中的字母则将其位置记录进vector。此时保证vector数组中的数字是严格递增的。之后在每个位置向后搜索目标子序列每个字母是否存在一个位置在正在搜索的位置之后并且在子字符串上个搜索到的位置之后。

#include<bits/stdc++.h>
using namespace std;

string s;
string lc="leetcode";
map<char,vector<int>> mp;

int solve(int pos){
    for(int j=0;j<lc.size();j++){
        char c=lc[j];
        auto ans=lower_bound(mp[c].begin(),mp[c].end(),pos);
        if(ans==mp[c].end())
            return 0;
        pos=*ans+1;
    }
    return pos;
}

int main(){
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    cin>>s;
    for(int i=0;i<s.size();i++)
        if(lc.find(s[i])!=string::npos)
            mp[s[i]].push_back(i);
    for(int i=0;i<s.size();i++){
        int pos=i;
        cout<<solve(pos)<<" ";
    }
    return 0;
}

G 好想会数学啊

题目要求:求第一个大于 \(10^{30} + 50\) 的质数。

根据质数距离很小的原则,直接从 \(10^{30} + 50\) 逐步加即可。

优化:\(+2,+3,+4,+5,+6\) 均可手动判断不是质数。所以只要尝试输出 \(+1,+7\) 即可。

\(10^{30} + 50\) 采用 Miller-Rabin 判断质数。

最坏的情况可以在七次之后猜出正确答案。你心中的答案,我猜不出。

#include<bits/stdc++.h>
using namespace std;

int main()
{
    string s="1000000000000000000000000000057";
    cout<<s;
}

I 神说要有光

模拟就行

#include<bits/stdc++.h>
using namespace std;

const int N=1e4+7;
string s[N];
int n,q,op;

void Init(){
    for(int i=1;i<=n;i++)
        s[i].resize(n,'a');
}

int main(){
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    cin>>n>>q;
    Init();
    int a,c,d;
    char b;
    while(q--){
        cin>>op;
        switch(op) {
            case 1:
                cin >> a >> b ;
                s[a].erase();
                s[a].resize(n,b);
                break;
            case 2:
                cin >> a >> b ;
                for(int i=1;i<=n;i++)
                    s[i][a-1]=b;
                break;
            case 3:
                cin>>c>>b;
                for(int i=1;i<=n;i++)
                    for(int j=0;j<n;j++)
                        if((i+j+1)==c)
                            s[i][j]=b;
                break;
            case 4:
                cin>>d>>b;
                for(int i=1;i<=n;i++)
                    for(int j=0;j<n;j++)
                        if((i-j-1)==d)
                            s[i][j]=b;
                break;
            case 5:
                cin>>a;
                cout<<s[a]<<endl;
                break;
        }
    }
    return 0;
}

L 今天是个上分的好日子

模拟就行

#include<bits/stdc++.h>
using namespace std;

#define ll long long
ll ans,liansheng;
string a;
int s;

int main()
{
    cin>>a;
    for(int i=0;i<a.size();i++)
    {
        s=a[i]-'0';
//        cout<<s<<endl;
        if(s==1){
            liansheng++;
            ans+=3;
            if(liansheng>=2&&liansheng<=6)
                ans+=liansheng-1;
            else if(liansheng>6) ans+=5;
        }
        else{
            liansheng=0;
            ans-=12;
        }
    }
    cout<<ans<<endl;
    return 0;
}

标签:std,2024.4,string,int,质数,练习,笔记,using,include
From: https://www.cnblogs.com/Sure042/p/18117812

相关文章

  • 【Qt 学习笔记】详解Qt中的信号和槽
    博客主页:DuckBro博客主页系列专栏:Qt专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞......
  • 机器学习和深度学习--李宏毅 (笔记与个人理解)Day7
    Day7RegressionCasestudy(预测宝可梦的cp)Regression可以做什么?股票预测自动驾驶推荐预测宝可梦的cp(能力类似这样的属性把)这里突然想到,是不是可以用洛克王国和赛尔号做事情哈哈注意:用下标来表示某一个完整的物体的某一个部分,例如:x表示妙蛙种子;那么xhp就表示......
  • CTF wed安全 (攻防世界)练习题
    一、disabled_button步骤一:进入网站发现按钮按不了步骤二:按F12会查看源代码,会发现disableddisable属性在HTML中,disabled属性只有两个值:一个是不带值(例如:disabled),表示禁用该元素;另一个是带有任意非空值(例如:disabled="true"),表示禁用该元素并将其状态提交到服务端。如果......
  • 24.4.5C语言学习笔记|访问空间地址【之前一直迷惑的问题】
    1、如何访问一个空间?有名访问无名访问指针的大小跟你的编译器是x64系统还是x86系统有关,%p,打印地址(十六进制)C语言如何用地址来描述一个空间?C语言如何识别变量的属性?定位,先右看,再左看数组:有多少个?每一个怎么存的?高级变形第二个:定位---a5【一个指针,地址,门牌号】怎么访......
  • web学习笔记(五十二)数据库
    目录1.数据库的相关概念1.1什么是数据库1.2常见数据库的分类1.3 传统型数据库的数据组织结构1.4补充2.  使用SQL管理数据库2.1 什么是SQL?2.2 SQL能做什么2.3  SQL的SELECT语句2.4  SQL的INSERTINTO语句2.5 SQL的UPDATE语句2.6 SQL......
  • Camera KMD ISP学习笔记(8)-Camera SMMU
    学习资料来源:https://deepinout.com/camx-kmd/camera-kmd-isp-subsystem-intro.html仅用于个人学习,侵联删 SMMU/IOMMU:处理IODeviceDMA访问内存的计算机硬件,实现dmaaddr(IOVA)到物理地址的映射MMU:处理CPU访问内存的计算机硬件,实现CPU虚拟地址到物理地址的映射 SMMU&&DMA......
  • Camera KMD ISP学习笔记(7)-CRM pipeline delay和V4L2 Event
    学习资料来源:https://deepinout.com/camx-kmd/camera-kmd-isp-subsystem-intro.html仅用于个人学习,侵联删 Realtimepipeline或实时Pipeline,在这个Pipeilne上的硬件设备有一些特点:实时,实时是指streamon后一直在出图,如下图的蓝色线(flash和actuator不会出图,但也是挂载到Realt......
  • JsonCpp 笔记: 读写 Json 文件
    JsonCpp笔记:读写Json文件完成时间:2024-04-06本文主要介绍使用JsonCpp读写Json文件,JsonCpp是C++上的一个Json处理库Json的语法如果熟悉Json语法,此部分可以跳过Json包含两种结构:对象(object),它是键值对的集合(key:value)有序数组(array)......
  • FPGA入门笔记011_A——嵌入式块RAM的使用
    1、Cyclone-II系列FPGA内部结构图1——Altera公司Cyclone-II系列FPGA内部结构​ 如上图所示是Altera公司Cyclone-II系列FPGA内部结构,个模块作用如下:​ PLL锁相环—对时钟进行管理。​ IOEs—管脚单元,配置管脚,设置输入输出。​ 逻辑阵列—实现组合、时序逻辑。​ 块RAM......
  • Docker学习笔记(二):在Linux中部署Docker(Centos7下安装docker、环境配置,以及镜像简单使用
    一、前言记录时间[2024-4-6]前置文章:Docker学习笔记(一):入门篇,Docker概述、基本组成等,对Docker有一个初步的认识在上文中,笔者进行了Docker概述,介绍其历史、优势、作用,以及基本组成。通过此,相信大家对Docker有了一个初步的认识。接下来就进入Docker的安装、环境配置,和简......