马蹄集第37周

news2024/11/27 5:59:05

1、最小子串覆盖

考点:双指针

代码:


def judge(s,t,l,r):
    m = [0] * (256)
    for i in t:
        m[ord(i)] += 1
    for i in range(l,r+1):
        if s[i] in t:
            m[ord(s[i])] -= 1
    for i in m:
        if i > 0:
            return False
    return True



def main():
    result = "No"
    s = input()
    t = input()
    l = r = 0   #定义一个滑动窗口
    num = 100000
    # print("字符串",len(s))
    while(r < len(s) and l<=r):
        if judge(s,t,l,r):
            # tmp = s[l:r + 1]
            # print("满足条件的字符串:",tmp)
            l += 1
            while judge(s,t,l,r):
                # tmp = s[l:r + 1]
                # print("滑动窗口缩小:",tmp)
                l+=1
            l -= 1
            if (r-l+1) < num:
                num = r-l+1
                result = s[l:r + 1]
        r += 1
    print(result)

if __name__ == '__main__':
    main();

2.方块桶

代码:



def main():
    n = int(input())
    a = [int(i) for i in input().split()]
    # print(n,a)
    l = 0
    r = n - 1
    maxl = a[0]
    maxr = a[n-1]
    ans = 0
    while l<r:
        if maxl <= maxr:
            l += 1
            maxl = max(maxl, a[l])
            ans += maxl - a[l]
        else:
            r -= 1
            maxr = max(maxr, a[r])
            ans += maxr - a[r]
    print(ans)

if __name__ == '__main__':
    main();

3.新材料

#include<bits/stdc++.h> 

using namespace std;
map<int,int> lst;
int n,k;

int main( )
{
    scanf("%d%d",&n,&k);
    int ans=0;
    for(int i=1;i<=n;i++){
        int cur;
        scanf("%d",&cur);
        if(!lst.count(cur)) lst[cur] = i;
        else if (lst[cur] == -1) continue;
        else if(i - lst[cur] > k) lst[cur] = i;
        else ans ^= cur,lst[cur] = -1;
    }
    cout << ans << endl;
}

4、与蝴蝶一起消散吧

解题思路:看不懂看不懂

直接抄答案

#include<bits/stdc++.h> 

using namespace std;
int n,k;
int main( )
{
    long long ans0 = 0,ans1 = 0;
    scanf("%d%d",&n,&k);
    for(int i = 1;i <= n;i++){
        int a,m;
        scanf("%d%d",&a,&m);
        if(a>k){
            ans0 = ans1 = min(ans0 + k,ans1) + 1ll * (a-k) *m;
        }
        else{
            long long nxt0 = min(ans0 + 1ll * (m + 1)/2*a,ans1 + 1ll*m/2*a);
            long long nxt1 = min(ans0 + 1ll * (m + 2)/2*a,ans1 + 1ll*(m + 1)/2*a);
            ans0 = nxt0;
            ans1 = nxt1;
        }
    }
    cout << min(ans0,ans1)<<endl;
}

5、炼金术

这班实在是呆不下去了,这个题也太长了,答案都那么长,抄都不想抄

给大家一个链接吧,自己抄吧

【2023百度之星第三场题解】嘉宾:NOI、IOI金牌周航锐_哔哩哔哩_bilibili

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

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

相关文章

EMNLP 2023 亮点回顾:大模型时代下的 NLP 研究

作为自然语言处理&#xff08;NLP&#xff09;领域的顶级盛会&#xff0c;EMNLP 每年都成为全球研究者的关注焦点。2023 年的会议在新加坡举行&#xff0c;聚集了数千名来自世界各地的专家学者&#xff0c;也是自疫情解禁以来&#xff0c;中国学者参会最多的一次。巧的是&#…

windows 快捷键 win+tab 图标显示工具栏设置

