FJOI2018 部分题解】的更多相关文章

领导集团问题 考虑对每一个点暴力dpdpdp:fi,jf_{i,j}fi,j​表示iii为根的子树选出来的点集最小值不小于jjj的点集元素个数最大值. 那么显然fi,j=∑max⁡{fv,k≥j}+1f_{i,j}=\sum\max\{f_{v,k\ge j}\}+1fi,j​=∑max{fv,k≥j​}+1 直接上线段树合并来优化就完了. 注意要打懒标记 代码: #include<bits/stdc++.h> #define ri register int using namespace s…
题解 P4577 [FJOI2018]领导集团问题 题解区好像没有线段树上又套了二分的做法,于是就有了这片题解. 题目传送门 怀着必 WA 的决心交了两发,一不小心就过了. 题意 求一个树上最长不下降子序列. 思路 首先考虑裸的 dp:设 \(f_{u,j}\) 表示以 \(u\) 为根的子树里选的数的最大值不小于 \(j\) 能选多少个. \[f_{u,j}= \begin{cases} \sum_\limits{v\ is\ u's\ son}f_{v,j} &j>w_u\\ \max\…
https://www.luogu.org/problemnew/show/P4578 https://loj.ac/problem/2520 有点水的. 先转换成图论模型,即每个绿宝石,横坐标向纵坐标连边,权值为绿宝石要的数. 然后就变成了每个点,我按一下可以使得与它相连的边都+1/-1,问能否使图边权全部变成0. 其实你手玩一下的话你就会发现如果有解,你每次可以按这个点几下把一些边变成0,然后对于剩下的边我们当然可以用另一个端点把它变成零……持续下去你就会发现这么玩一定能使所有边都成0. 开…
本题解同步于luogu emmm切了近年省选题来写题解啦qwq 该题较其他省选题较水吧(否则我再怎么做的出来 思路是图论做法,做法上楼上大佬已经讲的很清楚了,我来谈谈代码实现上的一些细节 \[\text{设节点1...2n,i}\in\text{1-n表示i行,i}\in\text{(n+1)-2n时表示i-n列}\] \[\text{当我们读到一颗绿宝石(x,y,k)时,就从x向y+n连一条权值为k的边}\] \[\text{当我们连完边后会发现给一行/一列增加a就相当于把与这个点相连的所有边…
题面 FJOI2018 领导集团问题 给一棵树 \(T(|T|=n)\),每个点有个权值 \(w_i\),从中选出一个子点集 \(P=\{x\in {\rm node}|x\in T\}\),使得 \(\forall u,v\in P,v\in{u{\rm 's\ subtree}}\) 满足 \(w_v\ge w_u\),求 \(|P|_{\max}\). 数据范围:\(1\le n\le 2\cdot 10^5\),\(0<w_i\le 10^9\). 蒟蒻解 这里是线段树合并维护 \(\r…
https://www.luogu.org/problemnew/show/P4577 https://loj.ac/problem/2521 参考:https://www.luogu.org/blog/ShadowassIIXVIIIIV/solution-p4577 自己再说下另一种理解方法吧. 我们设f[i][j]为i的子树下找到的点集最小值为j的大小. 但不是很好统计,所以我们开f[i][j]表示j~INF的和即为原来的含义. 则我们合并其子树的时候,考虑加入i的w[i]时,其答案f[i…
[BZOJ5471][FJOI2018]邮递员问题(动态规划) 题面 BZOJ 洛谷 给定平面上若干个点,保证这些点在两条平行线上,给定起点终点,求从起点出发,遍历所有点后到达终点的最短路径长度. 题解 不会做,于是点开LOJ,点开除了\(std\)之外唯一过的人的代码,照着打了一遍QwQ...... 然后再对着代码YY一遍就有了这篇东西...... 强制令起点的位置是第\(0\)行(方便而已). 在第\(0\)行枚举一个\(i\),在第一行枚举一个\(j\). 设\(f[j][0]\)表示第\…
[BZOJ5470][FJOI2018]所罗门王的宝藏() 题面 BZOJ 洛谷 有\(n+m\)个变量,给定\(k\)组限制,每次告诉你\(a_i+b_j=c_k\),问是否有可行解. 题解 一道很呆的题目,我都不知道应该算什么类型了... 把行列拆开,对于一个限制\(x,y,c\),连边\(x\)行到\(y\)列,边权为\(c\). 然后\(dfs\)一遍,如果存在环的话显然必须要环上存在合法解,那么随便令一个东西为\(x\),记录每个值为\(ax+b\)的形式,检查二分图是否合法. #in…
[BZOJ5469][FJOI2018]领导集团问题(动态规划,线段树合并) 题面 BZOJ 洛谷 题解 题目就是让你在树上找一个最大的点集,使得两个点如果存在祖先关系,那么就要满足祖先的权值要小于等于儿子的权值. 首先离散权值. 考虑一个暴力\(dp\),设\(f[i][j]\)表示以\(i\)为根,子树中被选择的最小值为\(j\)时能够被选出的最大点树.然后xjb转移一下就写出了一个\(O(n^3)\)的优秀做法. 然后把状态从恰好变成至少,然后就得到了一个\(O(n^2)\)的做法. 考虑…
我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我没看,看不懂. 基本思路:我不会. 参考代码:找Oyk老师和Czj老师去. B. The background of water problem 题目大意(大写加粗的水题):给定$N$个学生和他们$K$个科目的成绩$S_i$,再给出各科目$K_i$的权重顺序$Q_i$,求排名之后,拥有id为$X$的…