当前位置: 首页 > wzjs >正文

西凤九网站建设的目标wordpress可注册

西凤九网站建设的目标,wordpress可注册,请问做卖东西网站怎么,石家庄封控最新消息题目 3298: 蓝桥杯2024年第十五届决赛真题-兔子集结 时间限制: 2s 内存限制: 192MB 提交: 2499 解决: 309 题目描述 在森林幽静的一隅,有一村落居住着 n 只兔子。 某个月光皎洁的夜晚,这些兔子列成一队,准备开始一场集结跳跃活动。村落中…

题目 3298: 蓝桥杯2024年第十五届决赛真题-兔子集结
时间限制: 2s 内存限制: 192MB 提交: 2499 解决: 309
题目描述
    在森林幽静的一隅,有一村落居住着 n 只兔子。

    某个月光皎洁的夜晚,这些兔子列成一队,准备开始一场集结跳跃活动。村落中的每只兔子都占据一个位置,对于第 i 只兔子,其位置为 pi 。我们称位置较小的为左边,位置较大的为右边。

    按照兔子村落的习俗,每只兔子都会选择距离自己最近的兔子作为同伴,并向同伴所在的方向进行跳跃。如果一只兔子左边和右边的兔子距离它一样近,那么它会选择左边的兔子作为同伴。

    兔子的每次跳跃,只能向左或向右移动一个单位距离。也就是说,如果一只兔子当前位于 x 的位置,那么它下一次跳跃后会到达 x − 1 或者 x + 1 的位置。

当两只相互靠近的兔子之间的距离为 1 时,左边的兔子会停在原地,而右边的兔子会跳到左边兔子的位置上,完成集结。

    兔子们会一直跳跃,直到与自己最初选择的同伴完成集结后停下。

    请问,当所有兔子都完成集结后,每只兔子都分别位于哪个位置上?

输入格式
输入的第一行包含一个整数 n,表示兔子的数量。

第二行包含 n 个整数 p1, p2, · · · , pn ,相邻整数之间使用一个空格分隔,表示每只兔子的初始位置。

输出格式
输出一行包含 n 个整数,表示每只兔子完成集结后的位置。

样例输入复制
5
2 5 7 9 1
样例输出复制
1 6 6 6 1
提示
【样例说明】   

 兔子 1 选择的同伴为兔子 5,兔子 5 选择的同伴为兔子 1。由于它们彼此间的距离为 1,因此兔子 5 会停在原地,而兔子 1 会跳到位置 1 上,与兔子 5完成集结。

    兔子 2 选择的同伴为兔子 3,兔子 4 选择的同伴也为兔子 3。对于兔子 3来说,兔子 2 和兔子 4 与它的距离相同,所以它会选择左边的兔子 2 作为同伴。兔子 2 会向右跳一个位置,兔子 3 会向左跳一个位置,兔子 4 会向左跳一个位置。此时,兔子 2 和兔子 3 均位于位置 6,完成集结(停止跳跃)。兔子 4会继续向左跳跃,直到跳到位置 6 后与兔子 3 完成集结。

【评测用例规模与约定】

    对于 40% 的评测用例,2 ≤ n ≤ 500,1 ≤ pi ≤ 105,p1, p2, · · · , pn 各不相同。

    对于所有评测用例,2 ≤ n ≤ 105,1 ≤ pi ≤ 109,p1, p2, · · · , pn 各不相同。

1.分析

        位置第一个一定向第二个集结,位置最后一个一定向倒数第二个集结。

        计算除开头和结尾其他集结的结点。

        先遍历计算双向奔赴的结点的最终位置,再计算单相思结点的最终位置(和他单相思结点的位置相同)。

2.代码

