上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 38 下一页
摘要: A. Ducks in a Row 当$n\times k>|S|$时,显然无解。 否则最优解中翻转的区间一定两两不相交,设$f[i][j][x][y]$表示考虑前$i$个位置,第$i$个位置翻转情况为$j$,当前连续段长度为$x$,已有$y$个长度至少为$n$的$D$连续段的最少翻转次数,然后转移 阅读全文
posted @ 2017-11-18 02:47 Claris 阅读(915) 评论(0) 推荐(0) 编辑
摘要: A. Chrome Tabs 当$n=1$时答案为$0$,当$k=1$或$k=n$时答案为$1$,否则答案为$2$。 B. OverCode 按题意模拟即可。 C. A message for you! 按题意模拟即可。 D. Test Cases 枚举左端点,往右枚举右端点,同时维护每个数字出现次 阅读全文
posted @ 2017-11-17 10:46 Claris 阅读(1106) 评论(0) 推荐(0) 编辑
摘要: 问题等价于树形依赖背包,允许一条链每个点各免费一次。 设$f[i][j]$表示按DFS序考虑到$i$,体积为$j$的最大收益。 先放入不能免费的物品,等遍历完儿子后再放入必选的物品,那么$i$到根路径上所有点都只算了不能免费的部分。 然后将DFS序翻转,设$h[i][j]$表示按DFS序考虑到$i$ 阅读全文
posted @ 2017-11-16 03:10 Claris 阅读(1269) 评论(0) 推荐(3) 编辑
摘要: A. Odd Palindrome 所有回文子串长度都是奇数等价于不存在长度为$2$的偶回文子串,即相邻两个字符都不同。 B. Enlarging Enthusiasm 注意到方案数不超过$(n-1)\times (n-1)!$,爆搜出所有可行方案即可,需要大量常数优化。 C. Fear Facto 阅读全文
posted @ 2017-11-15 23:58 Claris 阅读(2127) 评论(3) 推荐(0) 编辑
摘要: 建立新图,原图中每条边在新图中是点,点权为$w_i$,边权为两个字符串的LCP。 对字典树进行DFS,将每个点周围一圈边对应的字符串按DFS序从小到大排序。 根据后缀数组利用height数组求LCP的原理,类似地可以得到: 令$h_i=LCP(str_i,str_{i+1})$,则$LCP(str_ 阅读全文
posted @ 2017-11-14 17:56 Claris 阅读(1034) 评论(0) 推荐(0) 编辑
摘要: 起点/终点向每个圆的切点连边。 任意两个圆的公切点之间连边。 同一圆上相邻两个关键点之间连边。 然后Dijkstra求最短路即可,时间复杂度$O(n^3)$。 注意判边可行性的时候要忽略这条边来源的圆,可以提高精度。 阅读全文
posted @ 2017-11-14 15:57 Claris 阅读(285) 评论(0) 推荐(0) 编辑
摘要: 二分答案$mid$,若存在一条路径满足$|ave-k|<mid$,则答案至多为$mid-1$。 若$ave\leq k$,则$\sum(w-k)\leq 0$,且$\sum(k-w-mid)<0$;若$ave\geq k$,那么同理。 预先树分治处理出所有到重心的路径的信息,并按$w-k$排序。 那 阅读全文
posted @ 2017-11-14 03:45 Claris 阅读(349) 评论(0) 推荐(0) 编辑
摘要: A. Balloon Robot 假设机器人$0$时刻位于$0$号位置,那么每个气球所需的时间为$(s_a-b)\bmod m$。 将所有气球按这个时间排序,枚举每个气球的时间作为偏移量,得出最优解即可。 时间复杂度$O(p\log p)$。 B. Expected Waiting Time 设$f 阅读全文
posted @ 2017-11-13 01:30 Claris 阅读(648) 评论(0) 推荐(0) 编辑
摘要: 对修改操作按时间分治,设$solve(l,r,n,m)$为考虑时间在$[l,r]$的修改操作,作用范围是$n$个点,$m$条边的图。 若$l=r$,则暴力Tarjan统计桥边个数即可。 否则提取出$[l,r]$内涉及修改的所有边$E$,并将端点标记为$V$,显然$|V|=O(|E|)$。 加入$m$ 阅读全文
posted @ 2017-11-05 00:37 Claris 阅读(739) 评论(0) 推荐(0) 编辑
摘要: A. Alien Sunset 暴力枚举答案即可。 B. Breaking Biscuits 等价于选择一对距离最小的平行线夹住所有点。 枚举一条边,计算两侧所有点到这条直线的距离的最大值即可。 时间复杂度$O(n^3)$。 C. Cued In 按题意模拟即可。 D. Deranging Hat 阅读全文
posted @ 2017-11-01 21:59 Claris 阅读(1540) 评论(0) 推荐(0) 编辑
摘要: A. Base $i - 1$ Notation 两个性质: $2=1100$ $122=0$ 利用这两条性质实现高精度加法即可。 时间复杂度$O(n)$。 B. Squaring a Bit 直接暴力枚举平方数即可通过,需要手写popcount。 C. Chickens 状压DP求方案数。 D. 阅读全文
posted @ 2017-10-30 14:00 Claris 阅读(1111) 评论(0) 推荐(1) 编辑
摘要: A. Automatic Door 对于规律的点可以推公式计算,对于噪点则暴力计算,时间复杂度$O(m\log m)$。 B. Berland Army 首先若存在环则无解,否则通过DP可以求出每个数的最小值。 然后按照逆拓扑序,每次选择下界最小的点,填充最大的可以填充的值。 时间复杂度$O(m\l 阅读全文
posted @ 2017-10-29 00:45 Claris 阅读(793) 评论(0) 推荐(0) 编辑
摘要: A. Connectivity 设$f[i][j]$为第$i$张图中$j$点所在连通块的编号,加边时可以通过启发式合并在$O(dn\log n)$的时间内维护出来。 对于每个点,设$h[i]$为$f[j][i]$的hash值,若两个点hash值相等,则它们在$d$张图中均连通。 #include<c 阅读全文
posted @ 2017-10-27 23:11 Claris 阅读(794) 评论(0) 推荐(0) 编辑
摘要: A. A Place For My Head 留坑。 B. New Divide 从高位到低位贪心,当这一位是$0$时,要尽量取$1$,维护高维后缀最小值进行判断即可。 时间复杂度$O((n+a)\log a)$。 C. Lying From You 留坑。 D. Don’t Stay 留坑。 E. 阅读全文
posted @ 2017-10-27 00:36 Claris 阅读(762) 评论(0) 推荐(0) 编辑
摘要: 问题即:选择价值和最多的链,使得每个点最多被一条链覆盖。 那么考虑其对偶问题:选择最少的点(每个点可以重复选),使得每条链上选了至少$w_i$个点。 那么将链按照LCA的深度从大到小排序,每次若发现点数不够,则在LCA处补充点,树链剖分+线段树维护。 时间复杂度$O(m\log^2n)$。 阅读全文
posted @ 2017-10-20 02:50 Claris 阅读(408) 评论(0) 推荐(0) 编辑
摘要: A. Tree Orientation 树形DP,$f[i][j][k]$表示$i$的子树中有$j$个汇点,$i$往父亲的树边方向为$k$的方案数。 转移则需要另一个DP:$g[i][j][k]$表示考虑前$i$个儿子,子树中有$j$个汇点,$i$的出边个数是否是$0$的方案数。 时间复杂度$O(n 阅读全文
posted @ 2017-10-18 23:30 Claris 阅读(874) 评论(0) 推荐(0) 编辑
摘要: 将01串按1分段,那么分析可得长度为$a$的段拼上长度为$b$的段的SG值为$a-[a\leq b]$。 设$f[i][j][k][l]$表示从后往前用了$i$个1,$j$个0,当前段长度为$k$,后面部分SG值为$l$的概率。 同时预处理出$g[i][j][k]$表示$i$个1,$j$个0的串,S 阅读全文
posted @ 2017-10-16 02:29 Claris 阅读(354) 评论(0) 推荐(0) 编辑
摘要: A. Alice in the Wonderland 按题意模拟。 B. Batrachomyomachia 贪心,每次选承受能力最小的可行的。 C. Cherries 将所有数字排序,那么一定是选取连续$B-A+1$个数进行配对,枚举所有方案即可。 D. Divisibility Game 预处理 阅读全文
posted @ 2017-10-16 01:41 Claris 阅读(438) 评论(0) 推荐(0) 编辑
摘要: A. Arithmetic Derivative 形如$p^p(p是质数)$的数的比值为$1$,用$k$个这种数相乘得到的数的比值为$k$,爆搜即可。 B. White Triangle 留坑。 C. New Street 用set维护相同连续段,每次新增贡献时利用多项式求幂,删除贡献则采用多项式求 阅读全文
posted @ 2017-10-15 02:41 Claris 阅读(544) 评论(0) 推荐(0) 编辑
摘要: 首先可以将攻击位置整理成折线,答案不变。 对于一个长度为$k$的询问,若折线不超过两段,那么显然可以暴力贪心求解。 否则考虑折线中最短的一段$x\rightarrow y$,若其长度$\leq k$: $1.$若$x$是第一个点,那么删除$x$后答案不变。 $2.$若$y$是最后一个点,那么删除$y 阅读全文
posted @ 2017-10-14 02:12 Claris 阅读(374) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 38 下一页