摘要:多项式乘法 FFT 见 "这里" NTT 可以求出两个多项式相乘结果系数对任意NTT模数(可以表示为$a\times2^b+1$形式的质数)取模的结果。 其实只要把FFT里的单位副根变为该模数的原根就好了。 常见的NTT模数为998244353,原根为3。 code: cpp void NTT(ve 阅读全文
posted @ 2019-03-25 11:43 xryjr233 阅读 (38) 评论 (1) 编辑
摘要:第一眼看过去感觉这三个学生都是神仙啊。。。 仔细想想似乎是可以推? 考虑对于一个学生,他一开始知道自己的数字只有至多2种可能。 如果他看到其他两人的数字相等,那么他一定知道自己的数字是两人的数字之和。因为其他两人的数字之差为0,而自己头上的数是正整数。 如果不是,那么他头上的数字就会有2种可能。由于 阅读全文
posted @ 2019-07-23 10:30 xryjr233 阅读 (26) 评论 (2) 编辑
摘要:多项式乘法 FFT 见 "这里" NTT 可以求出两个多项式相乘结果系数对任意NTT模数(可以表示为$a\times2^b+1$形式的质数)取模的结果。 其实只要把FFT里的单位副根变为该模数的原根就好了。 常见的NTT模数为998244353,原根为3。 code: cpp void NTT(ve 阅读全文
posted @ 2019-03-25 11:43 xryjr233 阅读 (38) 评论 (1) 编辑
摘要:多项式求逆是什么 对于一个$n$次多项式$F(x)$,要求一个小于等于$n$次的多项式$G(x)$,满足 $F(x)G(x)\equiv1(mod\ x^n)$ $mod\ x^n$即只考虑所有多项式的前n项。 怎么做多项式求逆 显然,当$F(x)$次数为0,即只有常数项时,它的逆元就是常数项的逆元 阅读全文
posted @ 2019-03-25 11:32 xryjr233 阅读 (25) 评论 (0) 编辑
摘要:突发奇想做一道非传统题。。。 只要发现这些算法的一些性质就好了: SSSP: FloydWarshall:稳定$O(V^3)$ ModifiedDijkstra:正权图跑得贼快,负权图可能会被卡掉 OptimizedBellmanFord:时间按复杂度取决于更新节点的顺序 Mystery(染色问题) 阅读全文
posted @ 2019-03-21 20:13 xryjr233 阅读 (28) 评论 (2) 编辑
摘要:发现一个重要的性质:由于不存在删点的操作,所以之后的加点并不会对之前的询问的答案造成影响。 所以我们可以先处理修改,再处理询问。 考虑从左到右扫描每一颗树,每次将前一棵树通过一些修改变为后一棵树。 发现我们修改一段区间的生长点的位置,相当于在扫描到这个区间的左端点时,将接在原来生长点下面的子树全部转 阅读全文
posted @ 2019-03-20 20:37 xryjr233 阅读 (23) 评论 (0) 编辑
摘要:考虑暴力dp。 设$dp_i$表示前$i$个积木,保留积木$i$的最大答案。 那么有 $dp_i=max(dp_j)+1(i j,a_i a_j,a_i a_j\le i j)$ 对$j$的限制条件里前2条显然,后一条是因为要使积木$i$和$j$之间有足够的积木使它们的相对位置正确。 由第三条可得$ 阅读全文
posted @ 2019-03-17 18:45 xryjr233 阅读 (25) 评论 (0) 编辑
摘要:两个 错误调了一整天... 1.pubp函数括号匹配错了 2.精度常数类型开成了int 就是一个大模拟,别的没什么好讲的,讲一讲我判断圆和线是否有交点的pubp函数,个人认为很容易理解。 ~~其实就是不想动脑子才用了简单粗暴的办法~~ 我们这样记录一条线段: 当该线段不与$x$轴垂直,我们记录${k 阅读全文
posted @ 2019-03-17 18:30 xryjr233 阅读 (38) 评论 (1) 编辑
摘要:显然这是一棵树。 设节点$i$和$j$之间的边为$(i,j)$,边$(i,j)$导电的概率为$q_{i,j}$,第$i$个点自身有电的概率为$p_i$ 考虑树形dp。 显然答案等于所有节点有电的概率之和。 考虑一个节点什么时候会被充电: 1.它自己有电; 2.它的孩子里有节点有电,并且这个孩子和这个 阅读全文
posted @ 2019-03-17 18:28 xryjr233 阅读 (10) 评论 (0) 编辑
摘要:简化题意: 一棵$n$个点的树,每一个点有个初始点权,第$i$个点点权为$A_i$,要求任意节点的子节点权值相等,父节点权值等于子节点的和,问最少需要改变多少点的权值。 设节点$i$的子节点数量为$sz_i$,点$i$修改以后的点权为$w_i$。 发现我们通过一个点$i$的权值可以得到所有相邻点的权 阅读全文
posted @ 2019-03-17 18:27 xryjr233 阅读 (8) 评论 (0) 编辑
摘要:设第一个串为$a$,第二个串为$b$。 不妨让我们的所有操作对$b$进行。 如果我们将$b$逆时针转动$j(0\le jn$,$a_i=0$,那原式等价于 $\sum_{i=1}^{n+j}a_ib_{n+j i+1}$ 就很明显了。 所以我们设当$j=x$,原式值为$v_{n+j}$,那么我们可以 阅读全文
posted @ 2019-03-17 18:26 xryjr233 阅读 (17) 评论 (0) 编辑