首页 > 其他分享 >2024.08.28蚂蚁

2024.08.28蚂蚁

时间:2024-09-11 13:02:57浏览次数:10  
标签:小苯 蚂蚁 int res 28 2024.08 vector 数组 物品

1. 小苯买东西

小苯看中了一件价值为p元的物品,他手里有1个“打折券"和1个“立减券”。
两种优惠券可以都用在物品上,且使用顺序也是任意的。两种优惠券分别以整数x和y的方式给出。
打折券:如果当前物品价格为p,使用后,物品价格变为:x·p/100上取整。
立减券:如果当前物品价格为P,使用后,物品价格变为:max(0,p-y)。即物品价格立减y元,但最多减到0.
小苯想知道,这件价值为p的物品最少可以花多少钱买到。

打卡题
int main() {
    int p,x,y;
    cin>>p>>x>>y;
    int res = (x*p+99)/100 - y;
    if(res<0) res=0;
    cout<<res;
    return 0;
}

2. 数组操作

小红拿到了一个数组,她可以进行最多一次操作:选择一个元素,使其加1.
小红希望操作结束后,数组所有元素乘积的末尾有尽可能多的0。你能帮帮她吗?

有点代码量,但还是简单
int main() {
    int n;
    cin>>n;
    vector<int> nums(n);
    for(int i=0;i<n;i++)
        cin>>nums[i];
    int res = 0;
    vector<int> cnt0(n);
    vector<int> cnt2(n);
    vector<int> cnt5(n);
    for(int i=0;i<n;i++){
        int num = nums[i];
        while(num){
            int end = num%10;
            if(end==0) cnt0[i]++;
            else{
                if(end==2) cnt2[i]++;
                if(end==5) cnt5[i]++;
                break;
            }
            num/=10;
        }
    }
    int totalcnt0 = accumulate(cnt0.begin(),cnt0.end(),0);
    int totalcnt2 = accumulate(cnt2.begin(),cnt2.end(),0);
    int totalcnt5 = accumulate(cnt5.begin(),cnt5.end(),0);
    res = totalcnt0 + min(totalcnt2,totalcnt5);
    for(int i=0;i<n;i++){//尝试修改
        int curcnt0 = totalcnt0-cnt0[i];
        int curcnt2 = totalcnt2-cnt2[i];
        int curcnt5 = totalcnt5-cnt5[i];
        int num = nums[i]+1;
        while(num){
            int end = num%10;
            if(end==0) curcnt0++;
            else{
                if(end==2) curcnt2++;
                if(end==5) curcnt5++;
                break;
            }
            num/=10;
        }
        res = max(res,curcnt0+min(curcnt2,curcnt5));
    }
    cout<<res;
    return 0;
}

3. 小苯爬山

小苯来到了一座山脉,山脉中有n座山,每座山都有一个高度。
有些山之间有路径连接,例如如果a号山和b号山之间有路径,如果小苯想的话,他可以从a山走到b山,同样的,也可以从b山走到a山。
但小苯很懒,如果两座山之间的高度差大于一定的值k,他就不会走这条路(无论是上山还是下山)。
形式化的即:|ha-hb|>k的话,小苯便不会走这条路。现在他提出了q次询问,每次询问他都会给出一组(a,b,k),
他想知道,如果他从a山出发,高度差大于k的路径他不走,能否找到一条路使得他能走到b山呢,请你帮帮他吧。

连通域标号


标签:小苯,蚂蚁,int,res,28,2024.08,vector,数组,物品
From: https://www.cnblogs.com/929code/p/18408062

相关文章

  • Study Plan For Algorithms - Part28
    1.跳跃游戏题目链接:https://leetcode.cn/problems/jump-game/给定一个非负整数数组nums,你最初位于数组的第一个下标。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标,如果可以,返回true;否则,返回false。classSolution:defca......
  • 贪心算法day28|买卖股票的最佳时机、55. 跳跃游戏、1005. K 次取反后最大化的数组和
    贪心算法day28|买卖股票的最佳时机、55.跳跃游戏、1005.K次取反后最大化的数组和122.买卖股票的最佳时机II55.跳跃游戏1005.K次取反后最大化的数组和122.买卖股票的最佳时机II给你一个整数数组prices,其中prices[i]表示某支股票第i天的价格。在每一......
  • 挑战不可能篇1——洛谷28分钟14道CCF GESP C++ 一级上机题&洛谷14道题题解
    扯谈今天继续挑战不可能:洛谷28分钟14道题这我个人认为不简单,算上编译、提交、命名等杂七杂八的东东之后,只剩下了大约1分钟/题。本次挑战的是CCFGESPC++一级上机题.这竟然能成功!下面附上每一题第一题第二题第三题第四题第五题第六题第七题第八题第九题第十题......
  • P2286
    你说的对,但是set是一种高效的数据结构,定义于bits/stdc++.h,使用std进行调用……#include<bits/stdc++.h>usingnamespacestd;constintmaxn=1000000;constintINF=1e9;intn,ans;set<int>s;voidfind(intx){set<int>::iteratorleft,right;left=--......
  • 易百纳ss928开发板移植自训练模型跑通yolov5算法
    ss928平台移植官方yolov5s算法参考文章:https://www.ebaina.com/articles/140000017418,这位大佬也开源了代码,gitee链接:https://gitee.com/apchy_ll/ss928_yolov5s本文在参考上述文章的基础上,将官方yolov5s模型跑通,验证推理图片正确,然后移植自训练的推理模型,在移植过程中遇到了一些......
  • 2024.08.25字节
    1.周期字符串小红有一个长度为n的字符串s,由0、1和*组成,可以把*替换成0或者1,小红想知道替换后的字符串的最短周期是多少,如果一个字符串每一个位置的字母都与后k位的字母相同,那么k即为该字符串的一个周期。形式化的说,如果存在一个正整数k使得对于所有的i属于[1,n-k]都有s......
  • 洛谷题单指南-常见优化技巧-P2880 [USACO07JAN] Balanced Lineup G
    原题链接:https://www.luogu.com.cn/problem/P2880题意解读:在若干个不定长区间里,求区间最大值与最小值之差解题思路:对于区间求最值,通常有几种方式:1、暴力法,通过枚举所有的区间来计算区间最值2、单调队列,针对区间长度固定的情况3、ST表,针对区间长度不固定且元素不会发生改变的......
  • 828华为云征文 | 华为云 Flexus X 实例 :与腾讯云性能算力大比拼
    828华为云征文|华为云FlexusX实例:与腾讯云性能算力大比拼在当今云计算市场中,华为云和腾讯云都是备受瞩目的云服务提供商。本文将重点对比华为云FlexusX实例与腾讯云在性能算力方面的表现,帮助用户更好地了解两者的优势与差异。一、引言随着数字化时代的加速发展,......
  • LG AI 研究中心开源 EXAONEPath:通过285M Patch级预训练模型变革组织病理学图像分析,实
    基于LGAIResearch在AI语言模型方面的显著成就,特别是推出EXAONE3.0之后,EXAONEPath的开发代表了另一个重要的里程碑。这标志着EXAONE在数字病理学这一关键医学诊断领域的一次重大转型,通过解决全幻灯片图像(WSI)在病理学中的复杂挑战以及提高病理图像处理效率,EXAONEPath广泛应用......
  • 2024.08.31美团
    1.小美的姓名统计小美写单词喜欢横着写,她记录了若干个人的名字,但是不小心加进去了一些无关的单词。一个名字单词以大写字母开头,请你帮助她统计共有多少个人的名字。简单输入处理intmain(){stringcur;intres=0;while(cin>>cur){if(cur[0]>='A'......