![](https://img-blog.csdnimg.cn/381da45afc6b4509bd7879a8216c2cfc.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
每日一题
文章平均质量分 63
每日一题,快乐加倍
一只牛Niu
这个作者很懒,什么都没留下…
展开
-
波动数列-动态规划(蓝桥真题)
题目链接https://www.acwing.com/problem/content/1216/ 思路来源https://www.acwing.com/solution/content/72795/ 题目详情: 观察这个数列: 1 3 0 2 -1 1 -2 … 这个数列中后一项总是比前一项增加2或者减少3,且每一项都为整数。 栋栋对这种数列很好奇,他想知道长度为n和为s而且后一项总是比前一项增加a或者减少b的整数数列可能有多少种呢? 输入格式 共一行,包含四个整数 n,...原创 2022-05-25 21:06:46 · 147 阅读 · 0 评论 -
acw-2049.奶牛摄影(详细)
题目链接https://www.acwing.com/problem/content/2051/ 思路 : 我们可以一开始只比较两头奶牛a和b,如何判定奶牛(a,b)的排列顺序呢? 题目中每头奶牛只能在每轮拍照中移动一次,且拍完后位置会被复原,也就是说,奶牛a和奶牛b的相对位置只会有两轮与实际情况不同,一轮是a移动到b后面被拍照,另一轮是b移动了且刚好移动到a的前面被拍照,也就是说,我们只需要五轮就可以唯一确定,即当a在b前面的次数大于等于3时,奶牛a的位置一定在奶牛b的位置的前面 题中输入格原创 2022-05-20 23:13:37 · 331 阅读 · 0 评论 -
最长上升子序列II(贪心)
题目: 给定一个长度为 N 的数列,求数值严格单调递增的子序列的长度最长是多少。 数据范围: N<100010 -10^9<=序列中的数<=10^9 分析 q[i]表示长度是i的上升子序列最后一个数的最小值,q[]的长度就是最大可能的上升子序列长度 q[r + 1] = a[i]:这里并没有选择最小的而直接等于a[i]是因为可以保证“相等长度的上升序列,后来得到的序列的结尾数值一定小于或等于前面得到的”,假设先前得到的序列xxxa,后来得到的序列xxxb,a和b满足b在a的原创 2022-05-15 13:32:51 · 218 阅读 · 0 评论 -
acw-4376.拍照2
题目链接https://www.acwing.com/problem/content/4370/ 方法一 —— 反向比较(双指针) 分析 从后往前比较 想要求最小操作次数,那么每个数最多只能移动一次,因为一个数如果移动了两次,肯定也会影响其他的数,导致重复操作,竟然如此,我们就来求哪几个数需要移动就好了!需要移动的数的个数就是我们的最小操作数。 示例数据1: 一开始我们的指针都指向最后一个元素 5 4 3 2 1 👆 1 2 3 4 5 👆 我们移动a中原创 2022-05-15 10:30:00 · 132 阅读 · 0 评论 -
acw-3746.牛的学术圈
题目链接https://www.acwing.com/problem/content/4265/ 题目描述 就是将原序列的连续一段全部增加或者减少1,求出变成目标序列的最小操作数 时间复杂度 O(n)O(n) 解题思路 (差分) 题目要求同时将一段子数组全部加上1或者减去1, 直觉上就考虑采用差分数组的思想, 将原数组每一项的原始温度减去目标温度, 得到每一项需要改变的数值, 然后求出该数组的差分数组, 目标是使得差分数组的每一项变成0, 我们的操作方式有2种: 选择任意两项, 一项加1, 另一项减1原创 2022-05-13 22:23:38 · 271 阅读 · 0 评论 -
acw-3371.舒适的奶牛
题目链接https://www.acwing.com/problem/content/3374/ 分析 : 新加入的一头奶牛A,则我们每次只需要判断与A相邻的4头牛和A这头牛 舒适的牛数量增加的情况:五头牛中的任意一头牛与其相邻的牛的数量为3 舒适的牛数量减少的情况:除奶牛A外,其他任一奶牛与其相邻的牛数量为4 代码: #include<iostream> #include<algorithm> using namespace std; const int N=原创 2022-05-10 20:27:02 · 258 阅读 · 0 评论 -
acwing - 更多奇怪的照片
题目链接https://www.acwing.com/problem/content/description/3362/分析: 奇数个数:odd 偶数个数:even 可分以下三种情况: 1.偶数=奇数 (or 偶数=奇数+1) 此时 res=odd*2(+1)=odd+even 2.偶数>奇数+1 此时 res=odd*2+1 我们可以两个偶数凑一组,直到情况1 3.奇数大于偶数 我们可以两个奇数凑成一个偶数,直到情况...原创 2022-05-09 16:35:22 · 93 阅读 · 0 评论