首页 > 其他分享 >天梯选拔赛2补题_2024_03_09

天梯选拔赛2补题_2024_03_09

时间:2024-03-10 12:33:05浏览次数:16  
标签:03 int dif 09 ai 补题 exp ans

补题1:奶茶袋收集

题意:

做法:贪心。之前还做过类似的题,赛时一直想不出来。选择k个连续的的区间,就是需要添加k-1个挡板。问题是挡板设置在哪里?可以发现一个连续线段的max-min等于线段中各个差值之和。如果k=1,那么ans=∑(ai+1-ai);如果k=2,那么需要添加一个挡板。贪心地放,挡板应该放在最大的ai+1-ai中。然后答案为剩下的ai+1-ai。

void solve(){               //补L1-7--奶茶袋收集-贪心。之前写过一模一样的题。。现在还想歪了,往前缀和想。。
    int n,k,x,ans=0,last=-1;
    cin>>n>>k;
    vector<int> dif;
    for(int i=1;i<=n;i++){
        cin>>x;
        if(i>=2) dif.emplace_back(x-last);
        last=x;
    }
    sort(dif.begin(),dif.end(),greater<int>());
    for(auto d:dif){
        if(k>1) k--;
        else ans+=d;
    }
    cout<<ans;
}

补题2:swj学长的融合

题意:

做法:题目本身完全没有难度,主要是读题目没读懂升级机制是什么,不知道怎么样“以此类推”。赛后读懂题目之后轻松补了。

vector<pair<int,int>> vct[100005];
int x,m,a,b,c,d,ans=0;
void dfs(int step){
    for(auto to:vct[step]){
        ans+=to.second;
        dfs(to.first);
    }
}
void solve(){               //补L2-2--swj学长的精灵融合--建图dfs..赛时题目都没读懂,不知道等级升级系统(类似金铲铲)是怎么样都,不知道怎么以此类推..
    cin>>x>>m;
    for(int i=1;i<=m;i++){
        cin>>a>>b>>c>>d;
        int exp=1;
        if(d==1) exp=0;
        if(c==1) exp+=( (d-2) * (1+d-2) )/2;
        if(c==2) exp+=( (d-2) * (2+2*(d-2) ) )/2;
        if(c==3) exp+=( (d-2) * (5+5*(d-2)) )/2;
        //cout<<exp<<endl;
        vct[a].emplace_back(b,exp);
    }
    dfs(x);
    cout<<ans;
}

 

标签:03,int,dif,09,ai,补题,exp,ans
From: https://www.cnblogs.com/ouhq/p/18062878

相关文章

  • P4395 [BOI2003] Gem 气垫车
    原题链接题解当你直到贪心不可行的时候就要用dp了code#include<bits/stdc++.h>usingnamespacestd;intans=2e9;vector<int>G[10005];intdp[100005][55]={0};voidss(intnow,intfa){for(autonext:G[now]){if(next==fa)continue;ss(ne......
  • 2024-03-10
    2024-03-10雨天的尾巴(线段树合并)每个点建动态开点权值线段树,把每棵树的根记到\(root\)跟gyx学长学的线段树小窍门%%%在\(Node\)结构体中重载\(+\)号代替\(update\)\(query\)函数类型设置为\(Node\)方便合并答案第2条在这题里面没有用到关于第一条加......
  • There is no getter for property named 'category_id' in 'class com.sky.entity.Dis
    我在前后端联调时,sql语句的set没有书写正确,程序无法getter到Dish实体类的categoryId属性,导致后端报错dish实体类:错误格式:正确格式:......
  • 洛谷 P1099 题解
    洛谷P1099【NOIP2007提高组】树网的核题意简述给定一棵带边权无根树和一个正整数\(s\)。在这棵树的任意直径上截取一段长度不超过\(s\)的路径\(F\),使离\(F\)最远的点到\(F\)的距离最小,求出这个距离。思路记\(\delta(a,b)\)为\(a,b\)之间的路径。对于任意......
  • 20240309 专项训练
    图论(拓扑、强连通分量)专项训练以下算法若无特殊提及,复杂度一般都为\(\mathcal{O}(n+m)\)水平。studylink有\(n\)个项目,对于某些项目\(x\)和\(y\),必须先学完\(x\)再开始学\(y\)。请问能否完成所有项目的学习。对于\(30\%\)的数据,保证\(1\len,m\le15\)。......
  • 2024.03.07
    今天是周四,寒假没碰乒乓球,上课练习基本功都拉胯了。今日代码时间半小时。Android架构Android操作系统是一个软件组件的栈,在架构图中它大致可以分为五个部分和四个主要层。 Android程序库这个类别包括了专门为Android开发的基于Java的程序库。这个类别程序库的示例包......
  • 20240309
    瑞士轮思路:快排会g,所以要归并排序defineintlonglong会g,关掉快排函数:stable_sort,用法和sort一样#include<bits/stdc++.h>usingnamespacestd;//#defineintlonglongstructinf{intscore;intid;intforce;};boolcmp(infa,infb){if......
  • ISA指令集架构简介与蜂鸟E203处理器公开资料整合
    ISA(InstructionSetArchitecture)指令集架构可分为CISC与RISC:CISC(ComplexInstructionSetComputer)计算机复杂指令集,不仅包含了处理器常用的指令,还会含有许多不常用的特殊指令。这会导致其指令集的数目较多,故称为复杂指令集。RISC(ReducedInstructionSetComputer)计算机精简......
  • 09_Linux权限管理
    Linux权限管理1.为什么要管理Linux权限?很好管理每个用户。控制每个用户对系统权限的访问初次创建的用户要比普通用户有更多的权限。Ubuntu的用户分为3类:1:root(超级用户)2:系统初次创建的用户,比如topeet3:安装完系统之后创建的用户。用户的信息全部被保存在/etc/passwd文件......
  • 2024-03-09:用go语言,我们把无限数量的栈排成一行,按从左到右的次序从 0 开始编号, 每个栈
    2024-03-09:用go语言,我们把无限数量的栈排成一行,按从左到右的次序从0开始编号,每个栈的的最大容量capacity都相同。实现一个叫「餐盘」的类DinnerPlates,DinnerPlates(intcapacity)-给出栈的最大容量capacity,voidpush(intval)将给出的正整数val推入从左往右第一个......