little-greenhand
little-greenhand
全部文章
题解
归档
标签
去牛客网
登录
/
注册
little-greenhand的博客
一个菜鸟的练习记录
全部文章
/ 题解
(共9篇)
题解 | #codeforces#
首先看完题目想到了《挑战程序设计竞赛》书里的01背包问题: 但这里有点不同,每个元素(这里就是每道题)的得分会随着时间减少,意味着我们不仅要像01背包中一样考虑好每个元素的选取与否,还要考虑选取元素的顺序! 所以就有两个部分,一个部分确定元素的顺序,一个部分确定那些元素可以选取 首先是元素顺...
2023-11-24
2
321
题解 | #被3整除的子序列#
题目是DP,所以看完题目就想着找递推式 一.首先dp数组表示什么,一开始看完有两种想法: dp[i]表示长度为i的满足子序列(为了表达简单,满足被三整除的子序列简称为满足子序列)个数 dp[i]表示主串中前i个元素可以构成的所有子序列 二. 然后开始找递推关系 不论是1还是2,它们的递推都是在一...
C++
动态规划
2023-11-23
0
351
题解 | #牛牛家的房子#
思路:对一个点每次移动的终点仅有温度和距离这里个定值决定,所以每一轮中一个位置的移动终点是固定的,确定移动终点之后,在循环中反复移动直至无法移动(可以移动点的人数为0)即可 个人难点:一开始的时候对于移动终点的判断不知道怎么去实现,因为对于一个点的x-r或者y-r等等可能是数组越界的,看了一些大佬的...
C++
枚举
2023-08-13
1
379
题解 | #两条公路#
和两条斜线一样 链接:两条斜线 链接:题解
C++
2023-08-13
0
400
题解 | #神秘餐馆#
思路:其实就是一个选择价格最小,每天一次选择,题目给出每天的菜价格,且强制要求周期性选菜,每七天一样,所以将每隔七天捆绑在一起。 1.当给定价格只有前七天时不用考虑7天后的(无捆绑),直接选每天最便宜就可以。 2.七天以后,由于有了捆绑,就不能完全这样考虑,可以一步一步来分析,前面7天照常选,到第8...
C++
2023-08-12
2
585
题解 | #手机号码#
思路:每个位置有0~9共10种可能,而总共有n位,则有10^^n种,再减去不该有的(满足保留号码开头的),而保留号码开头的,由于确定了x位,所以只有10^^(n-x)种,时间复杂度应该是O(n^^2); 个人处理时的难点: 1.采用long long int 记录可能种数,可能不够大,用的数组记录,...
C++
2023-08-11
0
416
题解 | #两条斜线#
关键:过同一直线上的点均满足直线方程,所以枚举每种直线时点的分布情况其实就是看点是否满足方程,而k=1即是y-x=b(minus相同),k=-1即是y+x=b(sum相同),所以只要坐标满足和相同或者差相同则共线,这样就完全变成了x,y的一一枚举,所以有三层循环,分别是枚举和,差,以及每一个点对应的...
C++
2023-08-10
0
427
题解 |
思路:直接暴力枚举,遍历第二个数组中每个子列与第一个数组的difference,不过交的时候遇到一个问题,没有通过全部样例,通过多组自测用例尝试,发现数据小时没错,猜测是difference初始值的问题(一开始给difference开的1000,只过了5%,开了100000,过了25%),所以在遍历...
C++
数组
2023-08-09
0
430
题解 | #回型矩阵#
//将其当作一个画笔,每次移动一段距离后更改方向,根据n=3,n=4的情况,发现除了第一次距离减少时转了三次距离才减一,其他都是转两次就距离减一 #include<bits/stdc++.h> int main(void) { int n=0; scanf("%d",&n); i...
C++
2023-03-27
1
481