摘要: 发现一个重要的性质:由于不存在删点的操作,所以之后的加点并不会对之前的询问的答案造成影响。 所以我们可以先处理修改,再处理询问。 考虑从左到右扫描每一颗树,每次将前一棵树通过一些修改变为后一棵树。 发现我们修改一段区间的生长点的位置,相当于在扫描到这个区间的左端点时,将接在原来生长点下面的子树全部转 阅读全文
posted @ 2019-03-20 20:37 xryjr233 阅读(122) 评论(0) 推荐(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 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 两个 错误调了一整天... 1.pubp函数括号匹配错了 2.精度常数类型开成了int 就是一个大模拟,别的没什么好讲的,讲一讲我判断圆和线是否有交点的pubp函数,个人认为很容易理解。 ~~其实就是不想动脑子才用了简单粗暴的办法~~ 我们这样记录一条线段: 当该线段不与$x$轴垂直,我们记录${k 阅读全文
posted @ 2019-03-17 18:30 xryjr233 阅读(265) 评论(1) 推荐(0) 编辑
摘要: 显然这是一棵树。 设节点$i$和$j$之间的边为$(i,j)$,边$(i,j)$导电的概率为$q_{i,j}$,第$i$个点自身有电的概率为$p_i$ 考虑树形dp。 显然答案等于所有节点有电的概率之和。 考虑一个节点什么时候会被充电: 1.它自己有电; 2.它的孩子里有节点有电,并且这个孩子和这个 阅读全文
posted @ 2019-03-17 18:28 xryjr233 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 简化题意: 一棵$n$个点的树,每一个点有个初始点权,第$i$个点点权为$A_i$,要求任意节点的子节点权值相等,父节点权值等于子节点的和,问最少需要改变多少点的权值。 设节点$i$的子节点数量为$sz_i$,点$i$修改以后的点权为$w_i$。 发现我们通过一个点$i$的权值可以得到所有相邻点的权 阅读全文
posted @ 2019-03-17 18:27 xryjr233 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 又是一篇咕咕咕了好久的文章。 什么是多项式 一个形如$a_0+a_1x_1+a_2x_2+...+a_nx^n$的东西叫做关于$x$的$n$次多项式。 其中$a_i$叫做这个多项式的$i$次项系数。特别地,$a_0$是这个多项式的常数项。 多项式乘法 一个$n$次多项式和一个$m$次多项式的乘积是一 阅读全文
posted @ 2019-03-17 18:26 xryjr233 阅读(360) 评论(0) 推荐(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 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 首选,对于$N$为偶数,我们可以不停地把它除以2,于是我们只用考虑$N$为奇数的情况。 我们有$A_{2i+1}=A_i+A_{i+1}$ 于是我们设$B_i=A_i+A_{i+1}$ 当$i$为奇数 $B_i=A_i+A_{i+1}=A_{\frac{i}{2}}+A_{\frac{i}{2}+1 阅读全文
posted @ 2019-03-17 18:23 xryjr233 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 如果我们确定了$r$和$c$,事实上也确定了打地鼠的方案。 因为所有$r\times c$的矩形中,只有1个能覆盖当前还有地鼠的位置组成的图形的角落上的那个洞,所以我们只能在那个角落上砸。 比如,我们目前剩下的地鼠分布为 0 0 0 0 0 0 1 2 0 2 1 2 2 2 3 1 那么我们只能以 阅读全文
posted @ 2019-03-17 18:22 xryjr233 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 首先,我们记录$mo_{i,j}$表示在点$i$到点$j$的任意一条最短路上,并且和$i$相邻的标号最小的节点,也就是当聪聪在点$i$,可可在点$j$时,聪聪下一步会走的节点。 显然可以对每一个点$i$跑最短路计算$mo_i$。 使用堆优化的Dijkstra的话这部分的总时间复杂度是$O(n^2\l 阅读全文
posted @ 2019-03-17 18:21 xryjr233 阅读(106) 评论(0) 推荐(0) 编辑