11 2017 档案
摘要:题目大意:有两个操作,1:在第x次操作后的版本上修改一个值,2:查询在第x次操作后的版本上的一个节点的值 即: 你需要维护这样的一个长度为N的数组,支持如下几种操作 1.在某个历史版本上修改某一个位置上的值 2.访问某个历史版本上的某一位置的值 此外,每进行一次操作(对于操作2,即为生成一个完全一样
阅读全文
摘要:题目大意:给你一个无向图,每个节点的重要值为任意两个节点(三个节点互不相同)相连时通过这个节点的可能性,求出每个节点的重要值 即: 令Cs,t表示从s到t的不同的最短路的数目,Cs,t(v)表示经过v从s到t的最短路的数目;则定义 为结点v在社交网络中的重要程度。 题解:用变形的floyd,先求出i
阅读全文
摘要:题目大意:有一个有向图,有多个询问,每个询问给你a和b,要你求出a->b路径上最小的最大值 题解:因为是求点对之间的最小的最大值,可以用变形的Floyd来解,f[i][j]=min(f[i][j],max(f[i][k],f[k][j])) C++ Code:
阅读全文
摘要:题目大意:给你一个有向图,让你找到一条S->T的路径是的该路径上最大值最小 题解:因为是求最小的最大值,很容易想到二分答案,我们可以二分这个最大值,然后进行判断,用并查集维护,把所有路径中小于等于该值的路径的两头合并,最后判断如果S和T的父亲相同就是合法的解,记录一下,最后输出答案 C++ Code
阅读全文
摘要:题目大意:有一串数,有一个长度为k的木板,求木板每次移动后覆盖的最大值 题解:单调队列 C++ Code:
阅读全文
摘要:题目大意:求关于 x 的同余方程 ax ≡ 1 (mod b)的最小正整数解。 题解:即求a在mod b意义下的逆元,这里用扩展欧几里得来解决 C++ Code: #include<cstdio> using namespace std; int a,b,x,y; int exgcd(int a,i
阅读全文
摘要:题目大意:给你n,求出一个n*n的人阵,你站在左下角,最多可以看到多少人 题解:转换一下,就成了求(n-1)*(n-1)中有多少个x,y轴互素的坐标,然后加上你上面的,你右边的,你右上方的三个人。 用欧拉筛筛出n及以内的质数,欧拉筛最大特点是它的时间复杂度是O(n)的(它还可以求出phi,即比它小的
阅读全文
摘要:题目大意: 给你一棵n个节点的树,有边权,有多个任务,每个要求从ui号节点到 vi号节点去。m 个计划, 这 m 个计划会同时开始。当这 m 个任务都完成时,工作完成。 现在可以把任意一个边的边权变为0,试求出完成工作所需要的最短时间是多少? 题解:先求出每个任务原来的所需时间,一种想法是枚举改变哪
阅读全文
摘要:题目大意:给你n个整数,求出其中长度不超过m的最大字段和。 题解:单调队列维护前缀和最小值,然后用当前值减去当前有效最小值即可 C++ Code:
阅读全文
摘要:题目大意:给你n个数,求出每个数前m位的最小值 题解:单调队列,用一个可以双向弹出的队列来存一串数,满足里面的数具有单调性,我们可以假设它是单调递增的,即求最小的数。那么可以把要插入的这个数与队尾元素比较,如果队尾的数大,那么插入它就不满足单调性了,那么我们就从队尾删除元素,直到比队尾元素大。这样就
阅读全文
摘要:题目大意:有一架弹弓位于(0,0)处,每次可以用它向第一象限发射一只小鸟,飞行轨迹均为形如y=ax2+bxy=ax+bx2 y=ax2+bx的曲线,且必须满足a<0(即是下开口的) 平面的第一象限中有n只绿色的小猪,其中第i只小猪所在的坐标为(xi,yi)。 如果某只小鸟的飞行轨迹经过了(xi,yi
阅读全文