在Windows中&#xff0c;按下Win Tab组合键会打开任务视图&#xff0c;该视图显示当前打开的窗口以及工作区的虚拟桌面。如果你希望在任务视图中显示工具栏设置&#xff0c;可以按照以下步骤进行&#xff1a; 1. 打开设置&#xff1a; 使用快捷键Win I或在任务栏上右键单击开…

南京大学-软件分析-课程05-数据流分析基础理论2

7. 迭代算法与不动点定理关联 我们需要证明自己的Transfer Function是单调的 代码什么时候会停止 8. May/Must Analysis, A Lattice View May Analysis Unsafe result->Safe result 如果我是一个查错的定义&#xff0c; 没有no definition的错误&#xff0c;这是一个不安…

Java开发框架和中间件面试题(2)

8.说说自己对Spring MVC的了解&#xff1f; MVC是一种设计模式&#xff0c;Spring MVC是一款很优秀的MVC框架。Spring MVC可以帮助我们进行更简洁的Web层开发&#xff0c;并且它天生与Spring框架集成。SpringMVC下我们一般把后端项目分为Service&#xff08;处理业务&#xff0…

21、Web攻防——JavaWeb项目JWT身份攻击组件安全访问控制

文章目录 一、JavaWeb二、JWT攻击 一、JavaWeb webgoat 1.java web的配置文件&#xff0c;配置文件一般在META-INF目录下&#xff0c;文件名常为pom.xml或web.xml 2.如何通过请求&#xff0c;查看运行的java代码。 地址信息PathTraversal/profile-upload 直接找到以该字符P…

【网络技术设备安全】BGP 基础与概述-2-中转 AS 中的 IBGP 路由传递

0x01 中转 AS 中的 IBGP 路由传递 参考该图&#xff1a; 上图&#xff0c;我们模拟一个 1.0 的路由通过 AS 65101 来传递 1&#xff1a;通过图可知&#xff0c;A 与 B 之间的 Peer 为 EBGP&#xff0c;B 与 E 之间为 Peer IBGP&#xff0c;E 与 F 之间为 Peer EBGP 邻接 2&a…

python爬取网页图片并下载

python爬取网页图片并下载之GET类型 准备工作 【1】首先需要准备好pycharm&#xff0c;并且保证环境能够正常运行 【2】安装request模块 pip install requestsimport request导入request内置模块 【3】安装lxml模块 pip install lxmlfrom lxml import etree导入lxml.etre…

机器学习---随机森林

1、使用决策树来做回归或者预测值 如上图&#xff0c;使用学历、收入、身高、行业使用决策树来预测收到的邮件数。可以将邮件数分为几类&#xff08;也可以按照其他列&#xff0c;将邮件数分类&#xff09;&#xff0c;比如邮件数<23封属于A类&#xff0c;邮件数大于23<邮…

使用 Node.js 插件给指定目录下的所有图片添加上文字水印

说在前面 加水印是为了保护图片的版权和安全。在互联网上&#xff0c;很容易将图片下载或者截屏保存下来&#xff0c;然后进行二次使用&#xff0c;这就侵犯了原作者的版权。而加上水印可以使得图片更难被盗用&#xff0c;因为盗用者需要花费时间和精力去处理水印&#xff0c;而…

【稳定检索|投稿优惠】2024年交通运输与能源动力国际学术会议(IACTEP 2024)

2024年交通运输与能源动力国际学术会议(IACTEP 2024) 2024 International Academic Conference on Transportation and Energy Power(IACTEP) 一、【会议简介】 2024年交通运输与能源动力国际学术会议(IACTEP 2024)将在美丽的三亚盛大启幕。本次会议将聚焦交通运输与能源动力等…

【所有方法一览】大模型推理优化:在更小的设备运行、推理增速

大模型推理优化&#xff1a;在更小的设备运行、推理增速 知识蒸馏&#xff08;优先&#xff09;模型剪枝模型量化&#xff08;优先&#xff09;参数共享低秩分解参数搜索 知识蒸馏&#xff08;优先&#xff09; 知识蒸馏&#xff1a; 知识&#xff1a;模型参数、一堆矩阵蒸馏&…

