![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ccpc
&稚始稚终
这个作者很懒,什么都没留下…
展开
-
2020 ICPC(威海) —L. Clock Master(质数+分组背包)
L. Clock Master题目大意:将题目转化一下就是把n拆分为若干个数的和,使得这些数的lcm最大,输出log(lcm)。思路:如果分解出的数中两个数成倍数的关系的话,那么其中小的那个数就是没有任何意义的(你细品)。使lcm最大也就是任意两个数之间尽量互素。考虑分组背包,一个素数的不同幂次为一组中的不同物品,问题即转化为了在每组只能选取一个数,求乘积的最大值(不同组中的数是不同素数的幂次,一定互素)但是如果你直接相乘求lcm的话会爆long long ,那么题目里面要我们求的是log(lcm原创 2021-01-23 11:31:13 · 334 阅读 · 1 评论 -
2020 CCPC(威海)—G Caesar Cipher(哈希+线段树)
G Caesar Cipher题目大意:给你一个长度为n的序列,接下去有q种操作。1.给你两个数l , r。区间[ l , r ]内的数都+1并对65536取模。2.查询两段区间[x,x+len-1]和[y,y+len-1]内的序列是否相同。思路:第一种操作可以转化为区间更新,第二种操作中判断是否相等可以用哈希来判断,然后加上区间查询即可。那么就想到用线段树去维护每个位置的加权哈希值,这样就可以轻松更新和访问了。但是取模该怎么处理呢。我们称一个数字从65535到65536为溢出,因为整个序列的原创 2021-01-23 11:14:30 · 329 阅读 · 0 评论 -
2020CCPC(威海) — B Labyrinth(bfs+思维)
B.Labyrinth题目大意:给你一个n*m的矩阵,在矩阵内部有k个黑洞(表示不可行走的区域),现在给出q次询问,每次询问给出两个点(x1,y1)和(x2,y2),问从点(x1,y1)到点(x2,y2)的最短路是多少。思路:如果每次都从起点和终点-开始考虑bfs寻找最短路的话,那么这样的数据范围肯定会超时的。但是黑洞的范围很小,显然我们应该从黑洞入手考虑。1.如果矩形区域【x1,x2】X【y1,y2】没有黑洞,那么两点之间的最短距离必为曼哈顿距离。2.否则一定存在一条最短路,经过黑洞的上下左右原创 2021-01-23 10:59:29 · 371 阅读 · 0 评论