未分类
lpls1
这个作者很懒,什么都没留下…
展开
-
洛谷P1144 最短路计数(dijkstra、最短路条数)
用了一个和《dijkstra、heap+dijkstra、扩展应用》这篇文章中不同的最短路条数统计方式。原创 2022-10-20 17:45:15 · 397 阅读 · 0 评论 -
模运算运算法则,求解逆元的方法,以及利用逆元求组合数
若a≡b (% p),c≡d (% p),则 (a + c) ≡ (b + d) (%p),(a - c) ≡ (b - d) (%p),注意,模数P应该取比要求逆元的数大的素数,这样可以保证P与该数互质,只有满足互质前提,扩展欧几里得算法得到的x才是逆元。若a≡b (% p),则对于任意的c,都有(a + c) ≡ (b + c) (%p);若a≡b (% p),则对于任意的c,都有(a * c) ≡ (b * c) (%p);如果p为素数,且gcd(b,p)=1,那么就有b。=1(modP),则b。..原创 2022-08-27 13:10:14 · 414 阅读 · 0 评论 -
1681D - Required Length(dp,bfs,素因子)
题目链接这个题就是bfs。不过我错误地估计了时间复杂度为O(2!+3!+…+19!)。其实不会有这么多枝,因为最后得到的位数满足要求的数一定可以被表示为x∗x*x∗2a∗2^a*2a∗3b∗3^b*3b∗5c∗5^c*5c∗7d7^d7d的形式(因为x每次只乘10以内的数)。我们知道最后的数一定是不大于1e18的,因此 a is not greater than 63, b is not greater than 39, c is not greater than 27, and d is not gr原创 2022-05-30 17:26:29 · 156 阅读 · 0 评论 -
CodeForces 1554B-Cobb(bitmask,logic,math,greedy)
题目题目大意:n个数的数组a,值范围[0,n],给定一个不大于100的值k,要求找出一对下标i<j,使得f(i,j)= ij-k(ai|aj) 取得最大值。n的数量级为1E5。题解:由于a最大值为n,所以(ai|aj)最大值小于2n。把f分为两部分,即ij和k*(ai|aj)这第一第二两部分,则f(i,j)的最大值不会小于这两部分分别可能取到的最大值之差,即(n-1)n-2kn。记为f(n-1,n)。在f(i,j)的式子里, i⋅j can be O(n^2), but k⋅(ai|aj)原创 2022-04-29 17:34:20 · 285 阅读 · 0 评论 -
Codeforces 1658D1 - 388535 (Easy Version)(bitmask)
题解:对一组从0开始累加1的数,列出它们的二进制表示,会发现,每一位的0的总数一定是大于1的总数的。以0~7为例:因此,因为题中给出的输入,即经x按位异或后的数组a,一定是从0~n的原数组合法变换过来的,那么复原后,原数组一定符合前述规律。所谓复原,无非就是把x的第i位取1,使数组a中每个数的第i位取反——这会使0的综述与1的总数的大小关系变换;或者把x的第i位取0,这样数组a中每个数的第i位不变。对每一位,这两种操作取其一。因此,如果a中第i位0的个数大于1的个数,则x的第i位只能取0;如果.原创 2022-04-08 16:11:10 · 180 阅读 · 0 评论 -
Dilworth定理:序列的不上升子序列最少划分数等于序列的最长上升子序列长度
就是这样。。原创 2020-01-30 20:08:23 · 947 阅读 · 1 评论