阿里笔试题解(2020.4.17场)
题目一
题干
给定n,构造长度为n的排列,使得满足i<j<ki<j<ki<j<k的ai,aj,aka_i,a_j,a_kai,aj,ak,不出现ak+ai=aj∗2a_k+a_i=a_j*2ak+ai=aj∗2的情况。
题解
暴力解法得到n=3n=3n=3到n=8n=8n=8部分的答案,观察可知,奇数部分和偶数部之间不会互相干扰(因为当aia_iai和aka_kak分别为奇数和偶数时,奇数加偶数等于奇数,一定不会有满足ai+ak=aj∗2a_i+a_k=a_j*2ai+ak=aj∗2的aja_jaj),故分奇偶用分治法递归构造。
重新写了一下题解:
先暴力做一下,0分,不过用暴力的程序找到了一些性质:若“1 5 3 2 6 4”该排列满足题目中要求的性质,则序列"1 9 5 3 11 7"(第1 5 3 2 6 4个奇数)和序列"2 10 6 4 12 8"(第1 5 3 2 6 4个偶数)均满足题目要求中的性质。
稍加思索可以发现,排列中的奇数部分和偶数部分不会互相影响(因为当ai和ak的奇偶性不相同时,ai+ak一定是奇数,一定没有满足条件的aj)。所以构造时可以奇数部分和偶数部分分开构造,然后再拼接在一起。比如上面提到的例子中的序列"1 9 5 3 11 7"和"2 10 6 4 12 8"拼在一起形成的新排列"1 9 5 3 11 7 2 10 6 4 12 8"就是n=12时的答案。
一步一步往下拆分,就是分治的思路。
不懂的地方可以看看代码,再不懂的话可以把代码拷到本地然后把生成的过程输出一下。
满分代码
不放文档格式的了,仅供大家参考,如需文档可以私信/评论。
#include <cstdio>
using namespace std;const int maxn=int(1e6)+11;
int n;
int a[maxn];void solve(int l,int r,int mark) {if(l==r) {if(mark) a[l]=1;else a[l]=2;return;}int mid=(l+r)>>1;solve(l,mid,1), solve(mid+1,r,0);for(int i=l;i<=r;++i)a[i]=a[i]*2-mark;return;
}int main() {scanf("%d",&n);solve(1,n,0);int i;for(i=1;i<=n;++i) printf("%d ",a[i]/2);putchar('\n');return 0;
}
题目二
题干
给一个带权环路,随机删一条边,使从a到b的最短路径长度变化的可能性有多大(分数表示)。
题解
放代码看看就行了,应该不需要题解吧。需要讲解一下的评论吧。
满分代码
阿里笔试题解(2020.4.17场)相关推荐
- 2020年 第11届 蓝桥杯 Java B组 省赛真题详解及小结【第2场省赛 2020.10.17】
蓝桥杯 Java B组 省赛真题详解及小结汇总[2013年(第4届)~2020年(第11届)] 说明:大部分题解思路及程序代码 源自 蓝桥杯 官网视频(Java B组历年真题解析) -- 郑未老师. ...
- 2018开春大礼:750页电子书 + 33场技术沙龙资料 + 17场线上课程分享
2017年,美团成长为中国领先的生活服务电子商务平台,在吃喝玩乐住行等200多个品类,2800多个城区县,服务了亿万消费者.数百万商家,日订单数超过2200万,年度交易总额达到了3600亿.2017年 ...
- 20200415阿里笔试 Python3
20200415阿里笔试 Python3 第一题 题目描述 示例输入 示例输出 题解: Python3 代码 第二题 题目描述 示例输入 示例输出 题解: Python3 代码 第一题 题目描述 n个 ...
- 实现断网收银_美国 TMobile 全国断网;ATamp;T拟裁员4700人;阿里云宣布2020年投入20亿做强生态...
阿里云宣布2020年投入20亿做强生态 6月16日,一个重要消息!今天,我们正式宣布2020年投入20亿做强生态,帮助50家合作伙伴个个都在阿里云的生态上营收过亿! 2019年,阿里云提出" ...
- 2020.12.17
2020.12.17 1.无重复字符的最长子串(leetcode3) 思路:使用滑动窗口机制 设置右指针移动,其实就是一个队列,比如例题中的 abcabcbb,进入这个队列(窗口)为 abc 满足题目 ...
- 阿里云数据库2020技术年报新鲜出炉,全力开启牛年新征程!
简介:阿里云数据库2020技术年报 祝大家元宵节快乐 心圆梦圆,阖家团圆 牛年"犇"向新征程! 原文链接:https://developer.aliyun.com/article/ ...
- 阿里笔试之Java分词统计
阿里笔试 原来计划的是昨天下午7:00到8:00进行的,结果刚看完乔司南敏捷的房子,回去之后和鹏伟 一起去吃火锅,所以只好把时间推迟到8:30,结构再次推迟到今天早晨9:00到10:00. 题目是这样 ...
- 博主在阿里笔试中拿了0分,竟是因为分不清楚 Java 输入类 nextLine 与 next 两个方法的区别
前言 以前做算法题,都是实现一个方法,需要的参数会在方法参数中直接给出,而且需要的返回值直接在方法中 return 就好了.但是,这次阿里笔试,让博主遭遇百万点暴击,需要的参数居然要到输入流中读取,而 ...
- 【报告分享】阿里研究院:2020中国淘宝村研究报告(附下载)
今天给大家分享的是 阿里研究院:2020中国淘宝村研究报告 阿里研究院:2020中国淘宝村研究报告 第八届中国淘宝村高峰论坛上,阿里研究院.淘宝村发展联盟.阿里新乡村研究中心联合发布<1%的改变 ...
- 搭建本地Spring Initializr服务(2020/4/17)
搭建本地Spring Initializr服务(2020/4/17) 网上看了很多相同的教程,也根据教程搭建成功了.但是我在看这些教程的时候都发现了一个很关键的东西,最后都是启动initializr- ...
最新文章
- 可怕!如果张东升是个程序员......
- 64位 windows python3.4及numpy matplot等的安装
- 必须掌握的八个【cmd 命令行】[转]
- pip 查看安装路径
- 网络营销外包——网络营销外包公司如何做好电子商务网站优化?
- hdu3449 有依赖的背包问题
- 【数学基础】从零构建统计随机变量生成器之离散基础篇
- 《原神》——开放世界二次元游戏的一些见解和建议
- t–sql pl–sql_不正确SQL Server统计信息– SQL查询性能的杀手–基本知识
- 利用logrotate系统工具切割tomcat日志
- 拓端tecdat|R语言最大流最小割定理和最短路径算法分析交通网络流量拥堵问题
- python函数式编程-装饰器
- WordPress主题Ripro子主题美化包wori-child 1.3+下载插件美化
- STM32入门开发: 采用IIC硬件时序读写AT24C08(EEPROM)
- 计算机锁屏打不开,电脑点锁屏锁不了怎么办
- 上海在职研究生计算机专业考什么,中国人民大学计算机专业在职研究生考试考什么?...
- mysql配置kodi16.1_kodi中文包|kodi 16.1中文语言包下载 附插件使用教程 - 121下载站...
- 如何创建低成本沙箱环境?推荐你使用API仿真!
- C 语言隐式类型转换
- 中科院自动化所研究员报——报告