摘要:
"891B Gluttony" 题意 给出一个数字集合 a,要求构造一个数组 b 为 a 的某个排列,且满足对于所有下标集合的子集 S={x1,x2,...,xk}(1≤xi≤n,0bxj,那么 $\sum_{j=1}^{n k}a_{x_j 阅读全文
摘要:
" 447 Div2 E" 题意 给出一个由有向边构成的图,每条边上有蘑菇,假设有 n 个蘑菇,那么第一次走过这条边可以获得 n 个蘑菇,第二次 n1,第三次 n12,第四次 n123,后面类推,直至为 0。问从选定点出发最多可以获得几个蘑菇。 分析 Tarjan 阅读全文
摘要:
" 447 Div2 D" 题意 给一棵完全二叉树,每条边有权值为两点间的距离,每次询问 x,h ,从结点 x 出发到某一结点的最短路的距离 d 如果小于 h ,则答案加上 hd ,考虑所有结点并输出答案。 分析 通过建树过程可以发现这是一棵完全二叉树,也就是说树很矮。 可以 阅读全文
摘要:
"hdu6230" 题意 给出一个字符串,问有多少个子串 S "1..3n 2" 满足 S[i]=S[2n i]=S[2n+i 2] (1\leq i \leq n) 。 分析 Manacher 算法预处理下以每个下标为中心的最长回文串的长度。 我们要找的子串由两个奇数长度的回文串重叠部分 阅读全文
摘要:
" 445 Div2 D" 题意 给出一些字符串,要求构造一个最短的且字典序最小的字符串,使得给出的字符串都为目标字符串的子串,且这些字符串作为子串出现的次数都是最多的,如果不存在目标字符串输出 "NO"。 分析 显然,每个字符只能出现一次。 然后,一个长度为 l 的字符串,其实指明了 $l 1 阅读全文
摘要:
"888G Xor MST" 题意 给出一个 n 个点的无向完全图,结点 i 有权值 a_i。两个结点 i, j 所连边的权值为 a_i \ xor \ a_j。 求最小生成树边的权值之和。 分析 好题! 首先这里有 Trie 的一个经典利用,在一些数中找到一个数与某个数异或起来 阅读全文
摘要:
"hdu6231" 题意 给出一些数字,对于任意长度不小于 k 的区间,把第 k 大数加入到一个新的数组 B 中,求 B 数组第 m 大数。 分析 二分答案 x ,枚举左端点 l ,找到最小的 r 使得区间 [l,r] 中有至少 k 个数大于等于 x,那么 阅读全文
摘要:
"888E Maximum Subsequence" 题意 给出一些数字,现在选择 k 个不同的下标对应的数字,问它们的和模 m 最大为多少? 分析 用到了 meet in the middle 的思想,能极大的优化 DFS 的暴力。 数字的个数 n 只有 35,但直接暴力 $2^{ 阅读全文
摘要:
"zoj3988" 题意 如果一个集合 \{i,j\} 满足 i\neq j 且 a[i]+a[j] 是素数,则称之为素数集合。 给出一些数字,这些数字可以组成多种素数集合,从这些集合中最多选择 k 个集合,问这些集合涉及到的数的数量最大值为多少。 分析 存在匹配关系即 $a[i]+ 阅读全文
摘要:
" 442 Div2 F" 题意 给出一些包含两种类型(a, b)问题的问题册,每本问题册有一些题目,每次查询某一区间,问有多少子区间中 a 问题的数量等于 b 问题的数量加 k 。 分析 令包含 a 问题的问题册的问题数取正值,包含 b 问题的问题册的问题数取负值,那么问题就是求有多少子区间的 阅读全文