补题!
补题: 3+3题/9题
A. Buy and Resell
每一次找前面最小的,用优先队列维护。同时若是这次买的是上次卖的,则可以合二为一。用map记录了一下卖的记录。
|
|
B. Congruence equation(不会啊)
C. Dream
根据费马小定理得(m+n)^{p−1}≡1(mod p)
因此,(m+n)^p≡m+n (mod p)
同时,m^p+n^p≡m+n (mod p)
所以,(m+n)^p=m^p+n^p(0≤m,n<p)
恒成立,且加法运算与乘法运算封闭。
|
|
D. Integer
注意一个坑点,找到(c-b)
的值后,可能计算出的c
的值会超出范围
|
|
E. GuGu Convolution(不会啊)
F. Neko and Inu(不会啊)
G. Neko’s loop
可以先预处理,从i开始的为k的循环节,如果vis[j]=1
的话一定在之前就算过了
计算时我们有两种考虑,一种是完整跳完循环后,最后多出的余数部分,跳最大值(因为开始点可以是循环中的任意部分,所以我们只需控制长度最大为m的最大和就可以了,这里可以用单调队列控制,并保证长度为m即可)
但由于mod部分可能就是全负数,所以我们可以退回一部分,跳完完整的之后,跳部分的len,这样我们可以得到max2部分,两者相比就是这一段的最大值;
而题中要求计算的是,最小的y使得,y+MAX>=s
,相减即可!
|
|
H. Search for Answer(不会啊)
I. Tree and Permutation
全排列由n!
,每一种排列里有n-1
条边,除去顺序的问题,则每种边有$\frac {n!(n-1)}{C_n^2}=2(n-2)!$,对于每种边u-v(u\=v)
。我们可以想象成一棵树,则v
之后的子节点通过dfs
可以知道,u
上面的结点的个数就是n-dp[v]-1
,于是通过u-v
的条数有$dp[v]*(n-dp[v]-1)+1$,两者相乘就是答案
|
|
J. YJJ’s Salesman
当时在赛场上考虑,如何找到y和x同时小的那个点,后来看了题解发现,我们将y排完序后,之前的点除了同y的点,之前的点在x-1找最大值即可;那我们在更新dp的时候,可以将x从大到小排序,这样我们更新的时候不会影响同y的dp值了。
同时因为x,y
的取值范围太大,所以我们需要进行离散化
|
|
碎碎念
大清早,被一个混蛋搞的心情不好
把昨天场上遗留的题补了,发现,嗯……其实还好!差一点
也许是因为洛谷的签到太有毒了吧!
米歇尔·弗菲好美啊!如果我老了也那么好看就好啦!
偷得浮生半日闲,蚁人2的轻松小幽默还是很适合我的呢
虽然漏了一个彩蛋,不过刷知乎的时候,发现不亏!
睡了好久的我,昏昏沉沉,继续啪啪啪,敲代码吧!
突然觉得自己亏了,因为很可能这个混蛋,正在兴奋忘乎所以地继续钻研他毕生所爱
冷暴力战斗,战斗值100%!哼!
转载请注明出处,谢谢。
愿 我是你的小太阳