10 2017 档案

摘要:$O(n)$递推求逆元 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 using namespace std; 5 typedef long long ll; 6 int inv[3000010]; 7 int main 阅读全文
posted @ 2017-10-30 21:46 halfrot 阅读(401) 评论(0) 推荐(1)
摘要:题目链接:http://poj.org/problem?id=1185 很裸的状压,考虑对于一行用二进制储存每一种的状态,但是状态太多了做不了。 观察到有很多状态都是不合法的,于是我们预处理出合法的状态,发现只有60种,然后随便DP一下就可以了。 阅读全文
posted @ 2017-10-27 21:51 halfrot 阅读(168) 评论(0) 推荐(0)
摘要:题目链接:https://www.luogu.org/problem/show?pid=1343 dinic跑最大流。 阅读全文
posted @ 2017-10-21 11:32 halfrot 阅读(248) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=4034 轻重链剖分,重儿子先行。树剖模版题。 阅读全文
posted @ 2017-10-18 21:27 halfrot 阅读(162) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3295 观察可得,每一次答案减少的就是,这个数之前比它大的数的个数,这个数之后比它小的数的个数。 所以我们用树状数组来确保这个数前后的区间查询,用权值线段树求其代表的一个区间内比$x$大或小的 阅读全文
posted @ 2017-10-14 11:25 halfrot 阅读(170) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2434 题目中这种多个串匹配的问题,一下子就想到了AC自动机。然后发现如果要建立AC自动机,跟着题目中的方式,不用把每个串提出来。如果是一个普通字符就直接加进去,如果是P就把当前节点记录下来, 阅读全文
posted @ 2017-10-12 20:54 halfrot 阅读(167) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1047 我们对每矩阵的一列维护一个大小为$n$的单调队列,队中元素为矩阵中元素。然后扫描每一行,再次维护一个大小为$n$的单调队列,队中元素为当前列的队列中取出的最值。$O(n^2)$扫过去就 阅读全文
posted @ 2017-10-10 20:44 halfrot 阅读(222) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1050 将边排序,枚举边权最小的边,依次加边直到S和T连通,更新答案。 阅读全文
posted @ 2017-10-10 19:20 halfrot 阅读(175) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3527 首先卷积的形式是$h(i)=\sum_{i=0}^jf(i)g(i-j)$,如果我们可以把式子整理成这个样子再套上FFT就成功了。 $$E_i=\sum_{j<i}\frac{q_j} 阅读全文
posted @ 2017-10-10 18:44 halfrot 阅读(150) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1040 题目给出了$n$个点和$n$条无向边,即一棵基环树或者基环树森林。 如果题目给的关系是在一棵树上,就是一道经典的树形DP。现在我们考虑转化一下。 我们先找到那个环上的任意一条边,端点为 阅读全文
posted @ 2017-10-09 21:46 halfrot 阅读(165) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2761 直接暴力。 阅读全文
posted @ 2017-10-09 20:55 halfrot 阅读(194) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1041 数学xjb分析题。 大概就是推公式分析性质+乱搞。 这里有一个还不错的博客写的比较好懂:http://www.cppblog.com/zxb/archive/2010/10/18/13 阅读全文
posted @ 2017-10-08 10:48 halfrot 阅读(193) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2705 首先分析得题目所求$gcd(i,N)$的取值只可能是$N$的因子,则有$$Ans=\sum_{d|N}d\sum_{i=1}^N[gcd(i,N)==d]$$ $$Ans=\sum_{ 阅读全文
posted @ 2017-10-08 09:21 halfrot 阅读(163) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3172 对这$n$个串建立AC自动机,求每个串的出现次数。 我们在建立时对每一个经过的节点sum++,然后在fail树上从叶子节点不断向上更新,因为父亲节点代表的是孩子节点的一个后缀,所以孩子 阅读全文
posted @ 2017-10-07 21:23 halfrot 阅读(121) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1968 直接计算每个因子的贡献就可以了。 $Ans=\sum_{i=1}^n[\frac{n}{i}]$ 阅读全文
posted @ 2017-10-06 17:01 halfrot 阅读(150) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1053 假设这个最大的反素数为$x$,那么$1<p<x$中数的因子数都没有$x$多,而$x<p<n$中若出现比$x$因子数多的$p$,则可以找到一个新的更大的反素数。所以$x$就是$1<p<= 阅读全文
posted @ 2017-10-06 16:50 halfrot 阅读(159) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1045 我们假设每一个小朋友的代价为$x[i]$,每一次都从前面一个小朋友那里拿,这种贪心跟纸牌均摊很像,想一想很容易理解。 设最后每个小朋友能得到$ave$个糖果,所以有$a[i]+x[i] 阅读全文
posted @ 2017-10-05 21:56 halfrot 阅读(166) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2733 我们对每一个连通块建一棵以排名为键值的权值线段树,询问就可以用二分的方法。 然后对于块与块间加边,我们用并查集维护连通性,每次合并两个块的时候,因为线段树结构相同,可以直接合并就行了。 阅读全文
posted @ 2017-10-05 21:29 halfrot 阅读(166) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1005 一个prufer序列可以唯一确定一棵生成树。而prufer序列可以确定节点的度数,反过来,通过度数就可以确定prufer序列的方案数。 具体怎么做贴个黄学长的题解接跑吧…… 题解:ht 阅读全文
posted @ 2017-10-04 20:51 halfrot 阅读(146) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2809 我们考虑以每一个节点作为管理者所得的最优答案,一定是优先选择所要薪水少的忍者。那么首先整棵子树的忍者都选上,如果总和大于$M$,那么就不断删除薪水最大的那一个忍者。 然后考虑从下至上合 阅读全文
posted @ 2017-10-04 17:07 halfrot 阅读(148) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2190 看到这道题首先想到了NOI2010的能量采集,这不就是赤裸裸的弱化版吗?直接上莫比乌斯反演就行了。 令$f(d)=\sum_{i=1}^n\sum_{j=1}^n[gcd(i,j)== 阅读全文
posted @ 2017-10-03 21:38 halfrot 阅读(198) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1083 由kruskal算法原理可知,我们对一张无向图做普通的最小生成树,连上的最后一条边就是答案。 阅读全文
posted @ 2017-10-03 19:52 halfrot 阅读(141) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2330 类似于题目中这种含有不等式关系,我们可以建立差分约束系统来跑最长路或最短路。 对于一个不等式$X_1-X_2>=a$我们可以看成是$X_1>=X_2+a$,把$X_1$和$X_2$看成 阅读全文
posted @ 2017-10-03 18:52 halfrot 阅读(172) 评论(0) 推荐(0)
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1257 题目所求为$$Ans=\sum_{i=1}^nk%i$$ 将其简单变形一下$$Ans=\sum_{i=1}^nk-\lfloor\frac{k}{i}\rfloor*i$$ $$Ans 阅读全文
posted @ 2017-10-03 16:08 halfrot 阅读(149) 评论(0) 推荐(0)