拼多多8.23日提前批笔试

题目一:给一个数组,数组全部为0或者1,你能让从i到n的下标数组取反,并且这为一次操作,你只能从左往右开灯,要求把数组全部设置为1。
贪心秒了
题目二:给一个大小为n的数组,你能通过一次操作能让连续区间大小为k的子数组全部加一,操作最多为m次。要求你能拿到最小的a[i]为多少。
二分最小值,差分做区间加。秒了。
题目三:给定一个图,再给定一个数组p,每个位置加油加一个单位需要消耗p[i],然后有m条边,每条边会花费c个单位的油,t个单位的时间,目前你在城市1,你去城市n花费时间最小是多少。
迪杰斯特拉(虽然和树上dp分不清),dp[i][j]为在i位置有j升油,然后直接枚举就行,n=1000,你最多有f=100升油.秒了。
题目四:有n个数字,m个方程,方程都是a[i]+a[j]=s,a[i]-a[j]=d;
要求这个数组最小需要给定几个值,然后这些方程组能求解,并且方程数字不得为浮点数。必须为整数,能出结果输出yes并且写出数组最低给定数字数量,不能就输出no。
不会写,我只找了这个关系是否存在环之类的,0.46.

添加评论
点赞收藏
点踩分享查看原文
评论
?
参与讨论