摘要: 题解:问a,b之间是否有z=1的边,其实就是找一下边双连通分量,缩点后重新建图,变成了一棵树,询问a,b之间的边权和是否>0。 可以直接从a开始spfa找一下最长路,看看是否有dis[b]>0 #include<cstdio> #include<vector> #include<queue> usi 阅读全文
posted @ 2020-09-06 16:32 JWizard 阅读(158) 评论(0) 推荐(0)
摘要: 题意:COOL:200分/个,GOOD:100分/个 JAMS:得到一个COOL可以得到1/25 JAM,得到一个GOOD可以得到1/50 JAM 得到了一个或以上的JAM,每个JAM会加额外的10分给每个COOL、5分给每个GOOD COMBO:连续按x个:x COMBO,失误,则COMBO归零, 阅读全文
posted @ 2020-09-05 19:09 JWizard 阅读(166) 评论(0) 推荐(0)
摘要: 题意:给你一棵树,删除最少的点数使得剩下的图仍然是树且直径小于等于k。 题解:枚举树的直径中心是点还是边,如果是点,按照点分治的方法,求出所有点的经过重心的,距离超过k/2的点数即可。如果是边,有一点需要处理,统计经过该边的在子树内的点数时,统一在这条边直接连在某重心下的时候统计,每个点在点分治的过 阅读全文
posted @ 2020-09-04 14:33 JWizard 阅读(225) 评论(0) 推荐(0)
摘要: 题意:给出一颗二叉树,顶点颜色要么为黑要么为白,现在想要所有点颜色相同。可以进行两种操作: 1.选择两个顶点,将他们之间的最短路上的顶点颜色翻转,包括这两个顶点 2.选择一棵子树,翻转子树内顶点的颜色。 一次操作会花费1的代价,问最少的代价可以让所有点颜色相同 题解:【下面的描述可能看起来字很多,但 阅读全文
posted @ 2020-09-02 17:34 JWizard 阅读(209) 评论(0) 推荐(0)
摘要: 题意:给出两种人,第一种人初始位置为(pi,0),出发时间为ti,速度[矢量]为(0,vi),视野范围为wi,也就是说当它在(xi,yi)时,能看见(xi,yi)->(xi+wi,yi)这条水平线段上的人【闭区间】 第二种人,初始位置为(0,pi),出发时间为ti,速度为(vi,0),视野范围为wi 阅读全文
posted @ 2020-08-26 20:13 JWizard 阅读(159) 评论(0) 推荐(0)
摘要: 题意:给出一棵树,f(a,b)表示不在a,b路径上的最小点的编号。q组询问,每次给出u,v,询问f(u,v) 题解:显然如果两个点的lca不是1,那么答案就是1。可以把1号节点当作根做一次dfs,然后去掉这个点,形成了一片森林。在森林中,预处理出$mn_id[i]$表示i子树内最小点的编号:\(mn 阅读全文
posted @ 2020-08-24 21:05 JWizard 阅读(105) 评论(0) 推荐(0)
摘要: 题意:两个字符串s1,s2,一次操作可以将两个字符位置交换,且被交换的字符ascii码会+1,即'a'变成'b','b'变成'c',...,'z'变成'a'。操作不限次数,问能否将s1变成s2。 题解:归纳证明一下长度>2的排列(a,b,c,...)能经过若干次操作交换成别的排列。 长度为3时,初始 阅读全文
posted @ 2020-08-21 20:49 JWizard 阅读(76) 评论(0) 推荐(0)
摘要: 一开始想的状态是dp[i][0/1][0/1]表示i点被A还是被B走到,该点有没有折扣,其实第三维定义是冗余的,有折扣肯定比没折扣好。 由于A和B的路径中必须得有一个无折扣点,所以可以定义一下一个维度表示这个无折扣点在i的上面还是下面还是它本身。 每个节点为根的子树,有可能是: A从根的【上面】攻击 阅读全文
posted @ 2020-08-19 13:07 JWizard 阅读(99) 评论(0) 推荐(0)
摘要: 题意:给出一个由{-1,0,1}中元素组成的长度为n的序列,将其分为若干段,且任意段长度len(i)满足 L<=len(i)<=R,每段数字和记作w,则每段价值为w/abs(w)或0,求最大总价值 n,L,R<1e6 题解:考虑dp,记$f[i]\(表示前i个数字分成若干区间得到的最大答案。因为以i 阅读全文
posted @ 2020-08-17 16:31 JWizard 阅读(234) 评论(0) 推荐(0)
摘要: 思路和代码借鉴的是这位博主的[https://blog.csdn.net/tianyizhicheng/article/details/107792119] 本人在他的思路上重新梳理了一下,代码同样借鉴了他的 8.4 1007 Tree 题意:给一棵n顶点的有边权的树,给出一个数字k,你需要找到一个 阅读全文
posted @ 2020-08-05 16:54 JWizard 阅读(187) 评论(0) 推荐(0)