上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 29 下一页
摘要: 题解 波兰人的j是苹果,p是橘子 还真是跟中国过不去啊= =写的时候很难受 我们先求出每个点作为起点,能延伸到的最大长度,这个可以处理成前缀和,查询一下区间最小值是不是小于0,用st表实现,如果区间最小值大于等于0,那么这段区间,以该点作为起点是合法的 然后求出每个点作为终点能延伸到的最大长度,处理 阅读全文
posted @ 2018-06-20 15:06 sigongzi 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 题解 可以说是什么找规律好题了 但是要推生成函数,非常神奇…… 任何的一切都可以用$n^2$dp说起 我们所求即是 所有树的叶子总数/所有树的方案数 我们可以列出一个递推式,设$g(x)$为$x$个节点构成的树的总数 那么有 $g(n) = \sum_{i = 0}^{n 1}g(i) g(n 1 阅读全文
posted @ 2018-06-20 13:59 sigongzi 阅读(193) 评论(0) 推荐(1) 编辑
摘要: 题解 我们先把所有点random_shuffle一下 然后对前i 1个点计算一个最小圆覆盖,然后第i个点如果不在这个圆里,那么我们把这个点当成一个新的点,作为圆心,半径为0 从头枚举1 i 1,看看每个点在不在这个圆里,如果不在,那么就把新的点j,做一个圆经过i和j(就是i,j中点的作为圆心) 再枚 阅读全文
posted @ 2018-06-20 08:43 sigongzi 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 题解 我们由于莫比乌斯函数如果有平方数因子就是0,那么我们可以列出这样的式子 $\sum_{i = 1}^{n} \sum_{d|i} (1 |\mu(d)|)$ 然后枚举倍数 $\sum_{t = 1}^{n} \sum_{d = 1}^{\lfloor \frac{n}{t} \rfloor} 阅读全文
posted @ 2018-06-20 07:13 sigongzi 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 题解 我们枚举右端点判断合法的左端点有哪些 首先,记录一下右端点右边的点的pre,也就是这个数字前一个出现的位置,取所有小于枚举右端点r的值中最大的一个做为l,用优先队列维护即可,[l + 1,r]就是可能取到的左端点的区间 然后我们对于每一种数字,最前一次出现的位置p,最后一次出现的位置q,覆盖[ 阅读全文
posted @ 2018-06-19 18:57 sigongzi 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 题解 感觉全世界都写过只有我没写过 毕竟是板子还是挺简单的,只要用可持久化线段树维护一下数组的形态就好了,每个数组里面维护这个数组的father,和这个点所在树的最长链的深度(如果这个点是根按秩合并要用) 为了避免返回两个值可以直接返回所在线段树节点的编号 代码 cpp include includ 阅读全文
posted @ 2018-06-19 15:53 sigongzi 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 题解 考虑朴素的暴力,相当于枚举u点的每个祖先f,然后统计一下这个点f除了某个儿子里有u的那个子树之外的节点个数,乘上f到u距离的二进制1的个数 那么我们用倍增来实现这个东西,每次枚举二进制的最高位j,用dfs序枚举点u,找到u的距离为$2^j$的祖先,那么在fa[u][j]这个祖先的位置,j这一位 阅读全文
posted @ 2018-06-19 15:05 sigongzi 阅读(182) 评论(1) 推荐(0) 编辑
摘要: 题解 对于75分来说,操作肯定不会成环,可以暴搜 看成空格在移动,空格移动到原来的位置肯定经历了偶数个格子,但是操作的人是两个不同的人,所以肯定不会成环 对于满分做法,要找到一种更好的方式判先手是否会胜 我们看成空格在移动,每次空格必然是走一个黑棋,走一个白棋,这显然是一条交错路,我们考虑二分图 把 阅读全文
posted @ 2018-06-19 12:03 sigongzi 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 题解 我们把这个函数的递归形式画成一张图,会发现答案是到每个出度为0的点的路径的方案数 这个可以用组合数算 记录一下P[i]为i减几次PI减到4以内 如果P[i + 1] P[i],那么转向的路径走P[i]次,否则走P[i] 1次 代码 cpp include include include inc 阅读全文
posted @ 2018-06-19 09:50 sigongzi 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 题解 一道神奇的dp 我们发现关于两个东西的记录很难办,但是我们发现在固定时间区间内,如果A场地举办的活动数是一定的,那么B场地肯定举办的活动越多越好 我们预处理一个$num[i][j]$表示时间区间$[i,j]$有多少个活动会在这个区间里举办(被区间完整包含) $pre[i][x]$表示$[1,i 阅读全文
posted @ 2018-06-19 08:44 sigongzi 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 题解 看完题目我的第一个反应是……要求最小花费的方案?!怎么求??? 然后我把题读完了。好吧。 记录一下size就行,比NOIP普及组还要不如的题= = 代码 cpp include include include include include include define enter putch 阅读全文
posted @ 2018-06-18 20:13 sigongzi 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 题解 显然是个$n^2$的dp 我们要找每个点不穿过非赛道区域能到达哪些区域的交点 可以通过控制两条向量负责最靠下的上边界,和最靠上的下边界,检查当前点在不在这两条向量之间即可,对于每个点可以$O(n)$求出来哪些点是可以到达的 之后dp即可 注意判断S点所在区域的时候需要找靠后的那个区域…… 代码 阅读全文
posted @ 2018-06-18 19:52 sigongzi 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 题解 可能是世界上最裸的一个单纯形 (话说全幺模矩阵是啥我到现在都不知道) 假装我们已经看过了算导,或者xxx的论文,知道了单纯形是怎么实现的 扔一个blog走掉。。https://www.cnblogs.com/ECJTUACM 873284962/p/7097864.html 那么我们根据题意可 阅读全文
posted @ 2018-06-18 16:51 sigongzi 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 题解 一眼就是线段树维护点分树的dfs序嘛 代码debug一年(手动再见) 码力直线下降,坐等滚粗= = 很明显的我们需要一个点分树,然后求出以每个重心为根的树的dfs序,线段树维护一下每个点的价值 每个点到根的距离 对于修改点直接单点修改,对于边相当于修改了一个子树到根的距离,就是dfs序上一段区 阅读全文
posted @ 2018-06-17 16:34 sigongzi 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 题解 看错题了,以为单次修改相当于一个覆盖,后来才明白“添加”…… 就相当于添加很多线段求最小值 首先这个等差数列添加的方式比较烦人,我们拆开两条链,一条s到lca,一条lca到t 那么s到lca上的点x值就是$ A dis[x] + A dis[s] + B$ lca到t上的点x值就是$A dis 阅读全文
posted @ 2018-06-17 13:16 sigongzi 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 题解 我们发现每次决策的时候,我们可以判断某个点的决策,至少小于等于几个点或者至少大于等于几个点 我们求最大值 dp[u][1 / 0] dp[u][1]表示u这个点先手,至少大于等于几个点 dp[u][0]表示u这个点后手走,至少大于等于几个点 转移的时候从dp[u][1]取所有点dp[v][0] 阅读全文
posted @ 2018-06-15 22:06 sigongzi 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 题解 我们对于B串建出后缀自动机和序列自动机 对于问题1,枚举左端点然后跑后缀自动机,直到不能匹配作为这个左端点的答案 对于问题2,枚举左端点然后跑序列自动机,直到不能匹配 对于问题3,设f[i][j]表示第前i个字符匹配到后缀自动机上第j个点的最少步数,如果下一步走不了则更新答案 对于问题4,设f 阅读全文
posted @ 2018-06-15 20:52 sigongzi 阅读(367) 评论(0) 推荐(0) 编辑
摘要: 题解 虽然我知道minmax容斥,但是……神仙能想到把这个dp转化成一个一次函数啊= = 我们相当于求给定的$S$集合里最后一个被访问到的点的时间,对于这样的max的问题,我们可以用容斥把它转化成min问题 也就是 $max{S} = \sum_{T \subset S} ( 1)^{|T| + 1 阅读全文
posted @ 2018-06-15 16:12 sigongzi 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 题解 用$f[i][j]$表示考虑了前i个排名有j个人被碾压 $f[i][j] = f[i 1][k] \ C[k][j] \ C[N k 1][N r[i] j] \ P[i]$ P[i]是成绩排列的方式,意义是在前面k个人里选了j个来碾压,并将人数空缺用上一次没有碾压的来填补 $P[i]$怎么求 阅读全文
posted @ 2018-06-15 14:33 sigongzi 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 题解 有什么LNOI啊,最后都是JLOI罢了 一道非常……懵逼的统计题 当然是容斥,所有的方案 至少有一个点坏掉的正方形 + 至少有两个点坏掉的正方形 至少有三个点坏掉的正方形 + 至少有四个点坏掉的正方形 总共的方案就是 $\sum_{i}^{min(n,m)}i \ (n i + 1) \ (m 阅读全文
posted @ 2018-06-15 14:31 sigongzi 阅读(164) 评论(0) 推荐(0) 编辑
上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 29 下一页