多校训练
liexss
这个作者很懒,什么都没留下…
展开
-
2019牛客暑期多校训练营(第一场)
A B CE FH I J 已补 D G未补A.Equivalent Prefixes赛场上n^2过掉,简直不可思议。正确的解法就是维护当前这对数能影响的左右位置的区间范围。这可以用笛卡尔树或者单调栈实现。笛卡尔树版:#include <iostream>#include <map>#include <cstring>#inclu...原创 2019-07-22 11:52:20 · 136 阅读 · 0 评论 -
2019牛客暑期多校训练营(第五场)B generator 1
题意:给你一个递推式,让你求出第n项思路:很明显的矩阵快速幂,但是我们该选择怎么加速矩阵快速幂呢,我们采用10进制进行快速幂,就相当与每次缩小了运算的范围。(这道题卡的很紧,我在场上本来是倒着来的,这样就没有办法预处理出每位的快速幂,导致t到哭),没想到题解就是正向的来,预处理出每位即可。附上代码:#include<cstdio>#include<...原创 2019-08-24 14:40:05 · 101 阅读 · 0 评论 -
2019牛客暑期多校训练营(第五场)C generator 2(bsgs)
题意:给你一个递推式,然后你会得到一场长度为n的序列,然后给你一个数,让你找出序列中最小下标的数等于这个数。思路:bsgs算法的基本应用我们可以发现该数列的递推式可以化简成如下的形式我们就可把右边当成一个整体,因为p的大小为1e9+9,所以我们可以选择将n分解成x1*1001-x2,x1<=1000000;这样我们就可以预处理x1*1001的值,然后在每次询问时枚举...原创 2019-08-25 12:05:59 · 112 阅读 · 0 评论 -
2019牛客暑期多校训练营(第五场)E independent set 1(dp)
题意:给你一个n个点的无向图,让你找出所有子图的最大独立集的大小和思路:我们考虑枚举一个点是否加入最大独立集,如果加入最大独立集,就要在原本的独立集中删去这个点连接的其他所有点,如果不加入,直接不加入原本的最大独立集即可。所以我们对于每一个状态i,我们枚举最后一个在独立集中的点(枚举每一个点的结果都是一样的,因为当前的状态确定了,加上这个点之前的点数是唯一的),状态转移为 ...原创 2019-08-25 14:29:14 · 174 阅读 · 0 评论 -
HDU 6685(枚举+dp)
传送门:QAQ题意:有10,20,50,100的纸币,问你买下一堆物品的任意一个至少要有多少张纸币。思路:因为10,20,20,50就能涵盖100以内所有的数,所以实际上我们只要枚举每张纸币的数量(这里要确保每种情况都能枚举到,所以要好好选枚举的每张纸币的数量),然后简单dpcheck即可(我们要确定一个数值最多要用几张100,因为枚举的纸币也可能组成100,所以注意这个即可)。附上代...原创 2019-09-22 15:48:06 · 200 阅读 · 0 评论