随笔分类 -  网站->LOJ

上一页 1 2 3 4 5 6 7 8 9 10 ··· 12 下一页
摘要:题解 把所有的数组一开始就FWT好然后再IFWT回去可以减小常数 从13s跑到0.7s…… 可以参照immortalCO的论文,感受一下毒瘤的动态动态DP 就是用数据结构维护线性递推的矩阵的乘积 由于所有轻儿子$F(z) + z^{0}$的乘积做除法太麻烦,我们用一个线段树维护每个点所有的轻儿子即可 阅读全文
posted @ 2018-10-03 13:19 sigongzi 阅读(626) 评论(0) 推荐(0)
摘要:题解 显然权值都是正的,我们最深的那个点一定延伸到了某个叶子 我们抛去这条链之外再选K个点即可 如果直接对一棵树选K个点,满足这样的依赖关系,可以通过一个后序遍历的顺序做出来 转移方法是 $dp[i][j] = dp[i 1][k] + (j k) v$ 或者 $dp[i][j] = dp[i si 阅读全文
posted @ 2018-10-02 16:26 sigongzi 阅读(309) 评论(0) 推荐(0)
摘要:题解 遇见平方和就转有序对呗 dp类似从很多点出发每次走一步的转移方式 然后我too naive的,枚举路径长度来决定更新次数,愉快TLE 改成记搜就过了 代码 cpp include define fi first define se second define pii pair define m 阅读全文
posted @ 2018-09-19 15:18 sigongzi 阅读(351) 评论(0) 推荐(0)
摘要:题解 题中给的函数可以用矩阵快速幂递推 我们记一个数组dp[i](这个数组每个元素是一个矩阵)表示从1到i所有的数字经过拆分矩阵递推的加和 转移方法是 $dp[i] = \sum_{j = 0}^{i 1} dp[j] tr[j + 1][i]$ $tr[j][i]$表示矩阵的$[j,i]$组成的数 阅读全文
posted @ 2018-09-19 15:15 sigongzi 阅读(274) 评论(0) 推荐(0)
摘要:题解 简单分析一下就知道$\lfloor \frac{N}{i} \rfloor$相同的$i$的$sg$函数相同 所以我们只要算$\sqrt{n}$个$sg$函数就好 算每一个$sg(m)$的时候我们可以通过把这个数再拆成$\sqrt{m}$段来计算$sg$值 复杂度用积分分析是$n^{frac{3 阅读全文
posted @ 2018-09-17 18:02 sigongzi 阅读(248) 评论(0) 推荐(0)
摘要:题解 又是一道取模不给质数的毒瘤矩阵树题 不会写分数类……然后发现了网上过于神仙的题解类似与辗转相除的这样把某一个位置消成0 orz 代码 cpp include define fi first define se second define pii pair define mp make_pair 阅读全文
posted @ 2018-09-14 16:40 sigongzi 阅读(182) 评论(0) 推荐(0)
摘要:题解 一道我觉得和二叉树没有关系的题…… 因为直接上点分就过了,虽然很慢,而且代码很长 你需要记录一个点分树,对于每个点分树的重心,记录一下上一次进行分割时树的重心以及这个重心和上一次重心所连接的点以及连接的边的距离 然后计算这个重心和所在的树到上一个重心节点路径和的前缀和,还有节点个数和 处理每棵 阅读全文
posted @ 2018-09-13 19:48 sigongzi 阅读(116) 评论(0) 推荐(0)
摘要:题解 把所有=的点连起来,一个图合法肯定它是一个有向树森林 我们新建一个点,把这个点和其他所有树的树根连起来 定义$dp[u][j]$表示第u个点长度为j的序列的方案数 转移方法是 $dp[u][j] += g[k] \cdot dp[v][h] \cdot \binom{j}{k} \cdot \ 阅读全文
posted @ 2018-09-13 18:49 sigongzi 阅读(152) 评论(0) 推荐(0)
摘要:题解 怎么觉得都像树dp,不像贪心 但是树dp确实做不了 把每个节点的值设置为樱花+儿子数 把儿子合并到父亲上就是父亲的剩余容量加上儿子的值 1 每次在父亲的时候将儿子的值排序然后能加就加上 因为儿子如果不加进去那么之后的操作与儿子再也没有关系了,儿子影响的只有父亲,那么只是能让父亲一个节点被加入, 阅读全文
posted @ 2018-09-13 16:38 sigongzi 阅读(346) 评论(0) 推荐(0)
摘要:题解 把所有边反向 从小到大枚举每个点,把每个点能到达的点挑出来,判完无解后显然是一个DAG,然后在上面求一个编号最大的拓扑序,把这些点全部标记为已选,把每次求得的拓扑序倒序输出 代码 阅读全文
posted @ 2018-09-13 16:34 sigongzi 阅读(179) 评论(0) 推荐(0)
摘要:题解 如果不加这条边,那么答案是所有点入度的乘积 加上了这条边之后,我们转而统计不合法的方案数 就是相当于统计一条路径从y到x,新图所有点度的乘积除上这条路径所有点的点度乘积 初始化为$f[y] = \frac{\prod_{i = 2}^{n} ind[i]}{ind[y]}$ 转移按照拓扑序转移 阅读全文
posted @ 2018-09-10 20:11 sigongzi 阅读(250) 评论(0) 推荐(0)
摘要:题解 我们先跑一个斯坦纳树出来 斯坦纳树是什么,是一个包含点集里的点联通所需要的最小的价值,显然他们联通的方式必然是一棵树 我们可以设一个状态为$dis[i][S]$表示以第i个点为根,点集为$S$的点联通所需要的最小价值 我们可以从小到大枚举$S$ 有两种更新方法 $dis[i][S] = min 阅读全文
posted @ 2018-09-10 15:24 sigongzi 阅读(315) 评论(0) 推荐(0)
摘要:题解 我深思熟虑许久才算是明白个大概的计数问题吧 先是转化成一个矩形,列一条直线y = x,y = x (m + 1)我们从(0,0)走到(n + m + 1,m + 1)就是答案 因为我们起始相当于第一行缺一个0,然后有m+1种转移的方案,每次在距左边界j的地方某个点向上走表示转移到缺j 1,向右 阅读全文
posted @ 2018-09-09 22:39 sigongzi 阅读(218) 评论(0) 推荐(0)
摘要:题解 换成long double才过……出题人丧心病狂卡精度 只要按照费用排序从小到大排序,一个个插入线性基,插入的时候加上费用即可 代码 cpp include define fi first define se second define pii pair define mp make_pair 阅读全文
posted @ 2018-09-06 19:51 sigongzi 阅读(149) 评论(0) 推荐(0)
摘要:题解 用一个平衡树维护能攻占到u点的骑士,合并到父亲的时候去掉攻击力小于父亲生命值的那部分,只要把那棵树拆掉并且将树中的所有骑士更新一下答案,用无旋式treap很好写 合并的时候只要启发式合并就可以了 复杂度$O(n \log^2 n)$ 代码 cpp include define fi first 阅读全文
posted @ 2018-09-06 19:04 sigongzi 阅读(222) 评论(0) 推荐(1)
摘要:题解 点一个技能点叫特征方程 就是 $a_{n + 2} = c_1 a_{n + 1} + c_2 a_{n}$ $x^2 = c_1 x + c_2$ 解出两根来是$x_1,x_2$ 通项就是 $Ax_1^{n} + Bx_2^{n}$把第一项和第二项带入可以解出来A和B 然后为了得到通项是 $ 阅读全文
posted @ 2018-09-02 17:04 sigongzi 阅读(372) 评论(1) 推荐(0)
摘要:题解 每次按较长边把矩形分成两半,找一个中间轴,轴上的每个点跑一边最短路更新所有的答案 然后把矩形分成两半,递归下去 代码 cpp include define enter putchar('\n') define space putchar(' ') define pii pair define 阅读全文
posted @ 2018-09-01 12:03 sigongzi 阅读(214) 评论(0) 推荐(0)
摘要:题解 之前用的mapTLE了,今天用了个hash把题卡了过去,AC数++ 我们只要保留一个点为中心周围5 5个格子就可以 如果一个点周围5 5个格子有两个不连通,那么显然输出0 如果一个出现了一个割点,那么看看这个割点在不在离中心点的第一层,如果在的话就是1,没有合法割点的话就是2 然后就是特判了… 阅读全文
posted @ 2018-08-30 14:41 sigongzi 阅读(176) 评论(0) 推荐(0)
摘要:题解 想到n3发现思路有点卡住了 对于每个发射塔把激光塔和敌人按照极角排序,对于一个激光塔,和它转角不超过pi的激光塔中间夹的敌人总和就是答案 记录前缀和,用two Points扫一下就行 代码 cpp include define enter putchar('\n') define space 阅读全文
posted @ 2018-08-29 18:44 sigongzi 阅读(208) 评论(0) 推荐(0)
摘要:题解 我居然都没反应过来二分图内选集合两两不能有边是最大独立集了 我退役吧 显然连边只能在奇数和偶数之间,然后二分图求最大独立集是节点数 最大匹配数 啊当然还有对于1的话只能留一个1 代码 阅读全文
posted @ 2018-08-29 13:00 sigongzi 阅读(178) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 7 8 9 10 ··· 12 下一页