12 2018 档案
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3924 参考了博客:https://blog.csdn.net/qq_34564984/article/details/53791482 然后感觉这题其实是很好想的,为了计算答案而维护答案、权值
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4372 本以为和 bzoj3730 一样,可以直接双倍经验了; 但要注意一下,树状数组不能查询0位置,所以再开一个 w 数组记录; 论 if 和 continue 的不同...如果要用到两个值,
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3730 建点分树,每个点记两个树状数组,存它作为重心管辖的范围内,所有点到它的距离情况和到它在点分树上的父亲的距离情况; 于是算的时候可以减去重复的,就是跳到父亲之前把自己会被重复统计的部分减去
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=5909 点分治,每次的 rt 是必选的点; 考虑必须选根的一个连通块,可以DP,决策就是在每个子树中决定选不选子树根,如果不选就跳过这个子树; 于是可以转化成 dfs 序上的DP; 每次重新标记一遍 dfs
阅读全文
摘要:题目:https://ac.nowcoder.com/acm/contest/296/J 用点分治; 记录了值起伏的形态,二元组 (x,y) 表示有 x 个小于号,y 个大于号; 因为小于号和大于号都 >=2 就不合法了,所以状态是 3×3 的; 然后根据各种形态拼接...写了一晚上,最后连最简单的
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2007 最后一定是起点周围一片0,终点周围一片1; 所以建出图来跑最短路即可。 代码如下:
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3144 每个点拆成 R 个,连成一条链,边上是权值,割掉代表选这一层; 然后每个点的第 t 层向四周的点的第 t-d 层连边,就能达到选了第 i 条边,则四周的点必须选 i-d ~ T 范围的边
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4823 https://www.luogu.org/problemnew/show/P3756 巧妙建图; 其实“俄罗斯方块”就是选择一条特殊边两边的方格,左右两边周围的六个中再各选两个; 于是
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3158 \( a[i] \) 是奇数则满足条件1,是偶数则显然满足条件2; 因为如果把两个奇数的 \( a[i] \) 写成 \( 2*n+1 \) 和 \( 2*m+1 \),那么: \( a
阅读全文
摘要:题目:https://codeforces.com/contest/1092/problem/D1 https://codeforces.com/contest/1092/problem/D2 https://codeforces.com/contest/1092/problem/E 很有趣的题;
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=5120 https://www.luogu.org/problemnew/show/P4003 神奇的费用流建图; 首先,网格图,相邻之间有关系,所以先二分染色一下; 然后发现问题就是染色后黑白
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1070 需要考虑前面修的车对后面等待的车造成的时间增加; 其实可以从每个人修车的顺序考虑,如果这辆车作为最后一辆被一个人修,那么它对后面的车无影响,而每提前一位,影响时间就增加一份; 也就是如果
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4066 https://www.lydsy.com/JudgeOnline/problem.php?id=2683 高仿:https://www.cnblogs.com/Narh/p/96055
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2850 只要暴力判断是否全选一个子树或全不选,如果都不是就进入查询; 要注意值有负,所以不是直接看 min 和 max 的组合,而是各种都试一遍; pushup 时不要把 sum 累加写在循环里
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2716 果然和 bzoj 2648 是一样的吧; 只是数组要迷之开大,3e5+5 会RE? 代码如下: #include<cstdio> #include<cstring> #include<a
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1941 曼哈顿最小距离估价:max( 0, t[x].mn[i] - v.p[i] ) + max( 0, v.p[i] - t[x].mx[i] ),可理解为到边界; 曼哈顿最大距离估价:ma
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2648 学习资料:https://blog.csdn.net/zhl30041839/article/details/9277807 https://www.cnblogs.com/galaxi
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1185 枚举一条边,维护上、左、右方的点; 上方点到这条边距离最远,所以用叉积求面积维护; 左右点到这条边的射影最长(!),所以用点积求射影维护; 因为维护的点是只能逆时针走的,所以初始的左边点
阅读全文
摘要:题目:http://poj.org/problem?id=2187 学习资料:https://blog.csdn.net/wang_heng199/article/details/74477738 https://www.jianshu.com/p/74c25c0772d6 注意求凸包时先下后上,保
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1043 求出每个圆没被覆盖的长度即可; 特判包含和相离的情况,注意判包含时 i 包含 j 和 j 包含 i 是不同的情况; 然后考虑相交,可以算出被覆盖的那段圆弧所对的圆心角,用一个 [0,2π
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1670 单调栈维护凸包即可,用叉积判断; 维护上凸壳,然后把所有点的纵坐标翻转再求上凸壳即可,要注意排序规则略有变化。 代码如下:
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2178 先看到这篇博客:https://www.cnblogs.com/heisenberg-/p/6740654.html 好像本应算弓形面积、三角形面积之类的,但不会...于是用辛普森积分硬
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=1724 函数都给出来了,可以用辛普森积分; 一开始 eps = 1e-8 TLE了,答案只要三位小数,那么 eps = 1e-5 即可; 这次用了比较标准的写法^_^ 代码如下:
阅读全文
摘要:题目:https://www.luogu.org/problemnew/show/P4525 https://www.luogu.org/problemnew/show/P4526 学习辛普森积分:https://blog.csdn.net/VictoryCzt/article/details/80
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4530 用LCT维护子树 size,就是实边和虚边分开维护; 看博客:https://blog.csdn.net/neither_nor/article/details/52979425 代码如
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3083 换根后路径还是不变,子树分类讨论一下,树剖后线段树维护即可。 代码如下:
阅读全文
摘要:题目:http://codeforces.com/contest/360/problem/E 首先,每条边不是选 \( l[i] \) 就是选 \( r[i] \); 做法就是先把边权都设成 \( r[i] \),然后做 \( dijkstra \),如果有一条可改的边 \( (a,b) \) 而且
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2632 官方题解:http://neerc.ifmo.ru/archive/2011/neerc-2011-analysis.pdf 但还是不懂; 如果猜1是最坏情况,那么其它数怎么用更少的次数
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1927 首先注意到这是个DAG; 考虑每个点从哪里来,可以是瞬移来的,也可以是从某个点走过来的,而从每个点走出去只能用一次; 所以拆点,i 表示从这个点走出去,n+i 表示来到这个点; 建图:
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2535 https://www.lydsy.com/JudgeOnline/problem.php?id=2109 这个题,如果正着考虑,也就是先考虑放在前面的再考虑放在后面的,决策时会有矛盾;
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3671 原来256M是可以开两个3e7的数组的; 因为答案只有 n+m-1 个数,所以暴力判断能否放即可,不用线段树; 然而 O(n) 判断 O(1) 修改和 O(1) 判断 O(n) 修改是不
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2395 参考博客:https://www.cnblogs.com/autsky-jadek/p/3959446.html 但复杂度不太会算; 递归边界不要取两个点相等,而是叉积>=0 。 代码如
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3157 https://www.lydsy.com/JudgeOnline/problem.php?id=3516 这篇博客写得太好:http://blog.miskcoo.com/2014/0
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1101 直接莫比乌斯反演。 代码如下:
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=4372 首先,最高的会被看见; 然后考虑剩下 \( x+y-2 \) 个被看见的,每个带了一群被它挡住的楼,其实方案数是圆排列,每个圆从最高的楼开始断掉都是不同的方案; 再把这 \( x+y-2 \) 个圆排
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1711 食物一列,牛拆点,饮料一列。 代码如下:
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3779 RELEASE操作可以对应LCT的 access,RECENTER则是 makeroot; 考虑颜色数,把一条实边变成虚边,子树+1,虚变实子树-1; 但有换根操作,怎么维护子树? 也可
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2406 这题,首先把题目那个式子的绝对值拆成两个限制,就成了网络流的上下界; 有上下界可行流原来只需要先流出下界,然后用超级源汇补足即可,原来的汇点向源点连一条下界0上界 inf 的边,就也流量
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2039 https://www.luogu.org/problemnew/show/P1791 做法就这样:https://www.cnblogs.com/BearChild/p/6426850
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1001 平面图最小割可以转化成最短路问题; 建图时看清楚题目的 input ... 代码如下:
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3996 把题中的式子拆开看看,发现就是如下关系: 如果 a[i] == 1 && a[j] == 1,则 b[i][j] 有贡献; 如果 a[i] == 1,则 -c[i] 有贡献; 所以就是最
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2597 不合法的三个人之间的关系就是一个人赢了两次; 记 \( deg[i] \) 表示第 \( i \) 个人赢的次数,那么答案就是 \( C_{n}^{3} - \sum\limits_{i
阅读全文
摘要:题目:http://poj.org/problem?id=1637 建图很妙; 先给无向边随便定向,这样会有一些点的入度不等于出度; 如果入度和出度的差值不是偶数,也就是说这个点的总度数是奇数,那么一定无解; 随便定向后,如果定向 x -> y,那么从 y 向 x 连一条容量为1的边,将来选了这条边
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4815 思路就和这里一样:https://blog.csdn.net/leolyun/article/details/70146612 不知为何乘逆元就错了,必须直接除...不过题目保证了是整数
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4816 推导过程同:http://www.cnblogs.com/zhouzhendong/p/8666106.html 可以利用阶乘处理逆元。 代码如下:
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3994 推导过程和这里一样:https://www.cnblogs.com/MashiroSky/p/6365020.html 不用取模但注意开 long long 。 代码如下:
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4407 推导如这里:https://www.cnblogs.com/clrs97/p/5191506.html 然后发现 \( F(D) \) 是一个积性函数,可以筛质数的同时筛出来; 首先,单
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1257 \( \sum\limits_{i=1}^{n}k\%i = \sum\limits_{i=1}^{n}k-\left \lfloor k/i \right \rfloor *i \)
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3998 关于相同子串算一个还是算多个,其实就是看一种状态的 right 集合是否加上 Parent 树中子树的 right 集合; 虽然是子串却不管 l 数组,因为实际上 dfs 走到一个点,得
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2946 建出 n-1 个后缀自动机一起跑呗。 代码如下:
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4032 序列自动机其实就是每个位置记录一下某字母后面第一个出现位置,为了子序列能尽量长。 对字符串B建一个后缀自动机,一个序列自动机,然后让A在上面找即可; 1.枚举A每个位置开始的子串,在SA
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2555 建立后缀自动机,就可以直接加入新串了; 出现次数就是 Right 集合的大小,需要查询 Parent 树上的子树和; 所以可以用 LCT 维护 Parent 树,因为 Parent 树是
阅读全文
摘要:题目:https://www.luogu.org/problemnew/show/P3804 模仿了一篇题解,感觉很好写啊。 代码如下:
阅读全文
摘要:题目:https://www.luogu.org/problemnew/show/P4106 https://www.lydsy.com/JudgeOnline/problem.php?id=3614 从很小的情况考虑,看题面上的样例: x1=+1 x2=+1 0 x1=+1 x2=-1 1 x1=
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=4609 算不合法的比较方便; 枚举最大的边,每种情况算了2次,而全排列算了6次,所以还要乘3; 注意枚举最大边的范围是 mx 而不是 lim !!否则会超过开的数组范围!!! 代码如下:
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2865 唯一出现的子串就是每个后缀除去和别的后缀最长的 LCP 之外的前缀; 所以用这个更新一段区间的答案,可以用线段树维护; 在 sa[i] ~ sa[i]+LCP+1 位置的答案由 LCP+
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3796 先把三个串拼在一起,KMP 求 s1 , s2 中每个位置和 s3 的匹配情况; 注意拼三个串时加入的两个新字符不要一样,否则会影响; 然后预处理出每个位置后面的第一个 s3 的开头 —
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4310 二分答案——在本质不同的子串中二分答案! 如果二分到的子串位置是 st,考虑何时必须分出一段; 如果一个位置 i 有 rk[i] < rk[st],那么显然不用管( i 后缀的开头);
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3230 先算出每个后缀贡献子串的区间; 然后前缀LCP直接查询,后缀LCP二分长度,查询即可; 注意本质不同的子串的个数是 long long 级别!! 于是读入有 long long —— 快
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4453 这种问题...一般先把询问离线,排序; 区间对后缀排名的影响在于一些排名大而位置靠后的后缀可能因为区间右端点截掉了后面而排名变小; 考虑如何影响:如果 i < j rk[i] > rk[
阅读全文
摘要:题目:https://www.luogu.org/problemnew/show/P5061 首先,“配合默契”就是连边的意思; 但发现答案不好统计,因为有连边的两个点可以分在一组,也可以不分在一组; 于是正难则反,因为没有连边的两个点一定不在一组,所以连成补图,二分图染色; 如果染色出现矛盾,就是
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4104 一开始发现了给出的顺序是按这些末尾字符后面的后缀排序得到的; 然后发现可以一个一个把字符串补全; 因为首先知道所有单个字符,排序后就是那些串的第一位,和末尾连起来,得到 n+1 个二元组
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4319 思维还是不行...这样的构造都没思路... 首先,我们可以按 rank 的顺序从小到大填字母,不能填了就是无解; 为了能让后面有字母可填,现在填的字母就要尽可能小; 考虑排名为 i 的后
阅读全文
摘要:题目:http://poj.org/problem?id=3415 先用后缀数组处理出 ht[i]; 用单调栈维护当前位置 ht[i] 对之前的 ht[j] 取 min 的结果,也就是当前的后缀与之前后缀的LCP,其中长度 >= K 的加到答案; 因为单调栈中是一段一段阶梯状的,只存了一段端点的位置
阅读全文
摘要:题目:http://codeforces.com/contest/504/problem/E 快速查询LCP,可以用后缀数组,但树上的字符串不是一个序列; 所以考虑转化成序列—— dfs 序! 普通的 dfs 序中,子树是一段连续的区间,而这里要查询的是链,自然想到树链剖分后的 dfs 序; 这样一
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4278 每次取两个后缀中字典序较小的那个的首字符; 注意超出去的部分是 inf 而不是 0,因为如果到了比较超出去部分的时候,那就是一个串走到了末尾而另一个没有(或者都到末尾,不过都到末尾就随便
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4275 枚举 \( C \) 在 \( A \) 和 \( B \) 中的位置,然后取它前后的最长子序列; \( n^2 \) DP即可,呵呵。 代码如下:
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3202 参考了博客: https://www.cnblogs.com/zhoushuyu/p/9657640.html https://www.cnblogs.com/DUXT/p/595794
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4671 首先,考虑容斥,就是设 \( t[i] \) 表示至少有 \( i \) 个连通块的方案数; 我们希望得到恰好有一个连通块的方案数,但这里不能直接 \( + t[1] - t[2] +
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=5093 每个点都是等价的,从点的贡献来看,得到式子: \( ans = n * \sum\limits_{d=0}^{n-1} d^{k} * 2^{C_{n-1}^{2}} * C_{n-1}
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2159 使用公式:\( n^{k} = \sum\limits_{i=0}^{k} S(k,i) * i! * C_{n}^{i} \) 所以维护 \( f[x][i] = \sum\limit
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=3625 学习斯特林数:https://blog.csdn.net/qq_33229466/article/details/75042895 https://www.cnblogs.com/gzy-cjoier
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3501 用贝尔三角预处理贝尔数,拆模数并在 \( p \) 进制下使用公式,因为这样每次角标增加的是 \( p^{k} \); 循环使用数组非常优美!0~p 的角标背后是许多 \( p \) 的
阅读全文
摘要:题目:http://www.51nod.com/Challenge/Problem.html#!#problemId=1362 首先,\( f[i][j] \) 是一个 \( i \) 次多项式; 如果考虑差分,用一个列向量维护 0 次差分到 \( n \) 次差分即可,在第 \( n \) 次上差
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1004 关于置换群:https://www.cnblogs.com/nietzsche-oier/p/6883880.html https://files-cdn.cnblogs.com/fil
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1119 https://www.lydsy.com/JudgeOnline/problem.php?id=1697 原序列到目标序列的置换,可以找出一些循环节; 发现如果按顺序把一个循环节换下来
阅读全文
摘要:题目:https://agc006.contest.atcoder.jp/tasks/agc006_c 考虑 \( i \) 号兔子移动后位置的期望,是 \( x_{i+1} + x_{i-1} - x_{i} \) 然后作差分,发现按顺序移动一次,实际上是交换了 \( d_{a_{i}} \) 和
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=5730 DP式:\( f[i] = \sum\limits_{j=1}^{i} f[i-j] * a[j] \) 因为没有给 \( f[0] \) 赋初值,所以在递归底层令 \( f[l] += a[l] \
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=1521 标准的指数型生成函数; WA了好几遍,原来是多组数据啊囧; 注意精度,直接强制转换(int)是舍去小数,会WA,+0.5再强制转换或输出 %.0lf 是四舍五入,能A。 代码如下:
阅读全文
摘要:题目:http://cogs.pro:8080/cogs/problem/problem.php?pid=2259 如果构造生成函数是许多个 \( (1+x^{k}+x^{2k}+...) \) 相乘,不好算排列数; 发现排列数和肽链的长度,使用的种类数有关; 所以构造 \( A(x) \),次数是
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2259 相邻点之间连边权为1的边,就是水最短路了; 要注意点上的数不能改成负数,但是想一想改成负数还不如一开始就不走到这个点,所以这个不必担心; 注意1号点到2号点不能连边权为1的边,因为实际上
阅读全文
摘要:题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4555 关于第二类斯特林数:https://www.cnblogs.com/Wuweizheng/p/8638858.html 关于这道题:https://blog.csdn.net/werke
阅读全文
摘要:题目:https://www.luogu.org/problemnew/show/P4336 当作考试题了,然而没想出来,呵呵。 其实不是二分图完美匹配方案数,而是矩阵树定理+容斥... 就是先放上所有的边,求生成树个数,但其中可能有的公司的边没有选上,所以减去至少一个公司没选上的,加上两个...
阅读全文

浙公网安备 33010602011771号