博客园 首页 私信博主 显示目录 隐藏目录 管理 动画
摘要: 阅读全文
posted @ 2018-09-19 22:19 SovietPower 阅读(194) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 容易想到田忌赛马。但是是不对的,比如2 3对1 3,按田忌赛马策略会3 1 2 3,但是3 3 2 1显然更优。 而如果按己方最强 =对方最强则开打,也是不对的,比如1 3对2 3,按该策略会3 3 1 2。 问题在于,在第一种情况下,对面最弱的2分是一定可以得到的。 于是得到贪心策略 阅读全文
posted @ 2018-09-19 18:29 SovietPower 阅读(137) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 如果贪心,正的显然先选。然后处理负的,好像要用背包。 看这数据范围不如直接用背包。$f[i][j]$表示前$i$个物品,剩下$j$个钩子的最大价值。 因为没有钩子的放前面无法转移,所以先按$A_i$排序。 因为数据多 开N N的数组在bzoj上跑的好慢。。 cpp //1048kb 6 阅读全文
posted @ 2018-09-19 17:09 SovietPower 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 有一张$n$个点$m$条边的无向图,每个点有点权。图是安全的当且仅当所有边的两个端点权值不同。保证初始时图是安全的。 现在有权值为$x$的病毒,若它感染了某个点$a$,则该点点权变为$a\oplus x$。 求有多少数对$(S,x)$,满足病毒的权值为$x$,且感染了$S$集合中的所有点后,满足图仍是安全的。 阅读全文
posted @ 2018-09-19 15:52 SovietPower 阅读(215) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 通过两次可以先确定首字母。然后还剩下$n 1$位,之后每一位只有三种可能。 最简单的方法是每次确定一位,通过两次询问显然可以确定。但是只能一次询问。 首字母只会出现一次,即我们可以将串分割成$4$个进行一次询问。我们是可以一次询问确定一位的。 比如:首字母为$a$,其它字母为$bcd$ 阅读全文
posted @ 2018-09-19 12:43 SovietPower 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 题目链接 \(Description\) 给定一张无向图和$k$,每条边有黑白两色,求一棵生成树使得黑边的数量等于$k$。 \(n\leq 2\times 10^4,\ m\leq 10^5\)。 \(Solution\) 我们发现有些白边是必须加的,有些是多余的。 那么我们先把所有黑边加进去,然后 阅读全文
posted @ 2018-09-19 10:24 SovietPower 阅读(138) 评论(5) 推荐(0) 编辑