摘要: 题意: 有n个人住在一些房子里,有的人住在同一个房子里。每个人可以选择搬去他的房子左边那个房子或者右边那个房子,亦或是不搬,搬只能向左或向右移动一次。问这些人最少住几个房子和最多住几个房子。 题解:最小值就是人尽可能聚合起来,节省房子空间数。最大值就是贪心地尽可能地向空房子移动,占据多的房子。 1 阅读全文
posted @ 2020-07-20 22:54 吉吉的奥利奥 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 思路:通过计算水龙头之间的距离,得到最小值; 最左边和左右边的水龙头单独计算,中间的水龙头因为水流靠拢,所以距离要除以2 1 #include<cstdio> 2 #include<iostream> 3 #include<cstring> 4 #include<algorithm> 5 #incl 阅读全文
posted @ 2020-07-20 22:34 吉吉的奥利奥 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 题目: 给定长度相等的数组a、b c[i] = d*a[i] + b[i] 选择一个d使得c中0的个数尽可能多,问最多有多少0. 思路: 考虑当a[i]为0时,只有b[i]也是0才满足条件 当a[i]不等于0时,计算b[i]/a[i]的值,用map记录并求解该键所对应的最大值 1 #include< 阅读全文
posted @ 2020-07-20 22:32 吉吉的奥利奥 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 题目: 给你n个数,n≤26 初始序列为ai​,1≤ai≤1e9你有k个! ,每个!可以使序列中的一个数变成ai!(k不一定要用完)例如5!=120求:选出任意个数使他们和的等于S的方案数(0≤S≤1e16)思路: 三种情况深度遍历,贴变阶乘,不贴取原值,不贴不取,把n分一半左右分别遍历; dfs1 阅读全文
posted @ 2020-07-20 10:49 吉吉的奥利奥 阅读(145) 评论(0) 推荐(0) 编辑