首页 > 其他分享 >2022百度之星 初赛1 A-B

2022百度之星 初赛1 A-B

时间:2022-08-27 22:38:43浏览次数:63  
标签:int cin 初赛 while solve 2022 之星 堆中 fo

A:洞穴

不是很懂,但是跑了一遍kruskal就过了

//-------------------------代码----------------------------

//#define int ll
const int N = 200;
int n,m;

int dist[N][N];

struct node {
    int a,b,w;
    bool operator<(const node & x) const {
        return w < x.w;
    }
}p[N];
int f[N];

bool cmp(pii a,pii b) {
    if(a.x == b.x) return a.y < b.y;
    return a.x < b.x;
}

int find(int x) {
    return x == f[x] ? x : f[x] = find(f[x]);
}

void solve()
{
//    cin>>n>>m;
    fo(i,1,200) f[i] = i;
    cin>>n;
    int cnt = 0;
    int w;
    fo(i,1,n) {
        fo(j,1,n) {
            cin>>w;
            if(j > i) {
                p[++cnt] = {i,j,w};
            }
        }
    }
    sort(p+1,p+1+cnt);
    int sum = 0;
    V<pii>q;
    cout<<n - 1<<endl;
    for(int i = 1;i<=cnt;i++) {
        int a = p[i].a,b = p[i].b,w = p[i].w;
        if(find(a) == find(b)) {
            
        } else {
            f[a] = find(b);
            sum ++ ;
            q.pb({a,b});
        }
        if(sum == n - 1) break;
    }
    sort(all(q),cmp);
    for(auto it:q) {
        cout<<it.x<<' '<<it.y<<endl; 
    } 
}
void main_init() {}
signed main(){
    AC();clapping();TLE;
    cout<<fixed<<setprecision(12);
    main_init();
//  while(cin>>n,n)
//  while(cin>>n>>m,n,m)
    int t;cin>>t;while(t -- )
    solve();
//    {solve(); }
    return 0;
}

/*样例区


*/

//------------------------------------------------------------

B.小度养小猫

贪心。
可以将于一只猫的不满意度 化为 ,后面一项为常数。
则只需要使 最小,如果没有限制,那么 越大的越早喂食就可以。
现在考虑每一只猫 必须在 时间后喂食,那么开一个堆,每扫到一只猫就将其加入堆中,决策时取堆顶
即可。

当枚举到第k个,前 k 个都是可以满足条件的,将它们一起放入堆中

当枚举到 第i 个,这个也是可以满足条件的,放入堆中

取出堆中最大的数就可以了。

auto idx = q.end();
idx -- ;
res += 1ll * (*idx) * i * i;

 

 

//-------------------------代码----------------------------

//#define int ll
const int N = 1e5+10;
int n,m,k;
int c[N];
void solve()
{
//    cin>>n>>m;
    cin>>n>>k;
    ll res = 0;
    fo(i,1,n) {
        cin>>c[i];
        res -= 1ll * i * i * c[i];
    }
    set<int> q;
    fo(i,1,k) q.insert(c[i]);
    fo(i,k + 1,k + n) {
        if(i <= n)q.insert(c[i]);
        auto idx = q.end();
        idx -- ;
        res += 1ll*(*idx) * i * i;
        q.erase(idx);
    }
    cout<<res<<endl;
    
}
void main_init() {}
signed main(){
    AC();clapping();TLE;
    cout<<fixed<<setprecision(12);
    main_init();
//  while(cin>>n,n)
//  while(cin>>n>>m,n,m)
//    int t;cin>>t;while(t -- )
    solve();
//    {solve(); }
    return 0;
}

/*样例区


*/

//------------------------------------------------------------

C:

标签:int,cin,初赛,while,solve,2022,之星,堆中,fo
From: https://www.cnblogs.com/er007/p/16631665.html

相关文章

  • 2022-08-27 卢睿 学习心得
    目录1.VueVue的创建事件面试题属性的绑定遍历双向绑定注意事项1.Vuevue是JavaScript的一个框架——【JavaScript的库】Vue的创建<divid="app"><!--插值表达......
  • 2022-08-26 第二小组 张鑫 学习笔记
    实训四十八天JS库学习内容JS库别人写好的JS文件,我们拿来直接用开发中,会引入很多的.js文件JQuery.js------濒临淘汰,经典10%以下css库,bootstrap,layui,easyuiReact.j......
  • NOI2022 退役记
    在更。8.13因为突然要提前7天去比赛城市,所以买了今天的下午三点的高铁。上午还有模拟赛,和上一届一起考过的200+,其他人100-,体验非常痛苦。t1神秘期望,题解说是F......
  • NOI2022 退役记
    8.13因为突然要提前7天去比赛城市,所以买了今天的下午三点的高铁。上午还有模拟赛,和上一届一起考过的200+,其他人100-,体验非常痛苦。t1神秘期望,题解说是FWT套FFT......
  • visual studio 2022离线安装包制作教程
    1、在线下载VisualStudi安装包https://aka.ms/vs/17/release/vs_enterprise.exe  2、在线安装visualsudio22布局 2.1.NETWeb和.NET桌面开发,运行(不选en-US......
  • 戒烟第一天(20220807)
    记录下戒烟第一天的感受:白天的时候,烟瘾来的感觉并不强烈,好像烟对我来说是可有可无的。到下午4点的时候有一点点想抽,有出现习惯性摸烟的动作。4点半我出去游泳了。到了晚上......
  • 2022-8-26 jq简单了解
    Query是一个JavaScript函数库。jQuery是一个轻量级的"写的少,做的多"的JavaScript库。jQuery库包含以下功能:HTML元素选取HTML元素操作CSS操作HTML事件函数......
  • 2022-08-25 第二小组 张鑫 学习笔记
    实训四十七天元素操作BOM1.学习内容自定义属性设置元素属性<divhaha="abc"id="xyz"></div><script>letdiv=document.querySelector("div");//......
  • ECCV 2022 | FPN:You Should Look at All Objects
    前言 论文指出,大规模目标的性能下降是由于集成FPN后出现了不正确的反向传播路径。它使得骨干网络的每一层仅具有查看特定尺度范围内的目标的能力。基于这些分析,提出了两种......
  • 「闲话」NOI2022 游记
    NOI2022游记Day-7坐了12h去往昆山。白天不知道该干什么,早上就颓过去了,下午理了一下需要复习的内容(真的好多啊)。不知道说什么了,还是记录一下沿途的风景吧:午觉睡醒......