考场 \(65+5+0\),并列 rk2 最高分 \(55+10+10\) T1:等比数列可以写作 \(q^kx\),发现 \(q\le1000\) 且有一档分为 \(a_i\le100\),想到 \(2^{60}>10^{18}\),即等比数列的长度最多为 \(59\),这样枚举的区间就从 \(n ...
分类:
其他好文 时间:
2021-05-23 23:11:28
阅读次数:
0
Solution 我们发现要解决一个树上的连通块问题,解决这种问题的时候我们不妨先随便选一个根,如果要选某两个点则他们到n的路径上的点都会被选就变成了一个树形背包问题。 注意这里是多重背包,所以我们可以用单调队列优化,时间复杂度$O(N^2M)$。 考虑暴力选根的时候会把很多重复的情况算进去,所以我 ...
分类:
其他好文 时间:
2020-05-29 19:24:43
阅读次数:
65
树形背包$O(n^2)$算法 [TOC] P2014选课 题目描述 在大学里每个学生,为了达到一定的学分,必须从很多课程里选择一些课程来学习,在课程里有些课程必须在某些课程之前学习,如高等数学总是在其它课程之前学习。现在有N门功课,每门课有个学分,每门课有一门或没有直接先修课(若课程a是课程b的先修 ...
分类:
其他好文 时间:
2020-01-31 17:23:09
阅读次数:
94
luogu3698小Q的棋盘 题意: 求从树的根节点出发,走n步能经过的最多的点的数量(可以重复走点,但是重复走的步数会记录) 树形背包dp: 对于从0出发,我们可以这样走: 1、选一条岔路一直走下去 2、选一条岔路走后回到0点,再选一条岔路走下去 对应的dp转移: f[0][u][j]代表从u出发 ...
分类:
其他好文 时间:
2019-11-10 21:22:30
阅读次数:
78
题意 给一棵$n$个点的边带权的树,要求选$k$个点染成白色,其他点为黑色,最大化(黑点两两距离+白点两两距离),$(n\leq 2000)$ 思路 一道好题,思路不容易get,但是想出来之后很简单 一般树形DP的套路:设$f_{rt,i}$表示以$rt$为根的子树选$i$个点染成白色, 这棵子树 ...
分类:
其他好文 时间:
2019-11-03 21:50:00
阅读次数:
73
链接 树形+背包 #include<bits/stdc++.h> #define re return #define inc(i,l,r) for(int i=l;i<=r;++i) using namespace std; template<typename T>inline void rd(T& ...
分类:
其他好文 时间:
2019-10-23 11:50:35
阅读次数:
85
T1: 很容易写出dp式子:定义dp[i][j]为现在是第i个烟火,位置在j,然后就可以枚举上一个时间的位置k转移过来。(j-(t[i]-t[i-1])*d <= k <=j+(t[i]-t[i-1])*d) 这样是n*n*m的,考虑优化。 固定一个边界:j-(t[i]-t[i-1])*d<=k 可 ...
分类:
其他好文 时间:
2019-10-14 18:39:24
阅读次数:
117
题目: 分析: 分数形式的套路是0/1分数规划:二分一个答案,将式子化简,转换为判断能否选出部分点使得 sigma(b[i]-c[i]*mid)>=0 在这道题中,因为有了依赖关系,而依赖关系不会成环,将依赖关系连边,会成为一棵树,只需要在这颗树上跑树形背包即可。 树形背包:对于一个点v,如果要选v ...
分类:
其他好文 时间:
2019-10-10 09:17:49
阅读次数:
95
首先,观察题意,可以发现在最长链下再接一个点,结果一定更优。 也就是说,可以免费选一条最长链,之后正常选。 我们枚举选的最长链,然后算出剩下部分的最优解。 有4部分: 1、链上每个点都选一个。 2、链上剩下的部分。 3、链的左面。 4、链的右面。 1可以直接计算。 那么,我们需要先进行树形背包,然后 ...
分类:
移动开发 时间:
2019-09-14 00:27:36
阅读次数:
97
4753: [Jsoi2016]最佳团体 Description JSOI信息学代表队一共有N名候选人,这些候选人从1到N编号。方便起见,JYY的编号是0号。每个候选人都由一位 编号比他小的候选人Ri推荐。如果Ri=0则说明这个候选人是JYY自己看上的。为了保证团队的和谐,JYY需要保证, 如果招募 ...
分类:
Web程序 时间:
2019-08-31 21:23:35
阅读次数:
101