摘要: 问题 有n个人,每两个人都有一个冲突值,将他们分成k组,一旦分在一组就不再产生冲突,问最大的冲突值。 分析 显然,要把冲突值小的人尽可能分在一组。把每两个人的冲突值从小到大排序。之后优先将冲突值小的两个人合并在一起,如果集合个数等于k,则输出当前的冲突值。 用并查集维护。 反思 很像去年的题,要彻底明白,应用并查集这一强大的数据结构 阅读全文
posted @ 2011-10-04 19:47 liukee 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 问题 给你一个无向图,有n个节点m条双向边,其中有p个节点必须经过,求最短的从1经过这p个节点再到n的最短距离 数据范围 n<=200 p<=12; 分析 先用floyd处理处任意两点之间的最短距离。 之后的得到的距离只于遍历这p个点的顺序有关。 可以搜索,但是12的数据显然超时,考虑使用状态压缩的动态规划。 可以用二进制串m表示状态,1表示这个物品已选,0表示未选。 f[i,j... 阅读全文
posted @ 2011-10-04 19:39 liukee 阅读(328) 评论(0) 推荐(0) 编辑
摘要: 考试一天天临近,自己的oi之路也在一天天走向终点。 好久没有碰过桌面上的livewriteer 从今天起坚持记录。 留下一段难忘的oi之路。 阅读全文
posted @ 2011-10-04 19:23 liukee 阅读(272) 评论(1) 推荐(0) 编辑