题面 传送门 思路 又双叒叕是一道差分题我没想出来......记录一下 首先这个"所有祖先都比自己小"等价于"父亲比自己小" 这题的基础dp方程很显然,$dp[u][i]$表示当前在点$u$,且点$u$的值是$i$的时候最小修改几个点 然后我们发现每个$dp[u]$可以取到的有意义的值只有几个,所以我们考虑开一个$set$来维护这些取值和它们对应的$dp$值 这样并不方便转移:我们发现可以把$dp$值差分一下,每个$set$元素维护取值,以及这个取值的$dp$值和上…
题面 传送门 思路 首先看看我们到底要干什么:有$1e6$次询问,遍历$i$,每次要求一个形如$b_i \ast a_j - a_i \ast b_j$的东西的最大值 考虑如果一个$j$的决策在当前的$i$上比$k$这个位置更优会得到什么: $b_i \ast a_j - a_i \ast b_j > b_i \ast a_k - a_i \ast b_k$ $b_i \ast (a_j-a_k) > a_i \ast (b_j-b_k)$ $\frac{b_i}{a_i} > \fra…
题面 ⼩ w ⼼⾥的⽕焰就要被熄灭了. 简便起⻅,假设⼩ w 的内⼼是⼀棵 n − 1 条边,n 个节点的树. 现在你要在每个节点⾥放⼀些个灭⽕器,每个节点可以放任意多个. 接下来每个节点都要被分配给⼀个⾄多 k 条边远的灭⽕器,每个灭⽕器最多能分配给 s 个节 点. ⾄少要多少个灭⽕器才能让⼩ w 彻底死⼼呢? 题解 树形DP,由于k≤20k\le 20k≤20,用f[i][j]f[i][j]f[i][j]存iii这个点下面距离为jjj的未匹配点有多少个,g[i][j]g[i][j]g[i][…
由于圆不存在相交的关系 所以包容关系形成了树的形态 其实是一个森林 不过加一个0点 就变成了树. 考虑对于每个圆都求出最近的包容它的点 即他的父亲.然后树形dp即可.暴力建图n^2. const int MAXN=100010; int n,m,len; struct wy { ll x,y,r,w; inline int friend operator <(wy a,wy b){return a.r<b.r;} }t[MAXN]; int f[MAXN]; int lin[MAXN],ver…
LINK:T3 比较好的题目 考试的时候被毒瘤的T2给搞的心态爆炸 这道题连正解的思路都没有想到. 一看到题求删除点的最少个 可以使得不连通. 瞬间想到最小割 发现对于10分直接跑最小割即可. 不过想要通过n^2需要一些奇技 如从Si跑到Tj 想要得到i到j+1的答案 只需要再从Tj跑到Tj+1即可. 可以发现这样做是有正确性的保证的 这样最多跑n次整张图的最大流. 且增广路不断减小 速度比较快. const int MAXN = 40010; int n, k, id, cc, len; ll…
Kronican 内存限制:32 MiB 时间限制:2000 ms 标准输入输出 题目类型:传统 评测方式:文本比较 上传者: cqbzgm 题目描述 Mislav有N个无限体积的杯子,每一个杯子中都有一些水.Mislav想喝掉所有的水,但他不想喝超过K杯水.Mistrav能做的就是将一个杯子中的水倒入另一个杯子中. 不幸的是,挑选哪两个杯子进行倒水操作对Mislav来说很重要,因为并非所有的杯子都离他一样远.更准确地说,从i号杯子向j号杯子倒水所付出的代价为Cij. 帮助Mislav找到他需要…
第一题:http://codeforces.com/contest/1061/problem/E 把点集分成不相交的,然后跑费用流即可.然而错了一个点. #include<cstdio> #include<cstring> #include<algorithm> #include<queue> using namespace std; int rdn() { ;;char ch=getchar(); ;ch=getchar();} +ch-',ch=getc…
传送门 考试的时候乱搞过了. 其实题目就是让你求拓扑排序方案数. 直接树形dpdpdp然后组合数转移一下就行了. 乱搞代码…
传送门 考场上自己yy了一个双连通只有40分. 然后换根dp求最长路就行了. 代码…
这个题我在考试的时候把所有的转移都想全了就是新加一个点时有I.不作为II.自己呆着III.连一个IV.连接两个子树中的两个V连接一个子树中的两个,然而V我并不会转移........ 这个题的正解体现了一种神奇的思想,对于好合并但是不好转移的dp我们可以先打散然后合并到最后,所以我们从一开始维护f[i][j]表示i阶超级树中有j个互不相交的路径的方案数. #include <cstdio> typedef long long LL; LL f[][],mod,temp; int n; int m…