牛客
qcccc_
这个作者很懒,什么都没留下…
展开
-
P1404 平均数(二分)
P1404 平均数(二分) 这是一个很常见的二分题目可能题目正解不是二分是单调队列,而这题呢 我之前一直被几组数组卡到怀疑人生,01数规划嘛就是让a[i]-mid,然后加起来如果>=0那么就满足条件,然后我就想着长度为m的一定是最大的,但是数据教我做人,等下看代码就知道了。 #include<iostream> #include<stdio.h> #include<math.h> #include<string.h> #include<stri原创 2020-08-15 16:52:14 · 240 阅读 · 0 评论 -
E 地、颜色、魔法
题目戳我 本题开字符串数组肯定开不出二维的,所以考虑开一个vector数组存,1表示.,0表示#,然后就是dfs了,因为是其他点到边界,然后如果我们枚举其他点到边界的话绝对要超时,所以要转变思想。从边界枚举出去,然后如果这个点可达那么他的ve[x][y]++;这样时间复杂度就降下来了,但是还是不够的,那么现在就要减枝叶了,如果ve[x][y]>1的话说明已经有边界可达了,那么就直接return ,如果该点是#也就是说ve[x][y]==0,那么也continue; 在这里插入代码片#include原创 2020-08-11 21:53:30 · 112 阅读 · 0 评论 -
购物
题目戳我 每天至少要吃一颗糖,一天买k个糖的花费为糖的钱加上k*k,可储存,问最少需要多少钱.首先要想到是dp,我也没想到,惭愧啊,然后就是dp的注意事项了,一共有n天那么最少花费一定是n天吃了n个糖。由这两个状态可以得到dp方程的形式为这样dp[i][j]到第i天一共买了j个糖(i<=j)因为每天要吃一个; #include<iostream> #include<stdio.h> #include<math.h> #include<string.h>原创 2020-08-05 14:47:16 · 155 阅读 · 0 评论 -
牛客算法周周练16 Rinne Loves Dynamic Graph
我太菜了,这种题目对于我来说还是太难了, 题目链接 这个题目的规律应该很容易找到,循环是3次一循环,然后是否你这样写了代码我wa了6发才发现这样写是不对的,为什么呢?因为f(1)肯定是最大,其他的两个都是在1左右的数,那么就可能发生一些本应该可以用f(2)的地方就用了f(1)导致答案偏大,那么到底该怎么建图呢?那么我们可以把一条单向边分成三种情况,那么无向边就是6种情况了,考虑单向边,我们可以建立一条第一层(u,v+n,w1)的边,(第二层u+n,v+2n,w2),第三层(u+2n,v,w3)(循环回到第.原创 2020-07-22 09:24:18 · 450 阅读 · 0 评论 -
2020牛客暑期多校训练营(第二场)F.Fake Maxpooling
这个题目就是用一个二维单调队列,但是比赛的时候就是没有想到,更奇葩的是我居然连题目都读错了,读成了求在nm矩阵里找一个kk大小的使得这个kk的矩阵的值的和最大,而题目本来的意思是求每一个kk矩阵里面的最大值然后加起来,lcj做出来后说是二维单调队列我当时一脸懵逼,首先我是读错了题目,然后是二维单调队列没看见过,不知道长哪样,我还是太菜了。 #include<iostream> #include<stdio.h> #include<math.h> #include<.原创 2020-07-15 14:38:21 · 170 阅读 · 0 评论 -
2020牛客暑期多校训练营(第二场)C Cover the Tree
这题比赛的时候想了半天,码了出来后发现是错的,当场无语, 后来hl学长告诉先跑一遍dfs序然后记录一下度为1的点出现的顺序,再输出。具体代码讲 #include<iostream> #include<stdio.h> #include<math.h> #include<string.h> #include<string> #include<vector> #include<queue> #include<algor.原创 2020-07-15 10:51:55 · 867 阅读 · 0 评论 -
牛客算法周周练15 树上求和(dfs序线段树)
题目链接 题目意思明了,看起来像线段树,但是又不像线段树,线段树的单一题目一般都直接给出一个数列,然后要你求区间之间的一些值,维护一些值,但是这个题目又不是给你一个数列,而是一颗树,那么就要想办法改成线段树,这样dfs序就来了,因为dfs序中一个点的进来的位置与出去的位置之间恰好是他的子树所在区间,和题目要求的东西刚刚好。(至于为什么是这样百度一下dfs序就知道了)。 int in[maxn],out[maxn],cnt,vis[maxn],fir[maxn];//in进去的位置,out出来的位置,vis第原创 2020-07-14 23:19:01 · 303 阅读 · 0 评论