首页 > 其他分享 >暑假第三天

暑假第三天

时间:2024-07-06 14:08:33浏览次数:12  
标签:count cout temp int 第三天 sift num 暑假

7月5日

今天完成了数据结构第三题;寻找大富翁,下面是我的源代码

#include <iostream>
#include <vector>
using namespace std;
const int max_size = 1000010;
int num[max_size];

void sift(int* num, int low, int high) {
int i = low;
int j = 2 * i;
int temp = num[i];
while (j <= high) {
if (j < high && num[j] < num[j + 1])
++j;
if (temp < num[j]) {
num[i] = num[j];
i = j;
j = 2 * i;
} else {
break;
}
}
num[i] = temp;
}

int main() {
int n, m, temp, count = 0;
cin >> n >> m;
for (int i = 1; i <= n; ++i)
cin >> num[i];

if (n < m) m = n;

for (int i = n / 2; i >= 1; --i)
sift(num, i, n);

for (int i = n; i >= 2; --i) {
temp = num[1];
num[1] = num[i];
num[i] = temp;
++count;
if (count == 1)
cout << num[i];
else
cout << " " << num[i];
if (count == m)
break;
sift(num, 1, i - 1);
}

if (m == n)
cout << " " << num[1];
cout << endl;

return 0;
}

标签:count,cout,temp,int,第三天,sift,num,暑假
From: https://www.cnblogs.com/hlhl/p/18287206

相关文章

  • 暑假第四天
    7月5日今天完成了二路归并排序,下面是我的源代码#include<iostream>usingnamespacestd;intn;int*a;//定义为指针,用于动态分配内存voidMerge(inta[],intt[],intlow,intmid,inthigh){inti=low,j=mid+1,k=low;while(i<=mid&&j<=high)......
  • 暑假集训第五天
    并查集/最小生成树/Kruskal重构树专题TwoFamousCompanieshttps://www.luogu.com.cn/problem/solution/SP11579如果白边整体权值太小,我们就把所有白边的权值加上一个正值,让整体权值变大。反之,白边整体权值过大,我们就把所有白边的权值加上一个负值。让整体权值变小。我们把......
  • 暑假集训学习笔记(4):lxl DS Day 4
    倍增值域分块CF702FT-Shirts考虑将\(q_i\)从大到小排序,将\(a_i\)从小到大排序,并维护一个\(b_i\)数组表示答案,我们遍历\(q_j\)数组,每次是将\(a_i\)数组中\(a_i\geqc_j\)的全部减\(c_i\),然后\(b_i\)加1。考虑用平衡树维护\(a_i\),split一下,右区间树......
  • 「代码随想录算法训练营」第三天 | 链表 part1
    203.移除链表元素题目链接:https://leetcode.cn/problems/remove-linked-list-elements/题目难度:简单文章讲解:https://programmercarl.com/0203.移除链表元素.html视频讲解:https://www.bilibili.com/video/BV18B4y1s7R9题目状态:通过个人思路:从链表头部开始依次往下遍历,当......
  • 暑假集训学习笔记(3):lxl DS Day 3
    区间最值操作CF1572F首先广播站\(i\),能覆盖到的肯定是相对于\(i\)的前缀,我们可以维护一个\(r_i\),表示每个\(i\)可以覆盖到的右端点,然后我们考虑segmentbeats,考虑\(max\)变为\(v\)时,我们维护最大值有多少个,然后对应的\(b\)数组的\([v+1,max]\)位置就区......
  • 数据结构小学期第三天
    今天试着完成第二阶段的目标,实现九宫格拼图游戏,但是看着教程只有4*4的我也只能先按照这个做了APP.class1importcom.itheima.ui.GameJFrame;2importcom.itheima.ui.LoginJFrame;3importcom.itheima.ui.RegisterJFrame;45publicclassApp{6publicstat......
  • 暑假第一天
    今天下午下学期,我完成了普利姆算法的编写,以下是我的源代码#include<iostream>#defineMVNum10#defineMaxInt32767usingnamespacestd;structedge{charadjvex;intlowcost;}closedge[MVNum];typedefstruct{charvexs[MVNum];intarcs[MVNum][MVNum......
  • 从零开始学习Java的第三天
    掌握switch语句的用法switch语句具有穿透性,所以语句间要加上break循环语句的组成:初始化语句:循环开始时候什么样条件判断语句:循环是否能一直执行下去循环体语句:循环反复执行的事情条件控制语句:控制循环是否能执行下去循环结构对应的语法:初始化语句:这里可以是一条或多条......
  • 给暑假加个ddl 不要再慢慢油油啦!
    其实是暑假规划及详细ddl及实际完成情况的记录。算法刷题(速度刷题)(多刷多思考)(别想太慢)打比赛(有则打之)(及时补题)ddl刷完算法基础课和提高课加油Javajava的预习希望可以尽量预习多一点,但不要像寒假那样只是入门一点点背单词把六级的英语单词背完吧(要的所以闲暇的化可......
  • 24暑假赛训合集
    谢谢,你关注的鸽子博主更新了。上赛季末段没能忍住网瘾,转生成ACMer了和队友一起拿了块邀请赛金牌和省赛冠军,下半年区域赛不想拖后腿所以还是得努努力啊。但是因为博主还要跑科研实验以及机器人比赛的事情,所以大概一天只能看几个题下列列出的√为自己想出来的,×为看了题......