[POI2014] HOT-Hotels 加强版题解】的更多相关文章

题目描述: N个点M条边的无向图,询问保留图中编号在[l,r]的边的时候图中的联通块个数. 输入格式: 第一行四个整数N.M.K.type,代表点数.边数.询问数以及询问是否加密. 接下来M行,代表图中的每条边. 接下来K行,每行两个整数L.R代表一组询问.对于type=0的测试点,读入的L和R即为询问的L.R:对于type=1的测试点,每组询问的L.R应为L xor lastans和R xor lastans. 输出格式: K行每行一个整数代表该组询问的联通块个数. 题解: 连通问题首先考虑L…
决策单调性优化dp 专题练习 优化方法总结 一.斜率优化 对于形如 \(dp[i]=dp[j]+(i-j)*(i-j)\)类型的转移方程,维护一个上凸包或者下凸包,找到切点快速求解 技法: 1.单调队列 : 在保证插入和查询的x坐标均具有单调性时可以使用 2.单调栈+二分:保证插入有单调性,不保证查询有单调性 3.分治+ 1 或 2:在每次分治时将\([l,mid]\)这段区间排序后插入,然后更新右区间\([mid+1,r]\)的答案 二.分治.单调队列维护有单调性的转移 (甚至还有分治套分治)…
因为垃圾电脑太卡了就重开了一个... 前传:多项式Ⅰ u1s1 我预感还会有Ⅲ 多项式基础操作: 例题: 26. CF438E The Child and Binary Tree 感觉这题作为第一题还蛮合适的( 首先我们设 \(f_i\) 为权值之和为 \(i\) 的符合要求的二叉树的个数. 显然可以枚举根节点的权值.左子树的权值之和进行转移. 也就是 \(f_i=\sum\limits_{x\in S}\sum\limits_{y=0}^{i-S}f_yf_{i-x-y}\) 如果我们记 \(…
[BZOJ4543][POI2014]Hotel加强版 Description 同OJ3522数据范围:n<=100000 Sample Input 7 1 2 5 7 2 5 2 3 5 6 4 5 Sample Output 5 题解:很神的做法. 用f[x][a]表示x子树中有多少个深度为a的点,g[x][a]表示x子树中有多少到lca距离=d的点对,且lca的深度为d-a.那么容易得到转移方程: f[x][a]+=f[y][a-1]g[x][a]+=g[y][a+1]+f[x][a]*f…
4543: [POI2014]Hotel加强版 链接 分析: f[u][i]表示子树u内,距离u为i的点的个数,g[u][i]表示在子树u内,已经选了两个深度一样的点,还需要在距离u为i的一个点作为第三个点. 然后就可以利用这两个数组统计答案了. ans+=g[u][j]*f[v][j-1]+f[u][j]*g[v][j+1]; 如果直接合并f和g,复杂度是$O(n^2)$的,如果可以启发式合并,复杂度是$O(nlogn)$的,如果是长链剖分,复杂度是$O(n)$的. 长链剖分就是按照子树内最长…
POI2014题解 [BZOJ3521][Poi2014]Salad Bar 把p当作\(1\),把j当作\(-1\),然后做一遍前缀和. 一个合法区间\([l,r]\)要满足条件就需要满足所有前缀和\(\ge 0\),所有后缀和\(\ge 0\),也就是\(\forall i\in[l,r],sum_i-sum_{l-1}\ge 0,sum_r-sum_{i-1}\ge 0\). 也就是说\(sum_{l-1}\)要是\([l-1,r]\)内的最小值,\(sum_r\)要是\([l-1,r]\…
BZOJ4543 POI2014 Hotel加强版 Description 同OJ3522 数据范围:n<=100000 Sample Input 7 1 2 5 7 2 5 2 3 5 6 4 5 Sample Output 5 #include<bits/stdc++.h> using namespace std; #define LL long long #define N 100010 LL pool[N<<4]; LL* top=pool; LL* get(int…
题意 有一个树形结构,每条边的长度相同,任意两个节点可以相互到达.选3个点.两两距离相等.有多少种方案? 数据范围:n<=100000 分析 参照小蒟蒻yyb的博客. 我们先考虑一个\(O(n^2)\)的dp,也就是原题的做法. 我们考虑一下,三个点两两的距离相同是什么情况, 1.存在一个三个点公共的LCA,所以我们在LCA统计答案即可. 2.存在一个点,使得这个点到另外两个子树中距离它为d的点以及这个点的d次祖先. 所以,设\(f[i][j]\)表示以\(i\)为根的子树中,距离当前点为\(j…
[题解]P3796 [模板]AC自动机(加强版) 记录当前\(cnt\)是第几个"星".记录第几个串是对应着第几个星. 这里补充一点对于\(AC\)自动机的理解.可能一直有个问题我没有想明白,就是打标记的点只有一个,然而匹配时,假若一个分支包括了另一个不同的分支该怎么办.实际上,我们可以在匹配的时候使用\(fail\)数组进行类似链式前向星的遍历,从而遍历到那个打标记的地方.那么问题来了,怎么保证链式前向星会遍历到那个打了标记的节点呢?答案就在\(gen\_fail\)的玄机里.\(g…
题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=4543 题解 这道题的弱化版 bzoj3522 [POI2014]Hotel 的做法有好几种吧. 我一开始是另一种做法,所以别人说这个题目可以有长链剖分来加速的时候怎么也想不出来. 枚举 \(i\),令点 \(i\) 为根,统计三个人的中心是 \(i\) 的情况.首先三个人一定在不同的子树中,然后分层统计一下就好了. 还有一个种纯 dp 的做法: 令 \(dp[x][i]\) 表示 \(x\)…