C#线程Thread的使用

引言 在C#编程语言中&#xff0c;线程是一种并发执行的机制&#xff0c;可以实现多个任务同时执行&#xff0c;提高程序的效率和响应能力。C#提供了Thread类来处理线程相关的操作。本文将详细介绍C#中Thread类的使用方法和注意事项。 目录 引言线程的基本概念线程&#xff08;…

Ubuntu 常用命令之 sudo 命令用法介绍

&#x1f4d1;Linux/Ubuntu 常用命令归类整理 sudo命令在Ubuntu系统中是一个非常重要的命令&#xff0c;它允许系统管理员赋予某些用户&#xff08;或用户组&#xff09;以系统管理员的身份运行一些或全部的命令。sudo代表“superuser do”&#xff0c;即以超级用户的身份执行…

掌握Guava的并发工具:轻松应对复杂并发场景

推荐语 这篇文章介绍了 Guava 的一些常用并发工具类的使用方法。通过学习这些工具类&#xff0c;我们可以轻松地处理异步操作。这些工具类不仅功能丰富&#xff0c;还大大简化并发编程的复杂性。无论你是初学者还是经验丰富的开发者&#xff0c;这篇文章都会对你在并发编程方面…

2023年中国数据智能管理峰会(DAMS上海站2023)-核心PPT资料下载

一、峰会简介 数据已经成为企业的核心竞争力&#xff01;谁掌控数据、更好的利用数据、实现资产化&#xff0c;谁就会真正率先进入大数据时代。 1、数据智能管理趋势和挑战 在峰会上&#xff0c;与会者讨论了数据智能管理的最新趋势和挑战。随着数据量的不断增加&#xff0c…

本地websocket服务端结合cpolar内网穿透实现公网访问

文章目录 1. Java 服务端demo环境2. 在pom文件引入第三包封装的netty框架maven坐标3. 创建服务端,以接口模式调用,方便外部调用4. 启动服务,出现以下信息表示启动成功,暴露端口默认99995. 创建隧道映射内网端口6. 查看状态->在线隧道,复制所创建隧道的公网地址加端口号7. 以…

华为OD机试 - 区间交集 - 深度优先搜索dfs算法(滥用)(Java 2023 B卷 200分)

目录 专栏导读一、题目描述二、输入描述三、输出描述备注用例1、输入2、输出3、说明 四、解题思路1、核心思路&#xff1a;2、具体步骤 五、Java算法源码再重新读一遍题目&#xff0c;看看能否优化一下~解题步骤也简化了很多。 六、效果展示1、输入2、输出3、说明 华为OD机试 2…

【小呆的力学笔记】弹塑性力学的初步认知二:应力分析(1)

文章目录 1.1 一点的应力状态1.2 一点主应力状态1.3 应力偏张量、球张量、应力不变量 1.1 一点的应力状态 物体在受到外力或者自身不均匀的温度场等作用时&#xff0c;在其内部会产生内力&#xff0c;物体的内力与方向和截面都有关系。假设有一个受到外力作用的变形体&#xf…

【Linux】Linux线程概念和线程控制

文章目录 一、Linux线程概念1.什么是线程2.线程的优缺点3.线程异常4.线程用途5.Linux进程VS线程 二、线程控制1.线程创建2.线程终止3.线程等待4.线程分离 一、Linux线程概念 1.什么是线程 线程是进程内的一个执行流。 我们知道&#xff0c;一个进程会有对应的PCB&#xff0c;…

【LeetCode刷题笔记(12-1)】【Python】【有效的字母异位词】【排序/字符统计】【简单】

文章目录 引言有效的字母异位词题目描述提示 解决方案1&#xff1a;【排序】解决方案2&#xff1a;【字符统计】结束语 有效的字母异位词 引言 编写通过所有测试案例的代码并不简单&#xff0c;通常需要深思熟虑和理性分析。虽然这些代码能够通过所有的测试案例&#xff0c;但…