2020年2月18日

cf1176D

摘要: 题意简述:数组a经过一系列操作之后获得数组b,给你数组b,构造出一个满足条件的数组a 操作如下从左到右扫描数组a,如果是一个素数,那么把第这个素数的素数加到数组a中,例如a[1]=2那么加3到数组a当中 如果是一个和数,那么把这个和数的最大因数加进去,这个因数不能等于他本身 只操作N次,N为数组a的 阅读全文

posted @ 2020-02-18 22:59 欣崽 阅读(179) 评论(0) 推荐(0) 编辑

cf1276B

摘要: 题意简述:给出无向图,会有重边,然后给你两个点a,b,让你计算有多少点对(x,y)满足从x到y的所有路径都经过a和b 题解:先从a,b两点出发进行dfs,dfs的过程中不能经过a,b两点(除了开始) 所有的点分为了三类,第一类是a能到但是b到不了,第二类是b能到但是a到不了,第三类是a,b都能到 首 阅读全文

posted @ 2020-02-18 21:39 欣崽 阅读(213) 评论(0) 推荐(0) 编辑

cf1242B

摘要: 题意简述:给出一个n个点的完全图,边权要么是1要么是0,输入只给出权值的是1的那些边,求解最小生成树的权值 解答:边很多,我们考虑使用prim算法,prim算法的过程中维护了一个dis数组,这里我们可以发现数组的值单调递减,并且只有01两种取值 因此我们考虑用数据结构去加速他,具体来说就是维护两个集 阅读全文

posted @ 2020-02-18 18:45 欣崽 阅读(176) 评论(0) 推荐(0) 编辑

cf1282c

摘要: 题意描述: 给你一颗带权无根树,共有2*n个节点,有n对人,然后每一个人被分配到一个节点上 问题1:怎么安排使得这n对人之间距离之和最小 问题2:怎么安排使得这n对人之间距离之和最大 题解:直接去想具体的方案根本无从下手,这里需要转换思维,我们去考虑每一条边对于答案的贡献,可以从下面这张图中找到答案 阅读全文

posted @ 2020-02-18 18:17 欣崽 阅读(174) 评论(0) 推荐(0) 编辑

cf1266D

摘要: 注意到每一个的点出入流是不会变的,因此本质是让构造一张图满足这个出入流并且边上的流量之和最少,显然流量是平衡的,也就是所有节点的出入流之和为0 因此我们可以直接暴力的选择让负数点向正数点连边,连之后就更新每一个点的出入流,直到所有点出入流都为0就结束 int n,m; ll need[maxn]; 阅读全文

posted @ 2020-02-18 17:28 欣崽 阅读(204) 评论(0) 推荐(0) 编辑

导航