
每日一题(代码源)
每天做一题
沫刃起
计算机科学与技术22级
展开
-
每日一题:可重排列
很开心能够独立做出这题,刚开始看题目的时候就看出了用dfs全排列,但是由于对dfs不是很熟悉,一开始不知道从何下手。由于有之前类似题目的经验,我开始回顾之前的做法,然后就AC了。第十届蓝桥杯c++b组_沫刃起的博客-优快云博客。用map来记录每个数的个数。类似题目(有详解)见。原创 2023-06-09 11:27:48 · 93 阅读 · 0 评论 -
每日一题:子串分值和
这题是蓝桥杯2020原题。原创 2023-06-07 11:30:47 · 66 阅读 · 0 评论 -
每日一题:蒟蒻
map可以一一映射,按键值从小到大排序。原创 2023-06-05 17:45:25 · 70 阅读 · 0 评论 -
每日一题:选数
任意选取,无关顺序,是可以跳着选的,也就是对于每一个数,有两种选择,选与不选,于是我想用01背包,但是似乎不太行,于是就不知道怎么做了。原本我的思路是:大致题意就是从n个数中选取若干数,使得它们的和mod n等于0。另外,需要知道的是模运算。原创 2023-05-24 13:02:51 · 62 阅读 · 0 评论 -
每日一题:饿饿 饭饭2
【代码】每日一题:饿饿 饭饭2。原创 2023-05-22 22:08:24 · 173 阅读 · 0 评论 -
每日一题:删删
【代码】每日一题:删删。原创 2023-05-16 16:04:49 · 107 阅读 · 0 评论 -
每日一题:整齐的数组
【代码】每日一题:整齐的数组。原创 2023-05-13 15:52:26 · 72 阅读 · 0 评论 -
每日一题:01序列
【代码】每日一题:01序列。原创 2023-05-12 11:41:51 · 178 阅读 · 0 评论 -
每日一题:跳跳
但是我依照上面蓝桥杯类似题目的解法,将每条直线的斜率和截距放在set容器中,set有去重的功能,但是浮点数有精度误差,应该是这个原因导致的错误。注意n属于[10,500],n小于等于500,O(n^2)完全可以,我一开始看成是10500了好傻。这类似于蓝桥杯的直线问题,具体见。原创 2023-05-11 11:21:10 · 83 阅读 · 0 评论 -
每日一题:任务分配
q[i].s,说明可以作为上一个时间段,然后在众多可行的f[j]+q[i].w中取最大值就行。类似于最长上升子序列。原创 2023-05-10 18:09:37 · 199 阅读 · 0 评论 -
每日一题:序列维护
【代码】每日一题:序列维护。原创 2023-05-08 19:24:40 · 80 阅读 · 0 评论 -
每日一题:子串的最大差
例如5 2 2 3 3 4,那么对于第一个3,就是2 2 3 3,它作为最大值的贡献度就是从该数开始(包括它自己)往左数的个数乘从该数开始(包括它自己)往右数的个数(乘法原理),这样算出来的就是以该数作为最大值的包含该值的子串的个数。可以从贡献度的角度考虑,对于每一个数,求它作为最大值的贡献度和作为最小值的贡献度,所有最大值的贡献度减去所有最小值的贡献度即所求答案。求作为最大值的贡献度,对于某个数,求出它左边比它大的第一个数和右边比它大的第一个数,枚举每个子串不现实,肯定会超时。求作为最小值得贡献度同理。原创 2023-05-08 11:32:46 · 391 阅读 · 0 评论 -
每日一题:订单编号
一开始想用二分答案的,但是后来发现不行,二分答案每找到一个值,就要去掉它的左半边或右半边,但是这里不能去。这样一来,区间是按照右端点从小到大排序的。原创 2023-05-06 13:28:45 · 113 阅读 · 0 评论 -
每日一题:Alice的德州扑克
【代码】每日一题:Alice的德州扑克。原创 2023-05-04 11:00:30 · 141 阅读 · 0 评论 -
每日一题:二分答案
【代码】每日一题:二分答案。原创 2023-04-29 15:13:38 · 1095 阅读 · 0 评论 -
每日一题:摘桃子
【代码】每日一题:摘桃子。原创 2023-04-29 14:14:42 · 117 阅读 · 0 评论 -
每日一题:加一
【代码】每日一题:加一。原创 2023-04-28 18:11:36 · 70 阅读 · 0 评论 -
每日一题:出栈序列判断
比如说4第一个出栈,我就把1,2,3,4按顺序一个一个入栈,然后再把4出栈。但这样的话只能先让3出栈,再让2出栈,就不符合了。我用AC代码试了以上数据,也是不行的,说明不会出现以上数据,本就是不可能的。不知道上面代码错在哪里了。原创 2023-04-28 16:44:34 · 97 阅读 · 0 评论 -
每日一题:最大和上升子序列
从第一个数开始枚举,以它为结尾,首先f[i]=a[i],自身算一个,然后再根据前一状态推出这一状态,上一个数j一旦确定,就用f[j]+a[i]就行,然后如果a[j]状态划分,以第i个数结尾的上升子序列的倒数第二个数可能是第一个数,第二个数,...第i-1个数。最后遍历一下每个数,比较以每个数为结尾的上升子序列的最大值,输出最大的那个。动态规划,和最长上升子序列类似。原创 2023-04-26 18:53:21 · 105 阅读 · 0 评论 -
每日一题:最长因子链
由于要找的数字不用按顺序,所以先给所有数排个序。找最长因子链类似于找最长上升子序列,用动态规划。原创 2023-04-26 17:32:45 · 105 阅读 · 0 评论 -
每日一题:异或和或
这种题不可能按照题目的要求一步一步来模拟,毕竟连具体需要几次都不知道,大概率使找规律,需要自己造样例来找规律。由于01=>11=>10,10=>11=>01,所以01的。如果两个相应的二进制位有一个为1,则该结果为1,否则为0。因为2表示为二进制为0010,6表示为二进制为0110。两数只有第三位相异,因此最后的结果为0100,即为4。即相应位的值相同的,结果为 0,不相同的结果为 1。分情况时得做到不重不漏,要么0转1,要么1转0。例如,2 ^ 6结果为4。11=>01 或 10。原创 2023-04-26 17:10:26 · 421 阅读 · 0 评论 -
每日一题:路径计数
初始状态:得使得f[1][1]为1,所以初始化f[1][0]或者f[0][1]为1(不要都初始化为1),这没有什么含义,只是用于启动,使得f[1][1]=1。状态转移:(i,j)由(i-1,j)和(i,j-1)转移而来。f[i][j]表示从左上角走到(i,j)的方案数。原创 2023-04-25 14:55:54 · 111 阅读 · 0 评论 -
每日一题:简单分数统计
另外,再写一个结构体来储存题目名称和分数,目的是使两者联系起来,找到题目名称就能知道对应的分数。发现样例输出的是id和成绩,那么就写一个包含这两个变量的结构体来储存它们。原创 2023-04-25 14:59:11 · 75 阅读 · 0 评论 -
每日一题:高水平问题
二维表示连续几个球颜色一样,连续一个球颜色相同或两个球颜色相同。原创 2023-04-18 23:20:26 · 82 阅读 · 0 评论 -
每日一题:走路
f[i][j]表示第i步能否走到第j阶。原创 2023-04-15 09:42:29 · 65 阅读 · 0 评论 -
每日一题:走楼梯2
f[i][0]表示从i-1层走一阶到第i层的,所以f[i][0]就可以由f[i-1][0]+f[i-1][1]+f[i-1][2]转移过来,因为走到i-1层完全可以走两个两阶,这样是满足没有直接的走两阶到i层的。至于为什么f[2][2]=f[0][1]是可以这样推的,到第二层最多只能走一个两阶,所以f[2][2]应该等于0,实际上f[0][1]也等于0,所以没关系。f[i][2]表示连续走了两个两阶到i层的,就等价于从i-1层走一个两阶到i层,即f[i-1][1]先来看一下简单版的走楼梯。原创 2023-04-14 09:07:07 · 172 阅读 · 0 评论 -
每日一题:特殊的正方形
但是调试了半天,各种小错误层出不穷。类似于蛇形填数,模拟即可。原创 2023-04-12 21:47:27 · 100 阅读 · 0 评论