![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多校
虐猫Da人薛定谔
这个作者很懒,什么都没留下…
展开
-
H Harmony Pairs(数位dp)
题目链接 题目大意: 给你一个数n,问从0-n范围内,有多少对数满足a 解题思路: 这题就是裸的数位dp,可惜以前没写过求解数对的题目,太菜了,看了别人的代码,觉得还是挺好理解的 ,就是设置一个四维数组dp[][][][],第一维记录数位(每个数位dp都是),第二维记录位数和(因为有正有负,所以要向右即比0大的数偏移),第三维记录第一个数是否达到边界,第四维记录第二个数是否达到边缘 代码: #include<bits/stdc++.h> #define pb emplace_back us原创 2020-07-29 20:53:55 · 195 阅读 · 0 评论 -
G Operating on a Graph(并查集)
题目链接 题目大意: 给你一个图,有 n个点,m条边,点的下标[0,n-1],对于点i,其开始时属于 i−group 总共操作 q次,每次操作时给出一个 n ,如果n的group不是n则不操作,否则将所有与 n−group 直接相连的 group 加入到 n−group中在所有操作结束后,求每个点所在的 group 解题思路: 看到group就想到用并查集,用vector存取每个相邻点的信息,只要团相邻就合并,这里要用到启发式合并,否则会超时 代码: #include<bits/stdc++.h原创 2020-07-27 20:04:27 · 142 阅读 · 1 评论 -
H Minimum-cost Flow(最小费用流)
题目链接 题目大意 给你n个点和m条边,每条边只给了单位流量的费用,再给你q个询问,每个询问给你一个ui和vi,ui/vi为每条边的容量,问总流量为1时的最小费用 解题思路 如果对于每次询问都用一次spfa,会TLE,所以我们只能先将流量乘以vi/ui倍,将流量变成1,那么总容量也变成了vi/ui,我们可以用spfa先将最大流Maxflow求出来,如果maxflow*ui/vi<1,那么就输出NaN,否则用一个数组将每次增广完后的费用记录,又因为边放大了,所以每次对数组枚举,当总容量小于等于v时,算出原创 2020-07-19 12:22:32 · 411 阅读 · 0 评论 -
F-Fake Maxpooling(二维滑动窗口)
题目链接 题目大意 给你一个n×m的矩阵,矩阵中每个元素的值都等于行和列的最小公倍数lcm(i,j),在给你一个k,表示k×k的矩阵,这个矩阵从左到右从上到下扫瞄,每扫一次就加矩阵中的最大值,问最大值是多少? 解题思路 如果直接暴力的话是会TLE的,所以要用到二维滑动窗口降低时间复杂度,具体的是参考了Bzoj1047 [参考博客](https://blog.csdn.net/moshimo_l/article/details/101197697?utm_medium=distribute.pc_relev原创 2020-07-14 23:37:20 · 509 阅读 · 0 评论