08 2020 档案
摘要:题意:给出两种人,第一种人初始位置为(pi,0),出发时间为ti,速度[矢量]为(0,vi),视野范围为wi,也就是说当它在(xi,yi)时,能看见(xi,yi)->(xi+wi,yi)这条水平线段上的人【闭区间】 第二种人,初始位置为(0,pi),出发时间为ti,速度为(vi,0),视野范围为wi
阅读全文
摘要:题意:给出一棵树,f(a,b)表示不在a,b路径上的最小点的编号。q组询问,每次给出u,v,询问f(u,v) 题解:显然如果两个点的lca不是1,那么答案就是1。可以把1号节点当作根做一次dfs,然后去掉这个点,形成了一片森林。在森林中,预处理出$mn_id[i]$表示i子树内最小点的编号:\(mn
阅读全文
摘要:题意:两个字符串s1,s2,一次操作可以将两个字符位置交换,且被交换的字符ascii码会+1,即'a'变成'b','b'变成'c',...,'z'变成'a'。操作不限次数,问能否将s1变成s2。 题解:归纳证明一下长度>2的排列(a,b,c,...)能经过若干次操作交换成别的排列。 长度为3时,初始
阅读全文
摘要:一开始想的状态是dp[i][0/1][0/1]表示i点被A还是被B走到,该点有没有折扣,其实第三维定义是冗余的,有折扣肯定比没折扣好。 由于A和B的路径中必须得有一个无折扣点,所以可以定义一下一个维度表示这个无折扣点在i的上面还是下面还是它本身。 每个节点为根的子树,有可能是: A从根的【上面】攻击
阅读全文
摘要:题意:给出一个由{-1,0,1}中元素组成的长度为n的序列,将其分为若干段,且任意段长度len(i)满足 L<=len(i)<=R,每段数字和记作w,则每段价值为w/abs(w)或0,求最大总价值 n,L,R<1e6 题解:考虑dp,记$f[i]\(表示前i个数字分成若干区间得到的最大答案。因为以i
阅读全文
摘要:思路和代码借鉴的是这位博主的[https://blog.csdn.net/tianyizhicheng/article/details/107792119] 本人在他的思路上重新梳理了一下,代码同样借鉴了他的 8.4 1007 Tree 题意:给一棵n顶点的有边权的树,给出一个数字k,你需要找到一个
阅读全文

浙公网安备 33010602011771号