首页 > 其他分享 >2024年天梯成信小赛--L2-3,L2-4补题

2024年天梯成信小赛--L2-3,L2-4补题

时间:2024-03-25 17:46:47浏览次数:20  
标签:arr return -- myp ans2 int L2 补题

L2-3:Gwen的小剪刀

题意:

思路:二分美感度+克鲁斯卡尔

int n,m,sum0;
typedef struct myp{
    int u,v;
    int b,h;
};
bool cmp(myp a,myp b){
    return a.h<b.h;
}
myp arr[200005];
int fa[100005];
int find(int x){
//	if(x==fa[x]) return x;
//	return fa[x]=find(fa[x]);
    if(x!=fa[x]) fa[x]=find(fa[x]);
    return fa[x];
}
void Union(int x,int y){
    int fa1=find(x),fa2=find(y);
    fa[fa1]=fa2;
}
bool check(int x){
    sum0=0;
    for(int i=1;i<=n;i++) fa[i]=i;
    int cnt=1;
    for(int i=1;i<=m;i++){
        if(arr[i].b>=x&&find(arr[i].u)!=find(arr[i].v)){
            Union(arr[i].u,arr[i].v);
            sum0+=arr[i].h;
            cnt++;
        }
    }
    if(cnt==n) return true;
    else return false;
}
void solve(){           //补l2-3 Gwen的小剪刀--二分+最小生成树
    cin>>n>>m;
    for(int i=1;i<=m;i++) cin>>arr[i].u>>arr[i].v>>arr[i].b>>arr[i].h;
    //sort(arr+1,arr+n+1,cmp);  //??????????逆天
    sort(arr+1,arr+m+1,cmp);
    int ans1=1,ans2=INT_MAX;
    int l=1,r=1e9+1;            //二分美观度
    while(l<=r){
        int mid=(l+r)/2;
        if(check(mid)){
            ans1=max(ans1,mid);
            ans2=sum0;   //!!!!!不能取ans2=min(ans2,sum0)!!!!!!!
            l=mid+1;
        }
        else r=mid-1;
    }
    cout<<ans1<<endl<<ans2;
}

ps:逆天排序范围写错了。。还有ans2-快乐值是不能取min的,在美感度x合法的情况下,算出来的即是最小的ans2。否则取了min会导致ans2对应的美感度不对。

 L2-3:超时空之恋

题意:

 

标签:arr,return,--,myp,ans2,int,L2,补题
From: https://www.cnblogs.com/ouhq/p/18094936

相关文章

  • typora语法
    【一】typora语法1.标题语法ctrl+数字#+空格2.代码框语法【```+语言】3.有序列表ctrl+shift+[数字+点4.无序列表ctrl+shift+]_空格5.表格Ctrl+t6.引用Ctrl+shift+q7.做笔记预习笔记上课修正笔记代码经过验证后整理......
  • java实现Array
    publicclassMyArray{privateint[]array;privateintsize;publicMyArray(intcapacity){this.array=newint[capacity];size=0;}publicvoidinsert(intelement,intindex)throwsException{//判断访问下标是否超出......
  • No qualifying bean of type 'XXX' available:expected at least 1 bean which qualif
    一项目启动报,Noqualifyingbeanoftype'XXX'available:expectedatleast1beanwhichqualifiesasautowirecandidate翻译为:没有类型为“XXX”的合格bean可用:应至少有1个bean符合autowire候选者的条件排查步骤如下:(1)项目启动类上是否有扫描到该bean下的包(2)如果用......
  • 实现自定义队列
    publicclassMyQueue{privateint[]array;privateintfront;privateintrear;publicMyQueue(intcapacity){this.array=newint[capacity];}publicvoidenQueue(intelement){if((rear+1)%array.length==front)......
  • 实现双向链表
    1classNode{2intdata;3Nodenext;4Node(intdata){5this.data=data;6}7}8publicclassMyNodes{9privateNodehead;10privateNodelast;11privateintsize;12publicNodeget(intindex){13......
  • Transformer
    Transformer自注意力机制自注意力机制核心就是计算句子在编码过程中每个位置上的注意力权重,然后再以权重和的方式计算整个句子的隐含向量表示attention核心?self-attention核心公式:\(\text{Attention}(Q,K,V)=\text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V\)其......
  • CF1935 Codeforces Round 932 (Div. 2)
    C.MessengerinMAC给两个数组a,b和一个整数L.寻找一个关于a,b下标的序列p,使得\(\suma_{p_i}+\sum|b_{p_i}-b_{p_{i+1}}|\leqL\)SolutionKey1:按照b从小到大排序一定是最优的.Key2:固定\(b_l\),\(b_r\),那么\(\sum^r_l|b_{p_i}-b_{p_{i+1}}|=b_r-b_l......
  • express中间件
    听的不是很懂,不知道具体有多大的作用。绑定到app实例上的中间件,都可以叫做  应用级中间件;错误级别中间件: 这有一点需要注意,就是错误级别中间件要放在路由的后面,和其他中间件不一样,他们都必须要写在路由前面。 express内置的中间件:这一部分也是听的好没意思,用gpt生成......
  • Django框架静态文件
    【一】静态文件配置说明【1】模板文件通常html文件都会放在templates文件夹下【2】资源文件资源文件也就是jQuery,bootstrap这些前端框架这些都统称为静态文件,通常默认是放在static文件夹里面的static内部又通常分为以下三部分cssjssimgplugins【二】静态文件配......
  • Django框架之ORM操作
    【一】配置数据库【1】默认数据库在settings.py文件中的DATABASES字典就是用来配置数据库的默认的数据库是django自带的数据库是sqlite3DATABASES={'default':{'ENGINE':'django.db.backends.sqlite3','NAME':BASE_DIR/'db.sqlite3',......