#include<iostream>
#include<algorithm>
using namespace std;
const int MAX = 1e5+10;
typedef long long LL;
struct node {LL num;LL idx;
}a[MAX];
LL n,fa[MAX],re[MAX];
bool cmp1(node a, node b) {return a.idx < b.idx;
}
int main() {cin >> n;for (int i = 0; i < n; i++) {cin >> a[i].idx;a[i].num = i;}sort(a, a + n, cmp1);fa[a[0].num] = a[1].num;         //初始开头和结尾的集合点fa[a[n - 1].num] = a[n - 2].num;for (int i = 1; i < n-1; i++) {       //计算其他结点的集合点LL x = a[i].idx - a[i - 1].idx;LL y = a[i + 1].idx - a[i].idx;if (x <= y) {fa[a[i].num] = a[i - 1].num;}else {fa[a[i].num] = a[i + 1].num;}}for (int i = 0; i < n; i++) {        //计算双向奔赴的结点集合点if (re[a[i].num]) continue;int t = fa[a[i].num];if (fa[t] == a[i].num) {re[a[i].num] = (a[i].idx + a[i + 1].idx) / 2;re[t] = re[a[i].num];}}for (int i = 0; i < n; i++) {     //计算单相思结点的集合点if (re[a[i].num]) continue;int t = fa[a[i].num];while (re[t] == 0) {        //找到最终父结点t = fa[t];}re[a[i].num] = re[t];}for (int i = 0; i < n; i++) {       //输出if (i) cout << " " << re[i];else cout << re[i];}return 0;
}


文章转载自:

http://q2ynUP72.wknbc.cn
http://p3FmYjoX.wknbc.cn
http://JAK2KjhS.wknbc.cn
http://UiHNP5EH.wknbc.cn
http://Mqld0b9G.wknbc.cn
http://x6QmL8IO.wknbc.cn
http://BEIrPMo3.wknbc.cn
http://bUD3FFhN.wknbc.cn
http://SFmsKR7k.wknbc.cn
http://ttSpokA6.wknbc.cn
http://5MLowlvJ.wknbc.cn
http://19DD6ZAr.wknbc.cn
http://RvO4ezuH.wknbc.cn
http://zQBqxDVg.wknbc.cn
http://hKZOJKYC.wknbc.cn
http://tCZ1CNmO.wknbc.cn
http://G9oy3rAo.wknbc.cn
http://vxWWHKQT.wknbc.cn
http://NorHJ23C.wknbc.cn
http://SUPcRVT6.wknbc.cn
http://N1pS0RO2.wknbc.cn
http://46IHITT2.wknbc.cn
http://hd04F8BB.wknbc.cn
http://xcx5aEW3.wknbc.cn
http://K0ztWnt5.wknbc.cn
http://B2BKYODc.wknbc.cn
http://G0vKFAJK.wknbc.cn
http://5gE9YGU6.wknbc.cn
http://7Uq4lrUB.wknbc.cn
http://xMWf1JS9.wknbc.cn
http://www.dtcms.com/wzjs/625563.html

相关文章:

  • php网站开发技术文档咸阳兼职做网站
  • 网站建设jwzcq网站开发文献综述范文
  • 孟州网站建设iis做的网站如何添加播放器
  • 商会建设网站说明qq群优惠券里面网站怎么做的
  • 做调查问卷网挣钱的网站电商网站销售数据分析
  • 数学教学网站开发网页升级访问中每天正常更新中
  • 设计网站注意哪些问题一线城市做网站工资有多少
  • 成功的网站建设网站建设及管理制度文章
  • 网站可信认证必须做上海比较有名的外贸公司
  • 杨园建设社区网站ks免费刷粉网站推广马上刷
  • 南通公司做网站建立网站要怎么做
  • 合肥做网站好的公司哪家好siteapp wordpress
  • 全国网站设计公司互联网网站类型
  • 电子商务网站如何推广山东网站备案注销申请表
  • 做淘宝网站用什么浏览器怎么创建邮箱地址
  • 百度地图网站开发泉州专业网站建设公司哪家好
  • html制作音乐网站代码少儿编程老师需要具备什么条件
  • 0731网站丽水专业网站建设哪家好
  • 制作一个网站多少钱啊做生产计划类的网站
  • 网站和微信订阅号优势用dw制作网站模板下载地址
  • 门户网站建设与运行情况良好网站备案单位的联系方式
  • 珠海网站设计公司客户管理系统服务
  • 广东手机网站建设报价360网页游戏大全
  • 企业网站备案需要多久深圳定制网站
  • 可以做公众号的一些网站网站开发哪里便宜
  • 网站建设 类型建筑人
  • 做网站总结与体会制作简单的网页的软件
  • 南昌做房地产用哪个网站wordpress 优酷插件
  • 金乡县网站开发dw做个人简历网页怎么做
  • 微信网站开发多少钱联盟网站做的最好