摘要: 题目描述 分析 \(m=0\) 是显然的换根 \(dp\) 当 \(m\) 不为$0$,沿用换根$dp$思路 m的范围很小,加上异或是位运算 先任选一个根,$dfs$求出 到每个点的距离之和 和 距离最后四位为$0 \sim 15$的方案数 与$m=0$时差不多,随便搞一下就能写出换根的变化量 代码 阅读全文
posted @ 2020-10-05 16:57 liuchanglc 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 题目描述 分析 $50$ 分的 \(n^2DP\) 比较好想 设 \(f[i]\) 为在 \(i\) 处下车的最小花费,\(sum[i]\) 为 \(a[i]\) 的前缀和 则 \(f[i]=min(f[i],f[j]+max(b[j],s[i]-s[j]))\) 考虑如何优化 代码 #includ 阅读全文
posted @ 2020-10-05 16:53 liuchanglc 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 题目描述 分析 一个序列是等差数列且公差不为1的条件就是各项差的绝对值的$gcd!=1$ 从前往后依次扫即可 一定要判重 代码 #include<cstdio> #include<algorithm> #include<iostream> #include<cmath> #include<map> 阅读全文
posted @ 2020-10-05 16:48 liuchanglc 阅读(303) 评论(0) 推荐(0) 编辑
摘要: 题目描述 分析 首先可以证明,肯定存在合法的方案 那么就有一个 $60$ 分的 \(n\times q\) 的做法 对于每一次询问,我们对整棵树进行一次 \(dfs\) 如果当前子树中有奇数个点被选择,那么我们保留一个点,把剩下的点两两配对 如果有偶数个点被选择,那么我们直接把它们都配对即可 对与另 阅读全文
posted @ 2020-10-05 16:42 liuchanglc 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 题目描述 分析 一道思维题 显然,\((a+b+c)/3\) 是答案的一个上界,$a+b+c-max(a,b,c)$也是答案的一个上 界,下面大致证明 $min((a+b+c)/3,a+b+c-max(a,b,c))$即为答案: 1、当$(a+b+c)/3 ⇐ a+b+c-max(a,b,c)$时, 阅读全文
posted @ 2020-10-05 16:30 liuchanglc 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 题目描述 分析 对于测试点$1$、$2$,直接搜索即可 对于测试点$3 \sim 6$,树退化成一条链,我们可以将其看成序列上的染色问题,用线段树维护颜色相同的最长序列 对于测试点$7$、$8$,肯定是车的速度越大能经过的道路越少,所以我们用类似并查集的方法从大到小依次维护联通块的直径,这里要用到一 阅读全文
posted @ 2020-10-05 16:02 liuchanglc 阅读(161) 评论(0) 推荐(0) 编辑