![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
牛客题解
文章平均质量分 51
DevourPower
Devour
展开
-
2021牛客暑期多校训练营3B
题目题意:矩阵,n行m列(5e3),点有权在1e5以内,2*2小矩阵染三另一免费,求全染权和;我:四个方向DP一下吧,应该没错吧,怎么这么多人wa,通过率血马低,不对劲,开始换做法。一个半小时后,终于yy出来了:2*2小矩阵染三另一免费这是唯一一个约束,那易想到一个万能解法,那就是选一列全选了,然后之后每一列都选一个点,剩下的点都是免费的,那么一共选了n+m-1个点;显然这个并不是最优解,因为没有考虑点权。继续yy:(i,j),(i+1,j),(i,j+1)都选了,那么第四个点就能取了,考虑原创 2021-07-24 20:12:02 · 241 阅读 · 1 评论 -
2020牛客暑期多校训练营 (第三场)E Two Matchings【排序后按照 4或6个分成1块的选择 来dp】
题目链接这个题我搞出来一个贪心,看起来对的一批,一选是最小,然后二选也是最小,但是不能这么搞的。因为一选最小不能保证一选+二选的结果也是最小的。然后比完赛发现师兄们一开始也是这样,搞出来假贪心,还觉得正确的一批。先对a数组sort一下,就是从a[1]到a[n]递增。头尾取法:对于最大是必为正数的,最小是必为负数的,那么中间错开来就是说ans=2a[n]-2[1];为了得出这个期望,应该是按照连续两个a,或者是连续4个a进行分块,然后使用这个头尾取法。当n=16;决策如果是2分块:16 15进行万原创 2020-07-18 22:48:52 · 202 阅读 · 0 评论 -
牛客算法周周练15-D树上求和【dfs序上建线段树】【模运算的问题】
题目链接此算法暴露了一个问题:模运算求答案的错误示范{//选看,与题目做法无关要求求出ans(mod p)你有一个算法能够实现求出来ans2;但是千万不要在算ans2的过程中使用模数p。然后对结果除以二,这是不行的。举个例子:求出来了res = 7p+16 = ans2;然后res/=2 = 3*p + (8+p/2) = ans;这就出问题了,因为答案是8+p/2,而不是8;为了解决这个问题我们要同步模数:计算ans2时候使用p=2p作为模数;如此算得模数为2p的结果原创 2020-07-17 17:33:46 · 136 阅读 · 0 评论 -
2020牛客寒假算法基础集训营2题解 E题:做计数【数学题,时间复杂度:O( n )】
题目链接:https://ac.nowcoder.com/acm/contest/3003/E这一天,牛牛与 牛魔王相遇了――然而这并不在 牛牛期望之中。牛魔王不出意料又给 牛牛一道看似很难的题目:求有多少个不同的正整数三元组 (i,j,k) 满足sqrt(i)+sqrt (j)=sqrt (k),且 i×j≤n。牛牛并不会做,你能略施援手吗?不相等的ij互换位置相当于一个新的答案...原创 2020-02-06 20:03:33 · 213 阅读 · 0 评论