百度之星程序设计大赛十周年算法合集

Size: px
Start display at page:

Download "百度之星程序设计大赛十周年算法合集"

Transcription

1 BAIDU 百 度 之 星 程 序 设 计 大 赛 十 周 年 算 法 合 集 (2005~2014) 百 度 校 园 品 牌 部 2014/7/29 1

2 百 度 之 星 程 序 设 计 大 赛 十 周 年 算 法 合 集... 1 百 度 之 星 初 赛 第 一 题 : 连 续 正 整 数... 6 初 赛 第 二 题 : 重 叠 区 间 大 小... 7 初 赛 第 三 题 : 字 符 串 替 换... 7 初 赛 第 四 题 : 低 频 词 过 滤... 8 决 赛 : 八 方 块 移 动 游 戏... 9 百 度 之 星 初 赛 第 一 题 : 百 度 语 言 翻 译 机 初 赛 第 二 题 : 饭 团 的 烦 恼 初 赛 第 三 题 : 变 态 的 比 赛 规 则 初 赛 第 四 题 : 蝈 蝈 计 分 初 赛 第 五 题 : 座 位 调 整 初 赛 第 六 题 : 剪 刀 石 头 布 复 赛 第 一 题 : 另 类 杀 人 游 戏 : 复 赛 第 二 题 : 空 中 飞 猴 : 复 赛 第 三 题 : 星 球 大 战 : 复 赛 第 四 题 : 彩 球 游 戏 : 复 赛 第 五 题 : 追 捕 : 决 赛 题 目 : 俄 罗 斯 方 块 百 度 之 星 初 赛 第 一 题 : 水 果 开 会 时 段 初 赛 第 二 题 : 大 话 西 游 与 数 字 游 戏 初 赛 第 三 题 : 繁 忙 的 会 议 室 预 定 问 题 初 赛 第 四 题 :SQL 中 的 SELECT 语 句 初 赛 第 五 题 : 百 度 时 间 初 赛 第 六 题 : 实 习 生 小 胖 的 百 度 网 页 过 滤 器 初 赛 第 七 题 :Wii 游 戏 开 始 啦! 初 赛 第 八 题 : 百 度 的 高 级 搜 索 方 法 复 赛 第 一 题 : 简 单 印 象 复 赛 第 二 题 : 好 心 的 出 租 车 司 机 复 赛 第 三 题 :Robots.txt 协 议 复 赛 第 四 题 : 紧 急 修 复 决 赛 百 度 之 星 初 赛 一 第 一 题 : 广 告 排 名 区 间 初 赛 一 第 二 题 :LZW 网 页 判 重

3 初 赛 一 第 三 题 : 钉 子 与 木 板 初 赛 二 第 一 题 : 圆 内 五 角 星 初 赛 二 第 二 题 : 传 输 方 案 规 划 初 赛 二 第 三 题 : 公 平 数 初 赛 二 第 四 题 : 成 语 纠 错 复 赛 第 一 题 黑 白 树 复 赛 第 二 题 : 寻 找 所 有 的 同 构 象 复 赛 第 三 题 : 验 证 码 识 别 决 赛 百 度 之 星 初 赛 第 一 题 : 火 柴 游 戏 初 赛 第 二 题 : 电 子 商 务 平 台 商 品 推 荐 问 题 初 赛 第 三 题 : 葫 芦 娃 初 赛 第 四 题 : 争 车 位 初 赛 第 五 题 :Sorry, 打 错 了 初 赛 第 六 题 : 树 形 控 件 初 赛 第 七 题 : 交 点 覆 盖 初 赛 第 八 题 : 我 的 地 盘 复 赛 第 一 题 : 高 频 Query 的 识 别 复 赛 第 二 题 : 图 形 检 索 复 赛 第 三 题 : 网 页 的 相 似 度 计 算 复 赛 第 四 题 : 拼 车 决 赛 第 一 题 :Spider 决 赛 第 二 题 : 限 制 性 图 灵 测 试, 搜 索 引 擎 的 非 法 用 户 检 测 百 度 之 星 复 赛 第 一 场 第 一 题 :A+B 问 题 复 赛 第 一 场 第 二 题 :i-doctor 复 赛 第 一 场 第 三 题 :url 规 范 化 复 赛 第 一 场 第 四 题 : 并 行 修 复 复 赛 第 一 场 第 五 题 : 猜 猜 你 在 哪 儿 复 赛 第 二 场 第 一 题 : 购 物 搜 索 调 研 复 赛 第 二 场 第 二 题 : 内 存 碎 片 复 赛 第 二 场 第 三 题 : 蜗 牛 复 赛 第 二 场 第 四 题 : 午 餐 聚 会 复 赛 第 二 场 第 五 题 : 玉 树 驰 援 决 赛 : 植 物 大 战 僵 尸 百 度 之 星

4 初 赛 第 一 场 第 一 题 图 标 排 列 初 赛 第 一 场 第 二 题 : 篮 球 场 初 赛 第 一 场 第 三 题 : 度 度 熊 大 战 僵 尸 初 赛 第 二 场 第 一 题 圆 环 初 赛 第 二 场 第 二 题 : 园 艺 布 置 初 赛 第 二 场 第 三 题 : 数 据 还 原 复 赛 第 一 题 跳 跃 复 赛 第 二 题 : 股 票 代 码 复 赛 第 三 题 : 数 据 校 验 决 赛 第 一 题 德 州 扑 克 游 戏 百 度 之 星 初 赛 第 一 场 第 一 题 : 初 赛 第 一 场 第 二 题 : 小 小 度 刷 礼 品 初 赛 第 一 场 第 三 题 : 集 合 的 交 并 第 一 题 度 度 熊 就 是 要 刷 排 名 第 一 第 二 题 : 度 度 熊 的 礼 物 第 三 题 : 网 页 聚 类 第 四 题 小 王 子 的 表 演 复 赛 第 一 题 蛛 网 复 赛 第 二 题 改 变 数 字 复 赛 第 三 题 消 灭 病 毒 复 赛 第 四 题 复 赛 第 五 题 百 度 之 星 区 域 赛 第 一 场 第 一 题 区 域 赛 第 一 场 第 二 题 区 域 赛 第 二 场 第 一 题 区 域 赛 第 二 场 第 二 题 区 域 赛 第 三 场 第 一 题 区 域 赛 第 三 场 第 二 题 区 域 赛 第 三 场 第 三 题 月 赛 第 一 场 第 一 题 月 赛 第 一 场 第 二 题 月 赛 第 一 场 第 三 题 月 赛 第 二 场 第 一 题 月 赛 第 二 场 第 二 题 月 赛 第 三 场 第 一 题

5 月 赛 第 三 场 第 二 题 决 赛 百 度 之 星 资 格 赛 1:DiskSchedule 资 格 赛 2:Energy Conversion 资 格 赛 3:Labyrinth 资 格 赛 4:Xor Sum 初 赛 1:BestFinancing 初 赛 2:Chess 初 赛 3:CycleCocycle 初 赛 4:Grids 初 赛 5:Information 初 赛 6:JZP Set 初 赛 7:party 初 赛 8:Scenic Popularity 复 赛 1:FindNumbers 复 赛 2:Race 复 赛 3:The Game of Coins 复 赛 4:The Patterns 复 赛 5:Query on the tree 决 赛

6 百 度 之 星 2005 初 赛 第 一 题 : 连 续 正 整 数 1.1. 题 目 : 题 目 描 述 : 一 个 正 整 数 有 可 能 可 以 被 表 示 为 n(n>=2) 个 连 续 正 整 数 之 和, 如 : 15= = =7+8 请 编 写 程 序, 根 据 输 入 的 任 何 一 个 正 整 数, 找 出 符 合 这 种 要 求 的 所 有 连 续 正 整 数 序 列 输 入 数 据 : 一 个 正 整 数, 以 命 令 行 参 数 的 形 式 提 供 给 程 序 输 出 数 据 : 在 标 准 输 出 上 打 印 出 符 合 题 目 描 述 的 全 部 正 整 数 序 列, 每 行 一 个 序 列, 每 个 序 列 都 从 该 序 列 的 最 小 正 整 数 开 始 以 从 小 到 大 的 顺 序 打 印 如 果 结 果 有 多 个 序 列, 按 各 序 列 的 最 小 正 整 数 的 大 小 从 小 到 大 打 印 各 序 列 此 外, 序 列 不 允 许 重 复, 序 列 内 的 整 数 用 一 个 空 格 分 隔 如 果 没 有 符 合 要 求 的 序 列, 输 出 NONE 例 如, 对 于 15, 其 输 出 结 果 是 : 对 于 16, 其 输 出 结 果 是 : NONE 评 分 标 准 : 程 序 输 出 结 果 是 否 正 确 1.2. 关 键 思 路 : 枚 举 最 终 得 到 的 长 度 length, 考 虑 当 length 为 奇 数 时, 应 满 足 N % length == 0; 当 length 为 偶 数 时, 应 满 足 N % length!= 0 且 N * 2 % length == 0 于 是 可 以 得 到 所 有 的 方 案, 并 注 意 左 端 点 应 当 大 于 0 6

7 初 赛 第 二 题 : 重 叠 区 间 大 小 2.1. 题 目 : 题 目 描 述 : 请 编 写 程 序, 找 出 下 面 输 入 数 据 及 格 式 中 所 描 述 的 输 入 数 据 文 件 中 最 大 重 叠 区 间 的 大 小 对 一 个 正 整 数 n, 如 果 n 在 数 据 文 件 中 某 行 的 两 个 正 整 数 ( 假 设 为 A 和 B) 之 间, 即 A< =n<=b 或 A>=n>=B, 则 n 属 于 该 行 ; 如 果 n 同 时 属 于 行 i 和 j, 则 i 和 j 有 重 叠 区 间 ; 重 叠 区 间 的 大 小 是 同 时 属 于 行 i 和 j 的 整 数 个 数 例 如, 行 (10 20) 和 (12 25) 的 重 叠 区 间 为 [12 20], 其 大 小 为 9; 行 (2010) 和 (12 18) 的 重 叠 区 间 为 [10 12], 其 大 小 为 3; 行 (20 10) 和 (20 30) 的 重 叠 区 间 大 小 为 1 输 入 数 据 : 程 序 读 入 已 被 命 名 为 input.txt 的 输 入 数 据 文 本 文 件, 该 文 件 的 行 数 在 1 到 1,000,000 之 间, 每 行 有 用 一 个 空 格 分 隔 的 2 个 正 整 数, 这 2 个 正 整 数 的 大 小 次 序 随 机, 每 个 数 都 在 1 和 2^32-1 之 间 ( 为 便 于 调 试, 您 可 下 载 测 试 input.txt 文 件, 实 际 运 行 时 我 们 会 使 用 不 同 内 容 的 输 入 文 件 ) 输 出 数 据 : 在 标 准 输 出 上 打 印 出 输 入 数 据 文 件 中 最 大 重 叠 区 间 的 大 小, 如 果 所 有 行 都 没 有 重 叠 区 间, 则 输 出 0 评 分 标 准 : 程 序 输 出 结 果 必 须 正 确, 内 存 使 用 必 须 不 超 过 256MB, 程 序 的 执 行 时 间 越 快 越 好 2.2. 关 键 思 路 : 将 所 有 区 间 按 左 端 点 排 序, 从 左 到 右 扫 并 维 护 当 前 最 靠 右 的 端 点 贪 心 可 知, 维 护 最 靠 右 的 区 间 必 然 是 最 优 的, 因 此 扫 描 到 一 个 新 的 区 间 后 直 接 和 当 前 的 最 右 端 点 进 行 比 较 并 更 新 即 可 初 赛 第 三 题 : 字 符 串 替 换 3.1. 题 目 : 题 目 描 述 : 请 编 写 程 序, 根 据 指 定 的 对 应 关 系, 把 一 个 文 本 中 的 字 符 串 替 换 成 另 外 的 字 符 串 输 入 数 据 : 程 序 读 入 已 被 命 名 为 text.txt 和 dict.txt 的 两 个 输 入 数 据 文 本 文 件,text.txt 为 一 个 包 含 大 量 字 符 串 ( 含 中 文 ) 的 文 本, 以 whitespace 为 分 隔 符 ;dict.txt 为 表 示 字 符 串 (s1) 与 字 符 串 (s2) 的 对 应 关 系 的 另 一 个 文 本 ( 含 中 文 ), 7

8 大 约 在 1 万 行 左 右, 每 行 两 个 字 符 串 ( 即 s1 和 s2), 用 一 个 /t 或 空 格 分 隔 dict.txt 中 各 行 的 s1 没 有 排 序, 并 有 可 能 有 重 复, 这 时 以 最 后 出 现 的 那 次 s1 所 对 应 的 s2 为 准 text.txt 和 dict.txt 中 的 每 个 字 符 串 都 可 能 包 含 除 whitespace 之 外 的 任 何 字 符 text.txt 中 的 字 符 串 必 须 和 dict.txt 中 的 某 s1 完 全 匹 配 才 能 被 替 换 ( 为 便 于 调 试, 您 可 下 载 测 试 text.txt 和 dict.txt 文 件, 实 际 运 行 时 我 们 会 使 用 不 同 内 容 的 输 入 文 件 ) 输 出 数 据 : 在 标 准 输 出 上 打 印 text.txt 被 dict.txt 替 换 后 了 的 整 个 文 本 评 分 标 准 : 程 序 输 出 结 果 必 须 正 确, 内 存 使 用 越 少 越 好, 程 序 的 执 行 时 间 越 快 越 好 3.2. 关 键 思 路 : 考 虑 到 数 据 规 模, 最 直 接 的 做 法 是 直 接 用 map 进 行 映 射 即 可 如 果 还 需 要 更 高 的 效 率, 可 以 考 虑 将 字 符 串 进 行 Hash, 以 及 可 以 把 map 换 成 HashMap 初 赛 第 四 题 : 低 频 词 过 滤 4.1. 题 目 : 题 目 描 述 : 请 编 写 程 序, 从 包 含 大 量 单 词 的 文 本 中 删 除 出 现 次 数 最 少 的 单 词 如 果 有 多 个 单 词 都 出 现 最 少 的 次 数, 则 将 这 些 单 词 都 删 除 输 入 数 据 : 程 序 读 入 已 被 命 名 为 corpus.txt 的 一 个 大 数 据 量 的 文 本 文 件, 该 文 件 包 含 英 文 单 词 和 中 文 单 词, 词 与 词 之 间 以 一 个 或 多 个 whitespace 分 隔 ( 为 便 于 调 试, 您 可 下 载 测 试 corpus.txt 文 件, 实 际 运 行 时 我 们 会 使 用 不 同 内 容 的 输 入 文 件 ) 输 出 数 据 : 在 标 准 输 出 上 打 印 删 除 了 corpus.txt 中 出 现 次 数 最 少 的 单 词 之 后 的 文 本 ( 词 与 词 保 持 原 来 的 顺 序, 仍 以 空 格 分 隔 ) 评 分 标 准 : 程 序 输 出 结 果 必 须 正 确, 内 存 使 用 越 少 越 好, 程 序 的 执 行 时 间 越 快 越 好 4.2. 关 键 思 路 : 与 上 一 题 类 似, 用 Map 或 者 HashMap 维 护 所 有 字 符 串 的 出 现 次 数 ( 也 可 以 对 所 有 字 符 串 做 Hash), 在 输 出 时 扫 描 所 有 串 并 过 滤 出 现 次 数 最 少 的 串 即 可 8

9 决 赛 : 八 方 块 移 动 游 戏 5.1. 题 目 : 题 目 描 述 : 八 方 块 移 动 游 戏 要 求 从 一 个 含 8 个 数 字 ( 用 1-8 表 示 ) 的 方 块 以 及 一 个 空 格 方 块 ( 用 0 表 示 ) 的 3x3 矩 阵 的 起 始 状 态 开 始, 不 断 移 动 该 空 格 方 块 以 使 其 和 相 邻 的 方 块 互 换, 直 至 达 到 所 定 义 的 目 标 状 态 空 格 方 块 在 中 间 位 置 时 有 上 下 左 右 4 个 方 向 可 移 动, 在 四 个 角 落 上 有 2 个 方 向 可 移 动, 在 其 他 位 置 上 有 3 个 方 向 可 移 动 例 如, 假 设 一 个 3x3 矩 阵 的 初 始 状 态 为 : 目 标 状 态 为 : 则 一 个 合 法 的 移 动 路 径 为 : => => => => => 另 外, 在 所 有 可 能 的 从 初 始 状 态 到 目 标 状 态 的 移 动 路 径 中, 步 数 最 少 的 路 径 被 称 为 最 短 路 径 ; 在 上 面 的 例 子 中, 最 短 路 径 为 5 如 果 不 存 在 从 初 试 状 态 到 目 标 状 态 的 任 何 路 径, 则 称 该 组 状 态 无 解 请 设 计 有 效 的 ( 细 节 请 见 评 分 规 则 ) 算 法 找 到 从 八 方 块 的 某 初 试 状 态 到 某 目 标 状 态 的 所 有 可 能 路 径 中 的 最 短 路 径, 并 用 C/C++ 实 现 输 入 数 据 : 程 序 需 读 入 已 被 命 名 为 start.txt 的 初 始 状 态 和 已 被 命 名 为 goal.txt 的 目 标 状 态, 这 两 个 文 件 都 由 9 个 数 字 组 成 (0 表 示 空 格,1-8 表 示 8 个 数 字 方 块 ), 每 行 3 个 数 字, 数 字 之 间 用 空 格 隔 开 输 出 数 据 : 如 果 输 入 数 据 有 解, 输 出 一 个 表 示 最 短 路 径 的 非 负 的 整 数 ; 如 果 输 入 数 据 无 解, 输 出 -1 自 测 用 例 : 如 果 输 入 为 :start.txt 和 goal.txt, 则 产 生 的 输 出 应 为 : 5 又 例, 如 果 用 替 换 start.txt 中 的 内 容, 则 产 生 的 输 出 应 为 : 21 评 分 规 则 : 1) 我 们 将 首 先 使 用 和 自 测 用 例 不 同 的 10 个 start.txt 以 及 相 同 的 goal.txt, 每 个 测 试 用 例 的 运 行 时 间 在 一 台 Intel Xeon 2.80GHz 4CPU/6G 内 存 的 Linux 机 器 上 应 不 超 过 10 秒 9

10 ( 内 存 使 用 不 限 制 ), 否 则 该 用 例 不 得 分 ; 2) 每 个 选 手 的 总 分 ( 精 确 到 小 数 点 后 6 位 )=10 秒 钟 内 能 产 生 正 确 结 果 的 测 试 用 例 数 量 x10+(1/ 产 生 这 些 正 确 结 果 的 测 试 用 例 的 平 均 运 行 毫 秒 ); 3) 如 果 按 此 评 分 统 计 仍 不 能 得 出 总 决 赛 将 决 出 的 一 二 三 等 奖 共 计 九 名 获 奖 者, 我 们 将 先 设 N=2, 然 后 重 复 下 述 过 程 直 至 产 生 最 高 的 9 位 得 分 : 用 随 机 生 成 的 另 外 10 个 有 解 的 start.txt 再 做 测 试, 并 对 这 10*N 个 测 试 用 例 用 2) 中 公 式 重 新 计 算 总 分,N 关 键 思 路 : 由 于 总 的 状 态 数 最 多 只 有 9!=362880, 因 此 就 单 组 数 据 而 言 肯 定 能 够 通 过 bfs 很 快 跑 出 结 果 几 个 可 用 的 优 化 : 状 态 可 以 使 用 hash 判 重, 不 枚 举 无 用 状 态, 每 次 O(1) 生 成 新 状 态, O(1) 计 算 新 Hash,A* 优 化 决 策 顺 序 等 等 每 一 个 微 小 的 优 化 都 能 带 来 算 法 性 能 上 的 提 升 百 度 之 星 2006 初 赛 第 一 题 : 百 度 语 言 翻 译 机 1.1. 题 目 : 题 目 描 述 : 百 度 的 工 程 师 们 是 非 常 注 重 效 率 的, 在 长 期 的 开 发 与 测 试 过 程 中, 他 们 逐 渐 创 造 了 一 套 独 特 的 缩 略 语 他 们 在 平 时 的 交 谈 会 议, 甚 至 在 各 种 技 术 文 档 中 都 会 大 量 运 用 为 了 让 新 员 工 可 以 更 快 地 适 应 百 度 的 文 化, 更 好 地 阅 读 公 司 的 技 术 文 档, 人 力 资 源 部 决 定 开 发 一 套 专 用 的 翻 译 系 统, 把 相 关 文 档 中 的 缩 略 语 和 专 有 名 词 翻 译 成 日 常 语 言 输 入 要 求 : 输 入 数 据 包 含 三 部 分 : 1. 第 一 行 包 含 一 个 整 数 N(N<=10000), 表 示 总 共 有 多 少 个 缩 略 语 的 词 条 ; 2. 紧 接 着 有 N 行 的 输 入, 每 行 包 含 两 个 字 符 串, 以 空 格 隔 开 第 一 个 字 符 串 为 缩 略 语 ( 仅 包 含 大 写 英 文 字 符, 长 度 不 超 过 10 字 节 ), 第 二 个 字 符 串 为 日 常 语 言 ( 不 包 含 空 格, 长 度 不 超 过 255 字 节 ); 3. 从 第 N+2 开 始 到 输 入 结 束 为 包 含 缩 略 语 的 相 关 文 档 ( 总 长 度 不 超 过 个 字 节 ) 注 意 事 项 : 1. 输 入 数 据 是 中 英 文 混 合 的, 中 文 采 用 GBK 编 码 GBK: 是 又 一 个 汉 字 编 码 标 准, 全 称 汉 字 内 码 扩 展 规 范 采 用 双 字 节 表 示, 总 体 编 码 范 围 10

11 为 8140-FEFE, 首 字 节 在 81-FE 之 间, 尾 字 节 在 40-FE 之 间, 排 除 xx7f 总 计 个 码 位, 共 收 入 个 汉 字 和 图 形 符 号, 其 中 汉 字 ( 包 括 部 首 和 构 件 )21003 个, 图 形 符 号 883 个 2. 为 保 证 答 案 的 唯 一 性, 缩 略 语 的 转 换 采 用 正 向 最 大 匹 配 ( 从 左 到 右 为 正 方 向 ) 原 则 请 注 意 样 例 中 PMD 的 翻 译 1.2. 关 键 思 路 : 用 map 记 录 下 所 有 的 关 键 字, 由 于 缩 略 语 长 度 不 超 过 10, 则 可 以 对 于 每 一 位 向 后 枚 举, 找 到 最 长 可 匹 配 的 串, 从 而 得 到 答 案 初 赛 第 二 题 : 饭 团 的 烦 恼 2.1. 题 目 : 题 目 描 述 : 午 餐 饭 团 是 百 度 内 部 参 与 人 数 最 多 的 民 间 组 织 同 一 个 部 门 的 同 一 所 大 学 的 同 一 年 出 生 的 使 用 同 一 种 型 号 电 脑 的 员 工 们 总 是 以 各 种 理 由 组 织 各 种 长 期 的 临 时 的 饭 团 参 加 饭 团, 不 仅 可 以 以 优 惠 的 价 格 尝 到 更 加 丰 富 的 菜 式, 还 可 以 在 吃 饭 的 时 候 和 同 事 们 增 进 感 情 但 是, 随 着 百 度 的 员 工 越 来 越 多, 各 个 饭 团 的 管 理 变 得 繁 杂 起 来 特 别 是 为 了 照 顾 员 工 们 越 来 越 挑 剔 的 胃, 饭 团 的 点 菜 负 责 人 的 压 力 也 越 来 越 大 现 在, 这 个 任 务 就 交 给 百 度 之 星 了, 因 为, 你 将 要 为 所 有 的 百 度 饭 团 设 计 一 个 自 动 点 菜 的 算 法 饭 团 点 菜 的 需 求 如 下 : 1. 经 济 是 我 们 要 考 虑 的 一 个 因 素, 既 要 充 分 利 用 百 度 员 工 的 午 餐 补 助, 又 不 能 铺 张 浪 费 因 此, 我 们 希 望 最 后 的 人 均 费 用 越 接 近 12 元 越 好 2. 菜 式 丰 富 是 我 们 要 考 虑 的 另 一 个 因 素 为 简 单 起 见, 我 们 将 各 种 菜 肴 的 属 性 归 结 为 荤 菜, 素 菜, 辛 辣, 清 淡, 并 且 每 个 菜 只 能 点 一 次 3. 请 谨 记, 百 度 饭 团 在 各 大 餐 馆 享 受 8 折 优 惠 输 入 要 求 : 1. 输 入 数 据 第 一 行 包 含 三 个 整 数 N,M,K(0< M>< NK>< BR />2. 紧 接 着 N 行, 每 行 的 格 式 如 下 : 2. 菜 名 ( 长 度 不 超 过 20 个 字 符 ) 价 格 ( 原 价, 整 数 ) 是 否 荤 菜 (1 表 示 是,0 表 示 否 ) 是 否 辛 辣 (1 表 示 是,0 表 示 否 ); 3. 第 N+2 行 是 a b c d 四 个 整 数, 分 别 表 示 需 要 点 的 荤 菜, 素 菜, 辛 辣, 清 淡 菜 的 数 目 输 出 要 求 : 对 于 每 组 测 试 数 据, 输 出 数 据 包 含 M+1 行, 前 M 行 每 行 包 含 一 个 菜 名 ( 按 菜 名 在 原 菜 单 的 顺 序 排 序 ) 第 M+1 行 是 人 均 消 费, 结 果 保 留 两 位 小 数 11

12 2.2. 关 键 思 路 : 由 于 n,m 很 小, 可 以 枚 举 出 所 有 菜 选 与 不 选 的 情 况, 在 结 果 中 取 最 优 值 初 赛 第 三 题 : 变 态 的 比 赛 规 则 3.1. 题 目 : 题 目 描 述 : 为 了 促 进 各 部 门 员 工 的 交 流, 百 度 举 办 了 一 场 全 公 司 范 围 内 的 拳 皇 ( 百 度 内 部 最 流 行 的 格 斗 游 戏 ) 友 谊 赛, 负 责 组 织 这 场 比 赛 的 是 百 度 的 超 级 拳 皇 迷 W.Z W.Z 不 想 用 传 统 的 淘 汰 赛 或 者 循 环 赛 的 方 式, 而 是 自 己 制 定 了 一 个 比 赛 规 则 由 于 一 些 员 工 ( 比 如 同 部 门 或 者 相 邻 部 门 员 工 ) 平 时 接 触 的 机 会 比 较 多, 为 了 促 进 不 同 部 门 之 间 的 交 流,W.Z 希 望 员 工 自 由 分 组 不 同 组 之 间 的 每 两 个 人 都 会 进 行 一 场 友 谊 赛 而 同 一 组 内 的 人 之 间 不 会 打 任 何 比 赛 比 如 4 个 人, 编 号 为 1~4, 如 果 分 为 两 个 组 并 且 1,2 一 个 组,3,4 一 个 组, 那 么 一 共 需 要 打 四 场 比 赛 :1 vs 3,1 vs 4,2 vs 3,2 vs 4 而 如 果 是 1,2,3 一 组,4 单 独 一 组, 那 么 一 共 需 要 打 三 场 比 赛 : 1 vs 4,2 vs 4,3 vs 4 很 快 W.Z 意 识 到, 这 样 的 比 赛 规 则 可 能 会 让 比 赛 的 场 数 非 常 多 W.Z 想 知 道 如 果 有 N 个 人, 通 过 上 面 这 种 比 赛 规 则, 总 比 赛 场 数 有 可 能 为 K 场 吗? 比 如 3 个 人, 如 果 只 分 到 一 组 则 不 需 要 比 赛, 如 果 分 到 两 组 则 需 要 2 场 比 赛, 如 果 分 为 三 组 则 需 要 3 场 比 赛 但 是 无 论 怎 么 分 都 不 可 能 恰 需 要 1 场 比 赛 相 信 作 为 编 程 高 手 的 你 一 定 知 道 该 怎 么 回 答 这 个 问 题 了 吧? 那 么 现 在 请 你 帮 助 W.Z 吧 输 入 要 求 : 每 行 为 一 组 数 据, 包 含 两 个 数 字 N, K(0< k="" />=0) 输 出 要 求 : 对 输 入 的 N,K 如 果 N 个 员 工 通 过 一 定 的 分 组 方 式 可 以 使 比 赛 场 数 恰 好 为 K, 则 输 出 "YES", 否 则 输 出 "NO"( 请 全 部 使 用 大 写 字 母 ), 每 组 数 据 占 一 行 例 : 3.2. 关 键 思 路 : 由 题 目 可 知, 若 一 组 的 人 数 为 a, 则 本 组 人 要 参 与 的 比 赛 总 数 为 a*(n-a), 对 所 有 组 进 行 求 和 就 得 到 了 所 有 比 赛 场 次 数, 但 考 虑 到 a vs b 等 价 于 b vs a, 需 要 将 结 果 除 以 2 将 公 式 合 并 后 得 到 N*N- ai*ai = 2*K, 问 题 变 成 是 否 存 在 ai*ai = N*N-2*K 利 用 搜 索 剪 枝, 加 vis[i][j] 表 示 剩 余 i 的 情 况 下 是 否 存 在 和 为 j 的 情 况, 递 推 求 解 12

13 初 赛 第 四 题 : 蝈 蝈 计 分 4.1. 题 目 : 题 目 描 述 : 蝈 蝈 小 朋 友 刚 刚 学 会 了 0~9 这 十 个 数 字, 也 跟 爸 爸 妈 妈 来 参 加 百 度 每 周 进 行 的 羽 毛 球 活 动 但 是 他 还 没 有 球 拍 高, 于 是 大 人 们 叫 他 记 录 分 数 聪 明 的 蝈 蝈 发 现 只 要 记 录 连 续 得 分 的 情 况 就 可 以 了, 比 如 用 可 以 表 示 一 方 在 这 一 局 中 连 得 三 分 后, 输 了 两 分, 接 着 又 连 得 到 四 分 可 是, 后 来 大 人 们 发 现 蝈 蝈 只 会 用 0~9 这 十 个 数 字, 所 以 当 比 赛 选 手 得 分 超 过 9 的 时 候, 他 会 用 一 个 X 来 表 示 10 完 成 记 分 但 问 题 是, 当 记 录 为 X 3 5 的 时 候, 蝈 蝈 自 己 也 记 不 起 来 是 一 方 连 续 得 到 十 三 分 后, 再 输 五 分 ; 还 是 先 赢 十 分 输 三 分 再 赢 五 分 因 为 百 度 内 部 就 要 开 始 进 行 羽 毛 球 联 赛 了, 要 先 摸 清 大 家 的 实 力 才 好 分 组 比 赛 呢 ~ 于 是, 大 人 们 想 知 道 以 前 每 局 的 比 分 是 怎 样 的, 以 及 谁 获 得 了 胜 利 要 是 遇 到 了 根 据 比 赛 记 录 无 法 确 认 比 赛 过 程 的 情 况, 也 要 输 出 相 应 的 提 示 哦 需 要 进 一 步 说 明 的 是, 比 赛 是 五 局 三 胜 的, 每 局 先 获 得 二 十 一 分 的 为 胜, 但 是 胜 方 必 须 领 先 对 手 两 分 或 以 上, 否 则 必 须 继 续 比 赛 直 到 一 方 超 出 对 手 两 分 为 止, 比 分 多 的 一 方 获 胜 任 何 一 方 先 获 胜 三 局 后 就 获 得 最 终 胜 利, 比 赛 也 相 应 的 结 束 而 且 蝈 蝈 保 证 是 完 整 的 无 多 余 信 息 的 记 录 了 比 赛 输 入 要 求 : 文 件 中 第 一 行 只 有 一 个 整 数 M, 表 示 蝈 蝈 记 录 了 多 少 场 比 赛 的 分 数 ; 在 接 下 来 的 2M 行 里, 每 场 比 赛 用 两 行 记 录, 第 一 行 是 一 个 整 数 N(N<=1000) 表 示 当 前 这 个 记 录 中 有 多 少 个 字 符, 第 二 行 就 是 具 体 的 N 个 字 符 表 示 记 录 的 分 数 ( 相 邻 字 符 用 空 格 隔 开 ) 输 出 要 求 : 对 应 每 一 个 分 数 记 录, 输 出 相 应 的 每 局 分 数, 每 局 分 数 都 使 用 两 个 整 数 表 示, 表 示 两 个 选 手 的 得 分, 中 间 用 : 分 隔 开 ; 每 组 分 数 记 录 间 使 用 一 个 空 行 分 隔 开 如 果 相 应 的 比 赛 结 果 无 法 预 测, 以 UNKNOWN 一 个 单 词 独 占 一 行 表 示 ( 请 全 部 使 用 大 写 字 母 ) 4.2. 关 键 思 路 : 题 目 保 证 给 定 数 据 存 在 合 法 方 案, 由 于 存 在 比 分 合 法, 局 数 比 分 合 法 等 限 制, 可 以 进 行 搜 索 求 解, 最 终 得 到 答 案 13

14 初 赛 第 五 题 : 座 位 调 整 5.1. 题 目 : 题 目 描 述 : 百 度 办 公 区 里 到 处 摆 放 着 各 种 各 样 的 零 食 百 度 人 力 资 源 部 的 调 研 发 现, 员 工 如 果 可 以 在 自 己 喜 欢 的 美 食 旁 边 工 作, 效 率 会 大 大 提 高 因 此, 百 度 决 定 进 行 一 次 员 工 座 位 的 大 调 整 调 整 的 方 法 如 下 : 1. 首 先 将 办 公 区 按 照 各 种 零 食 的 摆 放 分 成 N 个 不 同 的 区 域 ( 例 如 : 可 乐 区, 饼 干 区, 牛 奶 区 等 等 ); 2. 每 个 员 工 对 不 同 的 零 食 区 域 有 不 同 的 喜 好 程 度 ( 喜 好 程 度 是 1~100 的 整 数, 喜 好 程 度 越 大 表 示 该 员 工 越 希 望 被 调 整 到 相 应 的 零 食 区 域 ); 3. 由 于 每 个 零 食 区 域 可 以 容 纳 的 员 工 数 量 有 限, 人 力 资 源 部 希 望 找 到 一 个 最 优 的 调 整 方 案 使 得 总 的 喜 好 程 度 最 大 输 入 要 求 : 文 件 第 一 行 包 含 两 个 整 数 N,M(N>=1,M<=300) 分 别 表 示 N 个 区 域 和 M 个 员 工 ; 第 二 行 是 N 个 整 数 构 成 的 数 列 a, 其 中 a[i] 表 示 第 i 个 区 域 可 以 容 纳 的 员 工 数 (1<=a[i]<=M, a[1]+a[2]+...+a[n]=m); 紧 接 着 是 一 个 M*N 的 矩 阵 P,P(i,j) 表 示 第 i 个 员 工 对 第 j 个 区 域 的 喜 好 程 度 输 出 要 求 : 对 于 每 个 测 试 数 据, 输 出 可 以 达 到 的 最 大 的 喜 好 程 度 5.2. 关 键 思 路 : 题 目 显 然 为 一 个 最 大 费 用 最 大 流 问 题, 可 以 把 每 个 区 域 看 成 一 个 点, 每 个 人 也 看 成 一 个 点 连 边 的 时 候 先 在 每 个 区 域 和 每 个 人 之 间 连 一 条 费 用 为 喜 好 程 度, 容 量 限 制 为 1 的 边 源 点 到 每 个 区 域 之 间 连 一 条 费 用 为 0 容 量 限 制 为 区 域 最 大 人 数 的 边 每 个 人 到 汇 点 之 间 连 一 条 费 用 为 0 容 量 限 制 为 1 的 边 费 用 流 可 以 反 复 用 spfa 求 出 最 长 的 路 径 并 调 整 流 量 初 赛 第 六 题 : 剪 刀 石 头 布 6.1. 题 目 : 题 目 描 述 : N 个 小 孩 正 在 和 你 玩 一 种 剪 刀 石 头 布 游 戏 ( 剪 刀 赢 布, 布 赢 石 头, 石 头 赢 剪 刀 ) N 个 小 孩 中 有 一 个 是 裁 判, 其 余 小 孩 分 成 三 组 ( 不 排 除 某 些 组 没 有 任 何 成 员 的 可 能 性 ), 但 是 你 不 知 道 谁 是 裁 判, 也 不 知 道 小 孩 们 的 分 组 情 况 然 后, 小 孩 们 开 始 玩 剪 刀 石 头 布 游 戏, 一 共 玩 M 次, 每 次 任 意 选 择 两 个 小 孩 进 行 一 轮, 你 会 被 告 知 结 果, 即 两 个 小 孩 的 胜 负 情 况, 然 而 你 不 会 得 14

15 知 小 孩 具 体 出 的 是 剪 刀 石 头 还 是 布 已 知 各 组 的 小 孩 分 别 只 会 出 一 种 手 势 ( 因 而 同 一 组 的 两 个 小 孩 总 会 是 和 局 ), 而 裁 判 则 每 次 都 会 随 便 选 择 出 一 种 手 势, 因 此 没 有 人 会 知 道 裁 判 到 底 会 出 什 么 请 你 在 M 次 剪 刀 石 头 布 游 戏 结 束 后, 猜 猜 谁 是 裁 判 如 果 你 能 猜 出 谁 是 裁 判, 请 说 明 最 早 在 第 几 次 游 戏 结 束 后 你 就 能 够 确 定 谁 是 裁 判 输 入 要 求 : 输 入 文 件 包 含 多 组 测 试 数 据, 每 组 测 试 数 据 第 一 行 为 两 个 整 数 N 和 M(1<=N<=500, 0<=M<2000), = > 和 <, 分 别 表 示 和 局 第 一 个 小 孩 胜 和 第 二 个 小 孩 胜 三 种 情 况 输 出 要 求 : 1. 每 组 测 试 数 据 输 出 一 行, 若 能 猜 出 谁 是 裁 判, 则 输 出 裁 判 的 编 号, 并 输 出 在 第 几 次 游 戏 结 束 后 就 能 够 确 定 谁 是 裁 判, 小 孩 的 编 号 和 游 戏 次 数 以 一 个 空 格 隔 开 ; 2. 如 果 无 法 确 定 谁 是 裁 判, 输 出 -2; 如 果 发 现 剪 刀 石 头 布 游 戏 的 胜 负 情 况 不 合 理 ( 即 无 论 谁 是 裁 判 都 会 出 现 矛 盾 ), 则 输 出 关 键 思 路 : 二 分 寻 找 第 一 次 可 以 判 定 裁 判 出 现 的 位 置, 把 前 面 的 边 全 部 加 入 图 中, 再 枚 举 每 一 个 人 为 裁 判, 此 时 其 他 人 的 输 赢 关 系 已 确 定, 应 有 唯 一 解, 对 于 每 一 个 点 深 搜 染 色, 若 遇 到 冲 突 说 明 会 有 矛 盾 发 生, 若 有 多 个 人, 当 他 是 裁 判 时 可 以 推 出 唯 一 解, 则 裁 判 不 能 确 定, 最 终 求 得 第 一 次 裁 判 出 现 的 位 置 复 赛 第 一 题 : 另 类 杀 人 游 戏 : 1.1. 题 目 : 周 末 的 晚 上, 百 度 的 员 工 们 总 喜 欢 聚 集 在 公 司 的 会 议 室 玩 杀 人 游 戏 从 1 警 1 匪 到 n 警 n 匪, 他 们 尝 试 了 几 乎 所 有 流 行 的 杀 人 游 戏 规 则 终 于 有 一 天, 连 最 热 衷 杀 人 游 戏, 杀 人 不 眨 眼 的 Austin 也 开 始 对 无 休 止 的 辩 论 感 到 厌 烦 于 是, 他 决 定 改 变 他 的 一 贯 作 风, 他 开 始 变 成 了 一 个 杀 人 不 睁 眼 的 杀 手 如 何 做 到 杀 人 不 睁 眼 呢? Austin 早 已 构 思 好 他 的 杀 人 计 划 : N 个 人 ( 包 括 Austin ) 坐 成 一 圈 玩 杀 人 游 戏, 按 顺 时 针 编 号 1, 2, 3, 4 Austin 从 1 号 开 始 顺 时 针 开 始 数 到 第 m 号 就 杀 掉 第 一 个 人 被 杀 掉 的 人 要 退 出 游 戏 3. 如 果 第 m 个 人 恰 好 是 Austin 自 己, 他 就 杀 掉 他 顺 时 针 方 向 的 下 一 个 人 4. Austin 从 被 杀 的 人 的 下 一 个 顺 时 针 数 m 个 人, 把 第 m 个 杀 掉 5. 重 复 2-4, 直 至 杀 掉 所 有 人 Austin 把 这 个 杀 人 计 谋 告 诉 了 法 官 小 k, 他 便 可 以 闭 起 眼 睛 杀 人 啦 作 为 一 个 正 直 善 良 的 法 官, 小 k 当 然 不 能 让 残 忍 的 Austin 得 逞, 于 是, 她 偷 偷 把 Austin 的 杀 人 计 划 告 诉 了 作 为 警 察 的 你, 聪 明 的 百 度 之 星 现 在, 你 的 任 务 是 活 到 最 后, 与 Austin 单 挑 输 入 : 第 一 个 行 包 含 一 个 整 数 T, 表 示 有 T 组 测 试 数 据 对 于 每 组 测 试 数 据 : 三 个 整 数 N, M, T, (3<=N<=10000,1<=M,T<=10000) 分 别 表 示 参 与 游 戏 的 人 数, Austin 每 隔 M 个 人 会 杀 掉 一 人, Austin 初 始 位 置 的 标 号 输 出 : 15

16 每 个 测 数 数 据 输 出 一 个 整 数 你 需 要 选 择 的 初 始 位 置 的 序 号, 以 确 保 最 后 剩 下 的 两 个 人 是 你 与 Austin 1.2. 关 键 思 路 : 一 共 有 n 个 人 参 加 游 戏, 每 一 次 一 个 人 退 出, 则 总 共 退 出 n-2 次, 用 vector 维 护 一 个 参 与 游 戏 的 人 的 链 表, 每 一 次 直 接 寻 址 删 除 一 个 节 点, 操 作 都 在 O(1) 完 成, 总 复 杂 度 为 O(n) 复 赛 第 二 题 : 空 中 飞 猴 : 2.1. 题 目 : 马 戏 团 里 新 来 了 一 只 很 特 别 的 小 猴 子 皮 皮 不 仅 长 得 漂 亮, 还 很 聪 明 自 从 它 来 到 马 戏 团 之 后, 空 中 飞 猴 成 了 马 戏 团 里 保 留 节 目, 慕 名 观 看 的 人 络 绎 不 绝 空 中 飞 猴 表 演 开 始 时, 空 中 架 着 两 根 长 长 的 钢 丝 皮 皮 在 其 中 一 根 上, 它 的 目 标 是 到 达 另 一 个 根 钢 丝 上 皮 皮 必 须 在 爬 行 一 定 距 离 后 纵 身 一 跃, 直 接 跳 到 另 一 根 钢 丝 的 某 个 位 置 由 于 皮 皮 的 速 度 非 常 快, 它 的 运 动 轨 迹 可 以 近 似 的 看 成 一 条 直 线 段 为 了 不 让 自 己 太 危 险, 皮 皮 希 望 自 己 的 跳 跃 距 离 尽 量 短, 而 为 了 不 让 观 众 等 得 太 不 耐 烦, 它 在 钢 丝 上 的 爬 行 距 离 不 能 超 过 d 在 爬 行 距 离 不 超 过 d 的 情 况 下, 皮 皮 的 跳 跃 距 离 最 短 是 多 少? 输 入 格 式 : 输 入 文 件 包 含 多 组 测 试 数 据 每 组 测 试 数 据 包 含 16 个 实 数 x1, y1, z1, x2, y2, z2, x3, y3, z3, x4, y4, z4, xp, yp, zp, d, 表 示 两 根 钢 丝 分 别 为 线 段 (x1,y1,z1)-(x2,y2,z2) 和 (x3,y3,z3)-(x4,y4,z4), 皮 皮 的 坐 标 为 (xp, yp, zp), 最 大 爬 行 距 离 为 d 皮 皮 保 证 在 第 一 条 钢 丝 上, 保 证 每 条 钢 丝 长 度 大 于 零 但 两 条 钢 丝 有 可 能 相 交 甚 至 重 叠 输 出 格 式 : 每 组 测 试 数 据 输 出 一 行, 仅 包 含 一 个 非 负 实 数, 四 舍 五 入 保 留 三 位 小 数, 即 最 短 跳 跃 距 离 2.2. 关 键 思 路 : 本 题 的 关 键 在 于 求 空 间 两 线 段 间 最 短 距 离, 源 代 码 采 用 三 分 发, 在 两 条 线 段 上 做 二 维 三 分 求 的 距 离 的 极 小 值, 并 得 到 线 段 上 距 离 最 近 的 点 对, 通 过 点 对 坐 标 判 断 是 否 在 离 P 点 d 内, 是 则 所 求 距 离 为 答 案, 否 则 离 点 对 最 近 的 边 界 点 为 最 小 距 离 点 复 赛 第 三 题 : 星 球 大 战 : 3.1. 题 目 : 公 元 4999 年, 人 类 科 学 高 度 发 达, 绝 大 部 分 人 都 已 经 移 居 至 浩 瀚 的 宇 宙, 在 上 千 颗 可 居 住 星 球 上 留 下 了 人 类 的 印 记 然 而, 此 时 人 类 却 分 裂 成 了 两 个 联 盟 : 正 义 联 盟 和 邪 恶 联 盟 两 16

17 个 联 盟 之 间 仇 恨 难 解, 时 有 战 争 现 在, 正 义 联 盟 计 划 要 破 坏 邪 恶 联 盟 的 贸 易 网 络, 从 而 影 响 邪 恶 联 盟 的 经 济 状 况, 为 下 一 次 战 争 作 好 准 备 邪 恶 联 盟 由 数 百 颗 星 球 组 成, 贸 易 通 过 星 球 间 的 运 输 航 道 来 完 成 一 条 运 输 航 道 是 双 向 的 且 仅 连 接 两 个 星 球, 但 两 个 星 球 之 间 可 以 有 多 条 航 道, 也 可 能 没 有 两 个 星 球 之 间 只 要 有 运 输 航 道 直 接 或 间 接 的 相 连, 它 们 就 可 以 进 行 贸 易 正 义 联 盟 计 划 破 坏 邪 恶 联 盟 中 的 一 些 运 输 航 道, 使 得 邪 恶 联 盟 的 星 球 分 成 两 部 分, 任 一 部 分 的 星 球 都 不 能 与 另 一 部 分 的 星 球 进 行 贸 易 但 是 为 了 节 省 破 坏 行 动 所 需 的 开 支, 正 义 联 盟 希 望 破 坏 尽 量 少 的 运 输 航 道 来 达 成 目 标 请 问 正 义 联 盟 最 少 需 要 破 坏 多 少 条 运 输 航 道 呢? 输 入 格 式 : 输 入 文 件 包 含 多 组 测 试 数 据 每 组 测 试 数 据 第 一 行 为 两 个 整 数 N 和 M ( 2 N 500, 0 M N(N-1)/2 ), N 为 邪 恶 联 盟 中 星 球 的 数 量 接 下 来 M 行, 每 行 三 个 整 数 A B 和 C ( 0 A, B<N, A B, C>0 ), 表 示 星 球 A 和 星 球 B 之 间 有 C 条 运 输 航 道 运 输 航 道 的 总 数 量 不 超 过 10 8 输 出 格 式 : 每 组 测 试 数 据 输 出 一 行, 包 含 一 个 整 数, 表 示 需 要 破 坏 的 运 输 航 道 的 数 量 如 果 输 入 的 贸 易 网 络 本 来 就 是 不 连 通 的, 则 输 出 关 键 思 路 : 把 两 点 间 的 边 数 看 成 权 重, 转 化 为 求 带 权 无 向 图 的 最 小 割, 应 用 Stoer-Wagner 算 法 即 可 复 赛 第 四 题 : 彩 球 游 戏 : 4.1. 题 目 : X 博 士 是 一 个 研 究 儿 童 智 力 开 发 方 法 的 科 学 家, 他 为 幼 儿 教 育 领 域 做 出 了 许 多 贡 献 最 近, X 博 士 正 在 研 究 一 种 适 合 儿 童 的 游 戏, 用 以 辅 助 发 展 儿 童 的 观 察 力 注 意 力 和 思 维 能 力 经 过 连 日 的 构 思, X 博 士 终 于 设 计 出 了 一 种 游 戏 : 彩 球 游 戏 彩 球 游 戏 是 一 种 单 人 参 与 的 游 戏, 游 戏 首 先 给 出 一 串 由 许 多 不 同 颜 色 的 小 球 组 成 的 小 球 序 列, 以 及 一 个 整 数 参 数 M ( M 2 ) 一 段 连 续 的 具 有 相 同 颜 色 的 小 球 序 列 称 为 连 续 同 色 序 列 小 孩, 即 游 戏 参 与 者, 每 次 可 以 向 任 意 一 段 连 续 同 色 序 列 插 入 一 个 同 色 小 球, 使 该 序 列 的 长 度 加 一 当 一 段 连 续 同 色 序 列 在 插 入 一 个 同 色 小 球 后 其 长 度 达 到 M 时, 该 序 列 就 会 爆 炸 消 失, 然 后 原 序 列 两 边 的 其 余 小 球 会 重 新 连 成 一 串, 如 果 两 段 相 同 颜 色 的 连 续 同 色 序 列 在 此 时 连 接 在 一 起, 它 们 就 会 合 并 形 成 一 段 新 的 连 续 同 色 序 列 如 果 新 形 成 的 连 续 同 色 序 列 长 度 达 到 M, 这 段 序 列 也 会 爆 炸 消 失, 然 后 重 复 上 述 过 程, 直 到 没 有 新 的 长 度 达 到 M 的 连 续 同 色 序 列 出 现 为 止 游 戏 的 目 标 很 简 单, 就 是 插 入 尽 量 少 的 小 球, 使 得 所 有 小 球 都 爆 炸 消 失 掉 通 过 长 时 间 的 游 戏 和 不 断 提 高 游 戏 水 平, 这 个 游 戏 可 以 很 好 地 开 发 儿 童 的 观 察 力 注 意 力 和 思 维 能 力 但 是 X 博 士 仍 然 面 临 着 一 个 困 难 的 问 题, 他 还 需 要 设 计 出 一 个 游 戏 演 示 AI 程 序, 可 以 以 最 优 的 方 式 ( 即 插 入 的 小 球 数 量 最 小 ) 进 行 游 戏, 用 于 游 戏 教 学, 或 者 在 游 戏 中 对 小 孩 给 出 提 示 X 博 士 并 不 擅 长 此 类 程 序, 因 而 他 无 法 完 成 这 个 任 务, 你 可 以 帮 助 他 吗? 输 入 格 式 : 输 入 文 件 包 含 多 组 测 试 数 据 每 组 测 试 数 据 第 一 行 为 整 数 M ( 2 M 20 ), 第 二 行 为 一 17

18 条 非 空 的 字 符 串, 由 大 写 字 母 组 成 且 长 度 不 超 过 200, 表 示 初 始 的 一 串 小 球, 不 同 的 字 母 表 示 不 同 的 小 球 颜 色 初 始 时 可 能 会 存 在 一 些 长 度 达 到 M 的 连 续 同 色 序 列, 但 这 些 序 列 不 会 马 上 爆 炸 消 失 输 出 格 式 : 每 组 测 试 数 据 输 出 一 行, 表 示 至 少 需 要 插 入 多 少 次 小 球 才 能 使 所 有 小 球 爆 炸 消 失 掉 4.2. 关 键 思 路 : 我 们 先 把 原 来 的 珠 子 串 表 示 为 颜 色 相 同 的 n 块, 用 二 元 组 ( 颜 色, 个 数 ) 表 示 比 如 说 ABBABBA 就 表 示 为 (A,1)(B,2)(A,1)(B,2)(A,1) 令 dp[i][j] 表 示 从 第 i 块 到 第 j 块 需 要 多 少 小 球 才 可 以 消 去, 最 后 的 答 案 就 是 dp[0][n-1]; dp[i][i] 一 开 始 存 储 的 是 第 i 块 的 小 球 个 数 ( 也 即 长 度 ), 显 然 当 连 续 长 度 L>=m 的 时 候 dp[i][i]=1;l<m 的 时 候,dp[i][i]=m-dp[i][i] 对 于 状 态 dp[l][r] 我 们 可 以 进 行 如 下 转 移 : 把 第 R 段 的 珠 子 强 行 全 消 掉, 转 移 到 dp[l][r 1]; dp[r][r] < M 时, 我 们 找 一 个 L X < R, 且 X 段 的 color 和 R 段 相 同, 消 掉 [X+1,R 1] 这 之 间 所 有 的 珠 子, 转 移 到 dp[l][x]; 我 们 不 妨 定 义 cost(x, y) 表 示 已 经 有 x 个 同 色 珠 子 段, 后 面 又 来 了 y 个 同 色 珠 子, 暴 力 消 掉 这 些 珠 子 需 要 多 少 次 操 作 那 么 显 然 有 : cost(x, y) = 0 当 y > 0 且 x + y M cost(x, y) = 1 当 y = 0 且 x M cost(x, y) = M x y 当 x + y < M 于 是 最 后 总 的 转 移 方 程 有 两 种 : dp[l][r] = dp[l][r 1] + dp[r][r] dp[l][r] = dp[l][x] + dp[x + 1][R 1] + dp[r][r] if(dp[r][r] < M) 复 赛 第 五 题 : 追 捕 : 5.1. 题 目 : 四 个 小 孩 正 在 花 园 里 玩 追 捕 游 戏 一 个 小 孩 扮 演 逃 亡 者, 其 余 三 个 小 孩 做 追 捕 者 花 园 是 一 块 由 N 行 M 列 方 格 组 成 的 草 地, 花 园 周 围 有 木 栏 包 围 着, 不 能 走 出, 花 园 里 面 还 有 一 些 障 碍 物 不 能 够 通 过 游 戏 可 以 进 行 许 多 回 合, 每 个 回 合 分 成 两 轮, 第 一 轮 追 捕 者 可 以 进 行 追 捕 行 动, 第 二 轮 逃 亡 者 可 以 根 据 前 一 轮 追 捕 者 的 行 动 开 展 逃 亡 旅 程 在 第 一 轮 里, 三 个 追 捕 者 必 须 在 三 人 中 选 择 一 个 人 向 某 个 相 邻 的 方 格 走 一 步, 只 有 在 三 个 人 都 没 有 可 以 走 的 相 邻 方 格 时, 他 们 才 允 许 选 择 停 留 在 原 地 在 第 二 轮 里, 逃 亡 者 也 必 须 选 择 某 个 相 邻 的 方 格 走 一 步, 如 果 逃 亡 者 没 有 任 何 可 走 的 方 格, 那 么 逃 亡 者 就 被 捕 了 四 个 小 孩 都 不 允 许 走 到 有 障 碍 物 或 其 他 人 的 方 格 上, 也 不 能 走 出 花 园, 因 而, 四 个 小 孩 总 是 会 位 于 不 同 的 方 格 上 面 这 些 小 孩 都 是 非 常 聪 明 的, 三 个 追 捕 者 也 是 团 结 一 致 的 追 捕 者 如 果 有 可 以 捉 到 逃 亡 者 的 方 法, 那 么 他 们 就 一 定 不 会 错 过 逃 亡 者 如 果 有 不 被 捕 获 的 方 法, 那 么 他 也 不 会 犯 错 除 此 之 18

19 外, 追 捕 者 会 希 望 尽 快 地 捉 到 逃 亡 者, 而 逃 亡 者 即 使 在 会 被 捕 获 的 情 况 下 也 会 尽 可 能 地 拖 延 时 间 给 定 花 园 的 障 碍 物 的 分 布 图 和 四 个 小 孩 的 初 始 位 置, 你 知 道 追 捕 者 有 方 法 捉 到 逃 亡 者 吗? 如 果 有, 他 们 要 经 过 多 少 轮 后 才 能 捉 到 逃 亡 者 呢? 输 入 格 式 : 输 入 文 件 包 含 多 组 测 试 数 据 每 组 测 试 数 据 第 一 行 为 两 个 整 数 N 和 M ( 1 N 10, 1 M 10 ), 为 花 园 方 格 阵 列 的 行 数 和 列 数 接 下 来 N 行, 每 行 M 个 字 符, 可 以 为. # O 和 X, 分 别 表 示 空 地 障 碍 物 追 捕 者 和 逃 亡 者 追 捕 者 总 是 会 有 三 个, 而 且 四 个 小 孩 一 开 始 也 都 会 在 空 地 上 面 输 出 格 式 : 每 组 测 试 数 据 输 出 一 行, 若 追 捕 者 能 够 捉 到 逃 亡 者, 则 输 出 他 们 要 经 过 多 少 轮 后 才 能 成 功 轮 数 的 计 算 包 括 追 捕 者 和 逃 亡 者 进 行 行 动 的 两 轮, 逃 亡 者 被 捕 获 的 那 一 轮 不 算, 因 而 结 果 总 是 一 个 奇 数 具 体 输 出 格 式 请 参 考 输 出 样 例 题 目 说 明 : 水 平 所 限, 此 题 难 以 在 常 规 时 间 内 找 到 合 适 的 解 法, 抱 歉 无 法 提 供 源 代 码 决 赛 题 目 : 俄 罗 斯 方 块 6.1. 题 目 俄 罗 斯 游 戏 中 共 有 七 种 方 块, 每 种 方 块 都 由 四 个 方 格 组 成, 如 下 图 所 示, 七 种 方 块 分 别 编 号 为 1~7 游 戏 中, 每 次 落 下 一 个 方 块, 落 到 一 个 宽 度 为 10 格 的 槽 中 方 块 的 下 部 一 旦 碰 到 槽 的 底 部, 或 槽 中 已 有 的 方 块, 就 不 能 再 移 动 方 块 落 下 不 动 后, 如 果 有 某 些 行 因 落 下 的 方 块 而 填 满, 这 些 行 将 被 消 去 方 块 下 落 前, 你 可 以 控 制 方 块 的 左 右 移 动 和 旋 转, 以 将 其 放 在 合 适 的 位 置 你 对 方 块 的 所 有 移 动 和 旋 转 操 作 在 下 落 前 ( 槽 外 ) 就 计 算 完 毕, 然 后 直 接 下 落 到 底, 下 落 过 程 中 不 能 再 做 操 作 如 果 方 块 刚 刚 落 下 后 顶 部 高 度 大 于 17 行, 游 戏 结 束 -- 即 使 此 时 有 些 行 可 以 消 除 交 互 方 式 你 的 程 序 应 当 包 含 tetris_lib.h, 并 连 接 相 应 的 库 文 件 库 中 的 两 个 重 要 函 数 是 : void StartGame(int* t1, int* t2); int Step(int r, int l, int* next); 你 的 程 序 应 该 首 先 调 用 StartGame, 其 中 t1 和 t2 表 示 前 两 个 方 块 的 编 号 (t2 对 应 于 传 统 游 戏 中 的 " 下 一 个 方 块 ") 接 下 来, 你 的 程 序 每 次 可 以 使 用 Step 函 数 下 落 一 个 方 块, 返 回 消 去 的 行 数 r 表 示 旋 转 方 式 (r=0, 1, 2, 3 分 别 表 示 顺 时 针 旋 转 0 度 90 度 180 度 270 度 ),l 表 示 方 块 在 旋 转 后 的 最 左 边 一 格 的 列 编 号 ( 从 左 到 右 依 次 为 1, 2,, 10), 而 next 表 示 方 块 落 下 后 新 的 下 一 个 方 块 编 号 (0 代 表 没 有 下 一 个 方 块, 下 一 次 Step 调 用 后 库 将 自 动 终 止 你 的 程 序 ) 你 的 程 序 不 应 自 行 终 止 关 于 自 测 的 提 示 调 用 StartGame 函 数 时, 库 将 从 标 准 输 入 中 读 入 若 干 行, 每 行 包 括 一 个 整 数, 表 示 方 块 的 编 号 你 可 以 利 用 这 一 点 对 你 的 程 序 进 行 测 试 程 序 运 行 结 束 后, 测 试 库 将 把 结 束 原 因 和 得 分 显 示 在 标 准 输 出 中 19

20 库 中 还 有 两 个 函 数 可 以 用 于 自 测 : void SetLog(const char* filename); void Snapshot(); 如 果 需 要 测 试 库 记 录 程 序 的 行 为, 请 在 调 用 StartGame 之 前 调 用 SetLog 函 数 评 分 规 则 在 与 测 试 库 交 互 的 过 程 中, 出 现 以 下 条 件 之 一, 则 库 将 终 止 程 序 : 1 调 用 参 数 非 法 2 方 块 刚 刚 落 下 后, 其 顶 部 高 度 大 于 17 行 3 所 有 方 块 均 已 落 下 4 本 数 据 的 运 行 总 时 间 超 过 1 秒 钟 程 序 终 止 后, 假 设 一 次 消 去 1 行 2 行 3 行 4 行 的 次 数 分 别 为 a, b, c, d, 则 该 数 据 原 始 得 分 为 2b+6c+10d 换 句 话 说, 消 去 单 独 的 1 行 不 得 分 对 于 每 个 数 据, 得 分 排 名 前 八 的 程 序 分 别 得 到 10, 7, 6, 5, 4, 3, 2, 1 分 如 果 原 始 得 分 相 同, 则 消 去 行 数 多 的 排 名 在 前 ; 如 果 原 始 得 分 和 消 去 行 数 都 相 同, 则 下 落 方 块 总 数 多 的 排 名 在 前 如 果 三 者 都 相 同, 则 得 分 相 同 消 去 行 数 为 0 的 程 序 不 得 分, 即 使 它 排 在 前 八 最 终 成 绩 按 照 50 个 数 据 的 总 分 从 大 到 小 排 序, 如 果 总 分 相 同 则 按 所 有 数 据 的 原 始 得 分 之 和 排 序 ; 如 果 仍 有 相 同, 则 按 所 有 数 据 的 消 去 的 总 行 数 排 序 ; 如 果 仍 相 同, 则 名 次 相 同 题 目 说 明 : 由 于 本 题 已 找 不 到 现 场 决 赛 时 提 供 的 交 互 接 口 和 其 他 API, 因 此 无 法 提 供 源 代 码 20

21 百 度 之 星 2007 初 赛 第 一 题 : 水 果 开 会 时 段 1.1. 题 目 : 题 目 描 述 每 个 百 度 工 程 师 团 队 都 有 一 笔 还 算 丰 裕 的 食 品 经 费, 足 够 每 天 购 置 多 种 水 果 水 果 往 往 下 午 送 达 公 司 前 台 前 台 的 姐 姐 们 只 要 看 到 同 时 出 现 五 种 或 以 上 的 水 果, 就 称 之 为 水 果 开 会 从 搜 索 引 擎 切 词 的 语 法 角 度, 只 要 两 种 水 果 的 名 字 中 有 一 个 字 相 同 就 属 于 同 样 的 类 别 例 如 小 雪 梨 和 大 雪 梨 是 同 一 种 水 果, 而 核 桃 和 水 蜜 桃 也 被 认 为 是 同 一 种 水 果 尤 其 要 指 出 的 是, 如 果 有 三 种 水 果 x, y, z 同 时 在 前 台 出 现, 且 x 和 y 是 同 一 种 水 果,y 和 z 也 是 同 一 种 水 果 的 时 候,x 和 z 在 此 时 也 被 认 为 是 同 一 种 水 果 ( 即 使 x 和 z 并 不 包 含 相 同 的 字 ) 现 在 前 台 的 姐 姐 们 想 知 道, 今 天 是 否 有 水 果 开 会 五 种 或 更 多 的 水 果 同 时 在 前 台 出 现 输 入 格 式 输 入 的 第 一 行 只 有 一 个 整 数 n, 表 示 购 置 水 果 的 组 数 接 下 来 的 n 行 表 示 水 果 的 到 达 时 间 取 走 时 间 ( 时 间 用 1200 到 1900 之 间 的 正 整 数 表 示, 保 证 取 走 时 间 大 于 到 达 时 间 ) 剩 下 的 字 符 串 以 空 格 分 割 每 一 种 水 果 如 雪 梨 水 蜜 桃, 表 示 下 午 两 点 到 四 点 ( 包 含 两 点 和 四 点 这 两 个 时 间 点 ), 雪 梨 和 水 蜜 桃 会 在 前 台 等 待 开 会 每 种 水 果 名 称 由 不 超 过 十 个 汉 字 组 成 输 出 格 式 输 出 仅 一 行, 包 含 一 个 字 符 串 Yes 或 No, 分 别 表 示 今 天 水 果 开 会 与 否 输 入 样 例 1 例 雪 梨 柠 檬 西 瓜 苹 果 花 生 水 蜜 桃 输 出 样 例 1 例 Yes 输 入 样 例 2 例 雪 梨 柠 檬 哦 大 梨 呀 咦 大 梨 输 出 样 例 2 例 No 样 例 解 释 在 样 例 1 中, 时 刻 1400 有 六 种 水 果 在 前 台 ; 在 样 例 2 中, 由 于 雪 梨 和 大 梨 在 任 何 时 刻 都 是 同 一 种 水 果, 最 多 只 有 四 种 水 果 同 时 在 前 台 21

22 评 分 规 则 程 序 将 运 行 在 一 台 Linux 机 器 上 ( 内 存 使 用 不 作 严 格 限 制 ), 在 每 一 测 试 用 例 上 运 行 不 能 超 过 1 秒, 否 则 该 用 例 不 得 分 ; 要 求 程 序 能 按 照 输 入 样 例 的 格 式 读 取 标 准 输 入 数 据, 按 照 输 出 样 例 的 格 式 将 运 行 结 果 输 出 到 标 准 输 出 上 如 果 不 能 正 确 读 入 数 据 和 输 出 数 据, 该 题 将 不 得 分 ; 该 题 共 有 10 个 测 试 数 据 集, 每 组 数 据 均 满 足 n<=10, 每 个 时 段 最 多 有 10 个 水 果, 一 共 不 超 过 50 个 水 果 ; 该 题 目 20 分 1.2. 关 键 思 路 : 枚 举 每 个 时 间 点, 在 当 前 时 间 点 搜 索 所 有 的 水 果, 并 将 同 类 的 水 果 进 行 扩 展 搜 索 的 次 数 即 为 水 果 的 种 类 数 初 赛 第 二 题 : 大 话 西 游 与 数 字 游 戏 2.1. 题 目 : 题 目 描 述 叉 烧 鸡 翅 膀, 我 呀 最 爱 吃!, 百 度 spider 组 的 黑 龙 潭 之 行 在 烤 着 鸡 翅, 唱 着 星 爷 的 经 典 时 达 到 高 潮 大 家 在 篝 火 旁 围 成 一 圈, 开 始 玩 数 7 加 强 版 游 戏, 规 则 如 下 : 规 则 1: 遇 7 的 倍 数 或 含 7 的 数 时 pass 规 则 2: 遇 有 包 含 相 同 数 字 的 数 时 pass 注 意 相 同 数 字 不 必 相 邻 例 如 121 数 错 的 惩 罚 很 残 酷 吞 食 烤 全 羊 为 避 免 惩 罚, 百 度 工 程 师 们 需 要 你 史 上 最 强 程 序 员 的 帮 助 百 度 工 程 师 想 知 道 : req1 x: 符 合 规 则 1 的 第 x 个 数 是 什 么? req2 y: 符 合 规 则 2 的 第 y 个 数 是 什 么? req12 z: 同 时 符 合 规 则 1 2 的 第 z 个 数 是 什 么? query n: 数 n 是 规 则 1 中 的 第 几 个 数, 是 规 则 2 中 的 第 几 个 数? 输 入 格 式 输 入 的 每 一 行 为 一 个 查 询, 由 一 个 查 询 词 和 一 个 无 符 号 整 型 数 组 成 共 有 四 种 查 询, 查 询 词 分 别 为 req1 req2 req12 query( 区 分 大 小 写 ) 输 出 格 式 前 三 种 查 询 输 出 一 个 无 符 号 整 型 的 解 对 于 query n 的 查 询, 若 n 是 规 则 中 的 数 则 输 出 相 应 的 解, 否 则 输 出 -1 输 入 样 例 例 req1 10 req2 10 req12 10 query 14 输 出 样 例 例

23 评 分 规 则 程 序 将 运 行 在 一 台 Linux 机 器 上 ( 内 存 使 用 不 作 严 格 限 制 ), 在 每 一 测 试 用 例 上 运 行 不 能 超 过 1 秒, 否 则 该 用 例 不 得 分 ; 要 求 程 序 能 按 照 输 入 样 例 的 格 式 读 取 标 准 输 入 数 据, 按 照 输 出 样 例 的 格 式 将 运 行 结 果 输 出 到 标 准 输 出 上 如 果 不 能 正 确 读 入 数 据 和 输 出 数 据, 该 题 将 不 得 分 ; 该 题 目 共 有 10 个 测 试 数 据 集, 其 中 数 据 1~5 主 要 考 查 正 确 性, 满 足 x,y,z,n<=1000; 输 入 6~10 主 要 考 查 时 间 效 率, 满 足 x<=10,000,000,y<=1,000,000,z<=240,000, n<=20,000,000 数 据 1 和 6 只 包 含 req1, 数 据 2 和 7 只 包 含 req2, 数 据 3 和 8 只 包 含 req12, 数 据 4 和 7 只 包 含 query, 数 据 5 和 10 包 含 全 部 四 种 查 询 每 组 数 据 都 恰 好 包 含 100 个 查 询 该 题 目 20 分 2.2. 关 键 思 路 : 数 位 DP 分 别 设 dp0[len][first][mod],dp1[len][first][mask], dp2[len][first][mod][mask] 表 示 三 种 情 况 下, 长 度 为 len, 当 前 是 否 为 首 位, 模 7 的 值 为 mod, 已 用 过 的 数 的 状 态 为 mask 的 数 的 个 数, 枚 举 当 前 位 进 行 转 移 即 可 初 赛 第 三 题 : 繁 忙 的 会 议 室 预 定 问 题 3.1. 题 目 : 百 度 由 最 开 始 的 7 人 团 队 迅 速 发 展 为 几 千 人 的 大 团 队, 而 工 程 师 们 经 常 需 要 在 一 起 进 行 头 脑 风 暴, 这 样 会 议 室 就 成 了 紧 缺 资 源 为 了 有 效 利 用 资 源, 大 家 决 定 制 定 规 则, 自 动 安 排 会 议 室 的 使 用 为 了 公 平 起 见, 应 按 照 申 请 时 间 从 早 到 晚 依 次 考 虑, 先 到 先 得, 且 申 请 一 旦 被 接 受 就 不 能 取 消 在 处 理 每 条 请 求 时, 只 要 当 前 请 求 可 以 和 前 面 已 接 受 的 所 有 请 求 同 时 满 足 时 就 必 须 被 接 受 ( 如 有 必 要, 可 以 调 整 给 已 接 受 申 请 安 排 的 会 议 室 和 开 会 时 间 ) 注 意 同 一 时 间 开 的 不 同 会 议 必 须 在 不 同 的 会 议 室, 而 同 一 个 人 不 能 同 时 参 加 两 个 会 议 输 入 格 式 输 入 第 一 行 为 会 议 室 总 数 n 和 请 求 总 数 m; 第 二 行 是 n 个 整 数, 表 示 会 议 室 能 够 容 量 的 人 数 以 下 m 行 每 行 是 一 个 请 求, 按 请 求 时 间 先 后 顺 序 排 列 ( 即 应 优 先 满 足 在 输 入 中 更 早 出 现 的 请 求 ) 每 个 请 求 中 第 一 个 是 整 数, 表 示 会 议 需 要 的 时 间 长 度 ( 单 位 : 小 时 ); 之 后 为 与 会 人 名 单 人 名 由 不 超 过 四 个 汉 字 组 成, 用 半 角 逗 号 分 隔 ( 每 人 名 字 固 定 且 唯 一, 有 重 名 的 也 在 登 记 时 区 分 开 ) 名 单 后 的 数 字 表 示 可 以 安 排 会 议 的 时 间, 也 以 半 角 逗 号 分 隔, 如 10,11,14,15 表 示 第 10, 11, 14, 15 个 小 时 可 以 开 会 ( 会 议 时 间 为 9 到 19 之 间 的 正 整 数 ) 输 出 格 式 输 出 m 行, 依 次 表 示 每 个 请 求 是 否 被 接 受 1 表 示 接 受,0 表 示 不 接 受 23

24 输 入 样 例 : 例 张 三, 李 四, 王 五 10,11,12,14,15 1 张 三 12 4 王 六, 王 七, 王 八, 王 九, 王 十 9,10,11,12,13,14,15 2 张 三 14,15 输 出 样 例 : 例 样 例 解 释 请 求 1 可 以 满 足, 因 此 接 受 ; 在 请 求 1 接 受 的 前 提 下 请 求 2 和 请 求 3 都 无 法 满 足, 因 此 不 接 受 请 求 1 和 请 求 4 可 以 同 时 满 足 ( 都 在 会 议 室 1, 前 者 用 时 间 10~12, 后 者 用 时 间 14~15) 需 要 特 别 注 意 的 是 : 如 果 没 有 请 求 1, 后 三 个 请 求 可 以 同 时 满 足 但 是 规 则 是 先 到 先 得, 请 求 1 只 要 可 以 满 足 就 必 须 接 受 评 分 规 则 程 序 将 运 行 在 一 台 Linux 机 器 上 ( 内 存 使 用 不 作 严 格 限 制 ), 在 每 一 测 试 用 例 上 运 行 不 能 超 过 2 秒, 否 则 该 用 例 不 得 分 ; 要 求 程 序 能 按 照 输 入 样 例 的 格 式 读 取 标 准 数 据, 按 照 输 出 样 例 的 格 式 将 运 行 结 果 输 出 到 标 准 输 出 上 如 果 不 能 正 确 读 入 数 据 和 输 出 数 据, 该 题 将 不 得 分 ; 该 题 共 有 15 个 测 试 数 据 集, 均 满 足 n<=10,m<=10 每 个 会 议 最 多 有 10 人 参 加 ; 该 题 目 30 分 3.2. 关 键 思 路 : 搜 索 主 要 的 剪 枝 包 括 : 和 当 前 的 最 优 解 比 较, 如 果 当 前 位 比 最 优 解 差 则 放 弃 该 解 ; 如 果 当 前 搜 到 一 个 解 满 足 后 面 所 有 位 都 是 1 则 结 束 ; 将 所 有 人 和 会 议 室 的 状 态 都 用 位 运 算 进 行 加 速 判 断, 避 免 冗 余 的 循 环 ; 对 当 前 层 的 所 有 状 态 设 计 估 价 函 数 ( 例 如 考 虑 当 前 时 间 点 被 后 面 的 多 少 人 覆 盖 ), 并 调 整 搜 索 顺 序, 尽 可 能 快 地 靠 近 最 优 解, 使 得 最 优 化 剪 枝 能 得 到 发 挥 由 于 前 面 的 状 态 对 后 面 的 会 议 安 排 有 影 响, 因 此 可 以 考 虑 迭 代 加 深 搜 索, 但 这 尽 管 能 在 一 些 情 况 下 避 免 陷 入 死 胡 同, 但 也 可 能 会 放 慢 趋 近 最 优 解 的 速 度, 因 此 需 要 合 理 使 用 24

25 初 赛 第 四 题 :SQL 中 的 SELECT 语 句 4.1. 题 目 SQL 中 的 SELECT 语 句 用 于 从 数 据 库 中 查 询 记 录 某 个 工 程 项 目 数 据 库 中 有 一 个 所 有 数 据 均 为 字 符 串 的 表, 需 要 查 询 一 些 满 足 条 件 的 记 录 数 本 题 考 虑 SELECT 语 句 的 简 化 形 式, 相 关 语 句 格 式 如 下 : 1. 计 数 语 句, 查 询 满 足 条 件 的 记 录 条 数 有 两 种 格 式 : 格 式 1:SELECT COUNT(*) WHERE < 条 件 > 格 式 2:SELECT COUNT(*) 2. 子 集 选 择 语 句, 选 择 满 足 条 件 的 记 录 并 组 成 一 个 集 合 有 两 种 格 式 格 式 1:SELECT * WHERE < 条 件 > 格 式 2:SELECT * 上 述 两 种 语 句 中 的 FROM 子 句 具 有 相 同 的 格 式 : 格 式 1:FROM 格 式 2:FROM ( 子 集 选 择 语 句 ) 其 中 TABLENAME 为 该 工 程 中 惟 一 的 表 名, 子 集 选 择 语 句 即 上 述 用 SELECT * 开 头 的 语 句 条 件 的 格 式 为 一 条 或 多 条 = 用 关 键 字 and 连 接 ( 不 区 分 大 小 写 ), 其 中 FIELD 为 字 段 名, VALUE 为 数 据 值, 它 们 均 为 由 大 小 写 字 母 和 数 字 组 成 的 长 度 不 超 过 10 的 非 空 字 符 串 该 条 件 表 示 所 有 特 定 的 字 段 必 须 等 于 给 定 值 给 定 表 中 的 所 有 记 录 和 若 干 条 计 数 语 句, 输 出 所 有 语 句 的 结 果 输 入 格 式 输 入 第 一 行 为 三 个 整 数 c, n, q, 分 别 表 示 数 据 库 中 表 的 列 数 记 录 数 和 查 询 次 数 ; 第 二 行 为 表 名 ( 即 TABLENAME); 第 三 行 为 表 中 的 c 个 字 段 名 (FIELD), 之 间 用 一 个 或 多 个 空 格 隔 开, 字 段 名 各 不 相 同 ; 接 下 来 n 行, 每 行 表 示 一 个 记 录, 有 c 个 数 据 值 (VALUE), 之 间 用 空 格 隔 开 ; 接 下 去 有 q 行, 每 行 一 条 SELECT 记 录 数 语 句, 该 语 句 长 度 ( 包 括 空 格 ) 不 超 过 1000 输 入 数 据 保 证 每 条 语 句 满 足 题 目 中 给 出 的 计 数 语 句 的 定 义, 并 且 FROM 子 句 的 格 式 1 中 出 现 的 表 名 和 输 入 的 表 名 一 致 输 出 格 式 输 出 q 行, 每 行 一 个 整 数, 表 示 相 应 语 句 输 出 的 结 果 ( 即 满 足 条 件 的 记 录 数 ) 输 入 样 例 例 Book BookName Price PublishDate Author NBAsports dearboy SQL absorbed IntrotoAlgorithm Thomas MultipeView RichardHautley NBAsports dearboy SELECTCOUNT(*) FROM Book WHERE BookName=NBAsports and Author=dearboy SELECTCOUNT(*) FROM Book WHERE Price=20 SELECTCOUNT(*) FROM Book WHERE Author=lala SELECTCOUNT(*) FROM (SELECT * FROM Book WHERE BookName=NBAsports) SELECTCOUNT(*) FROM (SELECT * FROM Book WHERE BookName=NBAsports) WHERE Price=20 SELECTCOUNT(*) FROM Book 25

26 输 出 样 例 例 评 分 规 则 程 序 将 运 行 在 一 台 Linux 机 器 上 ( 内 存 使 用 不 作 严 格 限 制 ), 在 每 一 测 试 用 例 上 运 行 不 能 超 过 2 秒, 否 则 该 用 例 不 得 分 ; 要 求 程 序 能 按 照 输 入 样 例 的 格 式 读 取 标 准 数 据, 按 照 输 出 样 例 的 格 式 将 运 行 结 果 输 出 到 标 准 输 出 上 如 果 不 能 正 确 读 入 数 据 和 输 出 数 据, 该 题 将 不 得 分 ; 该 题 共 有 10 个 测 试 数 据 集, 数 据 1 的 表 与 样 例 相 同, 并 包 含 15 条 SELECT 语 句 数 据 2,3,4,5 的 表 分 别 有 1,2,5,7 列, 数 据 6~10 的 表 均 有 8 列 数 据 2~5 的 表 均 有 恰 好 1000 条 记 录, 并 包 含 100 个 SELECT 语 句 数 据 6~10 的 表 不 超 过 3000 条 记 录, 并 包 含 不 超 过 条 SELECT 语 句 本 题 的 后 5 组 数 据 着 重 考 查 程 序 的 时 间 效 率 ; 该 题 目 30 分 4.2. 关 键 思 路 : 由 于 查 询 都 是 and 的 关 系, 因 此 只 需 要 从 原 语 句 中 剖 析 出 所 有 的 等 号 并 对 所 有 的 查 询 结 果 取 交 即 可 考 虑 到 数 据 范 围, 查 询 时 的 优 化 是 至 关 重 要 的 一 些 可 供 参 考 的 优 化 包 括 : 对 每 列 数 据 进 行 索 引, 查 找 时 优 先 查 询 更 优 质 量 的 索 引 ( 参 考 代 码 中 统 计 了 该 列 中 不 同 的 条 目 数 和 最 大 条 目 数 进 行 加 权 计 算 ), 保 存 出 现 过 的 查 询 等 等 实 现 的 细 节 中, 尽 可 能 地 对 字 符 串 和 其 他 数 据 进 行 Hash 以 加 速 运 算 初 赛 第 五 题 : 百 度 时 间 5.1. 题 目 Baidu 的 服 务 器 上 使 用 的 不 是 北 京 时 间, 而 是 Baidu 时 间 Baidu 时 间 的 时 分 秒 与 北 京 时 间 相 同, 但 是 日 期 与 北 京 时 间 不 同, 是 用 一 个 正 整 数 表 示 从 2000 年 1 月 1 日 开 始 经 过 了 几 天 现 在 就 请 大 家 设 计 一 个 程 序 将 北 京 时 间 转 换 为 百 度 时 间 在 本 题 中, 闰 年 的 年 份 是 400 的 倍 数, 或 者 是 4 的 倍 数 但 不 是 100 的 倍 数 比 如 2000 和 8888 均 为 闰 年, 但 6100 不 是 输 入 格 式 输 入 数 据 的 每 一 行 为 一 个 待 转 化 的 北 京 时 间 ( 不 含 空 格 和 TAB), 正 确 的 格 式 包 括 两 种 : 一 种 为 :YYYY-MM-DD,( YYYY 表 示 四 位 数 年 份,MM 为 两 位 月 份,DD 为 两 位 日 期 ); 另 一 种 为 :MM/DD/YYYY,( YYYY 表 示 四 位 数 年 份,MM 为 两 位 月 份,DD 为 两 位 日 期 ); 输 出 格 式 每 个 数 据 输 出 一 行 如 果 可 以 成 功 转 换, 输 出 一 个 正 整 数, 否 则 输 出 Error 输 入 样 例 例 26

27 AStar /26/2007 输 出 样 例 例 0 Error 2702 评 分 规 则 程 序 将 运 行 在 一 台 Linux 机 器 上 ( 内 存 使 用 不 作 严 格 限 制 ), 在 每 一 测 试 用 例 上 运 行 不 能 超 过 1 秒, 否 则 该 用 例 不 得 分 ; 要 求 程 序 能 按 照 输 入 样 例 的 格 式 读 取 标 准 输 入 数 据, 按 照 输 出 样 例 的 格 式 将 运 行 结 果 输 出 到 标 准 输 出 上 如 果 不 能 正 确 读 入 数 据 和 输 出 数 据, 该 题 将 不 得 分 ; 该 题 共 有 5 个 测 试 数 据 集, 数 据 1 和 数 据 2 中 的 所 有 日 期 均 能 成 功 转 换 所 有 数 据 中, 每 行 不 超 过 20 个 字 符, 每 组 数 据 最 多 包 含 100 行 ; 该 题 目 20 分 5.2. 关 键 思 路 : 使 用 有 限 状 态 自 动 机 来 判 断 输 入 是 否 合 法, 将 两 种 情 况 分 别 加 入 到 自 动 机 内 即 可, 除 此 之 外 还 需 判 断 年 月 日 是 否 合 法 在 输 入 合 法 的 前 提 下, 再 分 别 统 计 从 2000 到 相 应 年 份 中 每 一 年 的 天 数, 当 前 年 经 过 的 月 份 的 天 数, 以 及 当 前 月 份 经 过 的 天 数 全 部 天 数 相 加 可 得 到 答 案 初 赛 第 六 题 : 实 习 生 小 胖 的 百 度 网 页 过 滤 器 6.1. 题 目 : 百 度 网 页 采 集 器 (Baiduspider) 每 天 从 互 联 网 收 录 数 亿 网 页, 互 联 网 的 网 页 质 量 参 差 不 齐 百 度 的 工 程 师 们 每 天 都 在 改 进 方 法 来 判 断 一 个 网 页 质 量 的 好 坏, 使 质 量 差 的 网 页 出 现 在 检 索 结 果 中 较 后 的 位 置 现 在 实 习 生 小 胖 想 到 一 个 很 简 单 的 方 法 来 判 断 一 个 网 页 内 容 的 好 坏, 方 法 如 下 : 1. 利 用 数 据 挖 掘 技 术 在 互 联 网 语 料 库 中 挖 掘 出 一 批 有 特 点 的 词 汇, 分 为 好 词 和 坏 词 两 种, 好 词 标 上 正 的 权 重, 坏 词 标 上 负 的 权 重 ; 2. 通 过 好 词 和 坏 词 词 典 对 每 个 网 页 计 算 网 页 总 权 重 : 从 第 一 个 字 开 始 匹 配, 找 到 一 个 好 词 则 加 上 相 应 的 权 重, 找 到 一 个 坏 词 则 减 去 相 应 的 权 重, 下 一 次 匹 配 将 从 找 到 的 词 末 尾 的 下 一 个 位 置 开 始 3. 坏 词 采 用 正 向 最 短 匹 配 : 从 当 前 匹 配 位 置 开 始 的 若 干 连 续 汉 字, 如 果 形 成 多 个 坏 词, 则 只 计 算 最 短 的 那 个 坏 词 的 权 重, 下 一 次 匹 配 将 从 这 个 最 短 坏 词 末 尾 的 下 一 个 位 置 开 始 4. 好 词 采 取 正 向 最 长 匹 配 : 从 当 前 匹 配 位 置 开 始 的 若 干 连 续 汉 字, 如 果 形 成 多 个 有 效 好 词, 则 只 计 算 最 长 有 效 好 词 的 权 重, 下 一 次 匹 配 从 这 个 最 长 有 效 好 词 末 尾 的 下 一 个 位 置 开 始 5. 无 效 好 词 的 定 义 : 好 词 的 一 部 分 本 身 是 一 个 坏 词 ; 或 者 好 词 的 一 部 分 与 后 续 相 邻 的 若 干 字 组 成 一 个 坏 词 现 在 小 胖 已 经 做 好 了 第 1 步 的 工 作, 有 一 个 好 词 和 坏 词 的 列 表 ( 词 典 ), 但 是 由 于 没 有 对 中 27

28 文 文 本 处 理 的 程 序 经 验, 他 想 请 未 来 的 百 度 之 星 们 帮 他 完 成 这 个 程 序 输 入 格 式 输 入 第 一 行 为 一 个 字 符 串 ( 网 页 正 文 ) 从 第 二 行 开 始 为 词 典, 格 式 为 词 空 格 词 的 权 重 权 重 为 一 个 带 符 号 32 位 整 数 如 果 权 重 为 正, 则 为 好 词, 反 之 则 为 坏 词 ; 不 存 在 重 复 的 词, 不 存 在 权 重 为 0 的 词 作 为 网 页 的 字 符 串 中 同 时 包 含 中 文 和 ASCII 字 符, 每 个 汉 字 占 2 个 字 节 并 非 网 页 中 的 所 有 字 都 在 词 典 中 输 出 格 式 输 出 仅 一 行, 为 网 页 总 权 重 ( 答 案 保 证 不 超 过 带 符 号 32 位 整 数 的 范 围 ) 样 例 输 入 例 小 胖 之 喷 火 龙 骑 士!! 小 胖 6 喷 火 -1 喷 火 龙 -1 火 龙 -1 龙 4 龙 骑 3 龙 骑 士 2 骑 士 -2 士 3 样 例 输 出 例 7 样 例 解 释 从 网 页 中 找 到 的 好 词 为 小 胖 和 龙, 坏 词 为 喷 火 和 骑 士 特 别 要 说 明 一 下 龙 被 识 别 为 好 词 的 原 因 喷 火 和 喷 火 龙 均 为 坏 词, 按 正 向 最 短 匹 配 得 到 喷 火, 接 着 往 下 匹 配 到 好 词 龙 龙 骑 和 龙 骑 士, 但 是 由 于 骑 士 是 坏 词, 所 以 龙 骑 龙 骑 士 无 效 而 龙 是 最 长 的 有 效 好 词 注 意 题 目 描 述 中 的 匹 配 规 则, 好 词 的 有 效 和 无 效 只 考 虑 该 好 词 的 一 部 分 与 后 续 字 是 否 能 够 组 成 坏 词, 而 不 考 虑 和 前 面 的 字 是 否 能 够 组 成 坏 词 样 例 中 的 龙 虽 然 可 以 与 前 面 的 字 组 成 坏 词 喷 火 龙 和 火 龙, 但 由 于 这 两 个 词 都 是 未 能 匹 配 成 功 的 坏 词, 因 此 对 好 词 龙 的 词 性 没 有 影 响, 可 以 累 积 龙 的 权 重 注 意 事 项 输 入 数 据 的 中 文 采 用 GBK 编 码 GBK: 是 又 一 个 汉 字 编 码 标 准, 全 称 汉 字 内 码 扩 展 规 范 采 用 双 字 节 表 示, 总 体 编 码 范 围 为 8140-FEFE, 首 字 节 在 81-FE 之 间, 尾 字 节 在 40-FE 之 间, 排 除 xx7f 总 计 个 码 位, 共 收 入 个 汉 字 和 图 形 符 号, 其 中 汉 字 ( 包 括 部 首 和 构 件 )21003 个, 图 形 符 号 883 个 评 分 规 则 程 序 将 运 行 在 一 台 Linux 机 器 上 ( 内 存 使 用 不 作 严 格 限 制 ), 在 每 一 测 试 用 例 上 运 行 不 能 超 过 1 秒, 否 则 该 用 例 不 得 分 ; 要 求 程 序 能 按 照 输 入 样 例 的 格 式 读 取 标 准 输 入 数 据, 按 照 输 出 样 例 的 格 式 将 运 行 结 果 输 出 到 标 准 输 出 上 如 果 不 能 正 确 读 入 数 据 和 输 出 数 据, 该 题 将 不 得 分 ; 该 题 共 有 10 个 测 试 数 据 集, 前 7 组 数 据 的 大 小 不 超 过 1K 字 节, 数 据 8 和 数 据 9 不 超 过 600K 字 节, 数 据 10 的 网 页 正 文 不 超 过 1M 字 节 所 有 数 据 的 词 典 不 超 过 50,000 项, 且 词 典 中 的 词 保 证 由 1 到 5 个 汉 字 组 成 词 典 不 包 含 重 复 的 单 词 ; 该 题 目 20 分 28

29 6.2. 关 键 思 路 : 将 文 本 中 所 有 坏 词 找 出, 再 在 由 坏 词 分 割 的 文 本 中 进 行 好 词 匹 配 匹 配 时 由 于 字 典 中 单 词 的 大 小 不 超 过 5, 因 此 可 以 对 文 本 中 长 度 不 超 过 5 的 所 有 子 串 和 字 典 进 行 Hash 即 可 GBK 读 入 时 可 以 将 字 符 以 int 的 形 式 储 存 初 赛 第 七 题 :Wii 游 戏 开 始 啦! 7.1. 题 目 : 为 了 在 紧 张 的 上 班 时 间 让 员 工 们 轻 松 些, 百 度 休 息 室 里 放 置 着 按 摩 椅 CD 高 尔 夫 套 装 和 Wii 游 戏 机 等 休 闲 用 品 其 中 最 受 欢 迎 的 当 然 是 游 戏 机 Wii 游 戏 机 有 两 个 手 柄, 每 个 手 柄 使 用 两 节 电 池 ( 这 两 个 电 池 可 以 是 不 同 的 品 牌 ), 其 中 至 少 一 块 电 池 没 电 时 该 手 柄 没 电 工 程 师 们 在 玩 游 戏 时, 总 是 用 最 简 单 的 方 式 更 换 电 池 : 有 手 柄 没 电 时 把 所 有 没 电 的 电 池 拿 走, 一 一 换 上 新 电 池 即 可 ( 有 电 的 电 池 总 是 继 续 使 用 ) 当 有 手 柄 没 电 且 没 有 新 电 池 可 用 时 才 停 止 玩 Wii 告 诉 你 每 个 品 牌 电 池 的 使 用 时 间 以 及 该 品 牌 电 池 的 个 数, 请 计 算 工 程 师 们 玩 游 戏 时 间 的 最 小 值 和 最 大 值 输 入 格 式 输 入 第 一 行 为 一 个 正 整 数 n, 表 示 电 池 的 种 数 接 下 来 n 行, 每 行 两 个 整 数 L 和 F, 表 示 使 用 时 间 为 L 的 电 池 有 F 个 ( 电 池 不 必 成 对 出 现, 即 F 可 以 是 奇 数 ) 输 出 格 式 输 出 仅 一 行, 包 含 两 个 整 数, 分 别 表 示 工 程 师 们 的 最 短 游 戏 时 间 和 最 长 游 戏 时 间 ( 短 的 时 间 在 前 ) 两 个 整 数 之 间 以 空 格 隔 开 输 入 样 例 例 输 出 样 例 例 5 8 样 例 解 释 有 三 对 电 池, 使 用 时 间 分 别 为 3 小 时 5 小 时 和 8 小 时 方 案 1: 一 开 始 给 手 柄 1 使 用 一 对 3 小 时 的 电 池, 给 手 柄 2 使 用 一 对 5 小 时 的 电 池, 则 3 小 时 后 手 柄 1 没 电, 换 上 一 对 8 小 时 的 再 过 2 小 时 后, 手 柄 2 没 电 此 时 已 经 没 有 电 池 可 用 了 总 时 间 为 5 小 时 方 案 2: 一 开 始 给 手 柄 1 使 用 一 对 8 小 时 的 电 池, 给 手 柄 2 使 用 一 对 5 小 时 的 电 池, 则 5 小 时 后 手 柄 2 没 电, 换 上 一 对 3 小 时 的 再 过 3 小 时 后, 手 柄 1 和 手 柄 2 同 时 没 电 此 时 已 经 没 有 电 池 可 用 了 总 时 间 为 8 小 时 评 分 规 则 程 序 将 运 行 在 一 台 Linux 机 器 上 ( 内 存 使 用 不 作 严 格 限 制 ), 在 每 一 测 试 用 例 上 运 行 不 能 超 过 2 秒, 否 则 该 用 例 不 得 分 ; 29

30 要 求 程 序 能 按 照 输 入 样 例 的 格 式 读 取 标 准 输 入 数 据, 按 照 输 出 样 例 的 格 式 将 运 行 结 果 输 出 到 标 准 输 出 上 如 果 不 能 正 确 读 入 数 据 和 输 出 数 据, 该 题 将 不 得 分 ; 该 题 共 有 15 个 测 试 数 据 集, 均 满 足 n<=10, L<=200, F 的 总 和 不 超 过 30; 该 题 目 30 分 7.2. 关 键 思 路 : 在 分 析 问 题 和 数 据 范 围 之 后 可 以 发 现, 本 题 应 当 是 一 个 用 搜 索 进 行 解 决 的 题 目, 尽 管 直 观 上 有 很 多 看 似 正 确 的 贪 心 策 略 搜 索 时 可 以 考 虑 以 四 堆 电 池 来 划 分 阶 段, 并 保 证 从 左 到 右 每 堆 大 小 递 增, 枚 举 电 池 时 也 采 用 递 增 策 略 进 行 枚 举 一 些 有 效 的 剪 枝 包 括 当 前 的 最 优 化 剪 枝, 答 案 不 超 过 总 和 的 1/4, 当 前 剩 余 的 电 池 必 须 能 填 充 完 剩 余 的 堆, 等 等 初 赛 第 八 题 : 百 度 的 高 级 搜 索 方 法 8.1. 题 目 : 你 尝 试 过 在 百 度 上 使 用 site inurl 语 法 查 询 吗? 如 果 还 没 有 的 话 可 以 试 一 下 :) 如 输 入 site: inurl:news 则 会 搜 出 所 有 在 站 点 上 的 包 含 "news" 子 串 的 url 现 在 我 们 有 一 个 inurl 查 询 列 表 和 一 个 url 列 表, 你 能 找 出 所 有 至 少 被 查 询 过 一 次 的 url 吗? 输 入 格 式 输 入 第 一 行 是 一 个 整 数 n, 表 示 一 共 有 n 个 查 询 以 下 n 行 每 行 一 个 查 询 查 询 的 site 部 分 和 inurl 部 分 中 间 恰 好 用 一 个 空 格 分 割, 且 每 行 不 包 含 其 他 空 格 下 一 行 是 一 个 整 数 m, 表 示 url 列 表 中 一 共 有 m 个 url 以 下 m 行 每 行 一 个 url 输 出 格 式 每 个 url 输 出 一 行 如 果 至 少 符 合 一 条 查 询, 输 出 1, 否 则 输 出 0 输 入 样 例 例 3 site: inurl:/more site:zhidao.baidu.com inurl:/browse/ site: inurl:www am 输 出 样 例 例

31 评 分 规 则 程 序 将 运 行 在 一 台 Linux 机 器 上 ( 内 存 使 用 不 作 严 格 限 制 ), 在 每 一 测 试 用 例 上 运 行 不 能 超 过 2 秒, 否 则 该 用 例 不 得 分 ; 要 求 程 序 能 按 照 输 入 样 例 的 格 式 读 取 标 准 输 入 数 据, 按 照 输 出 样 例 的 格 式 将 运 行 结 果 输 出 到 标 准 输 出 上 如 果 不 能 正 确 读 入 数 据 和 输 出 数 据, 该 题 将 不 得 分 ; 该 题 共 有 6 个 测 试 数 据 集, 数 据 1,2,3,4,5,6 的 大 小 分 别 约 为 4K, 750K, 1.5M, 6.5M, 12M, 18M 所 有 查 询 和 url 均 合 法,url 均 以 开 头 url 和 查 询 中 可 能 包 含 中 文 输 入 文 件 的 每 行 不 超 过 256 个 字 节 ; 该 题 目 30 分 8.2. 关 键 思 路 : 对 每 一 个 site 维 护 一 个 AC 自 动 机, 将 他 所 拥 有 的 所 有 inurl 字 段 都 插 入 到 自 动 机 中 对 于 每 一 个 给 定 的 url, 先 分 析 它 的 site 并 找 到 对 应 的 自 动 机, 然 后 在 自 动 机 内 进 行 整 个 url 的 匹 配, 如 果 匹 配 到 某 个 inurl 字 段 的 终 点 则 答 案 为 1, 否 则 为 0 当 然 在 细 节 上 还 需 注 意 是 否 存 在 对 应 的 自 动 机, 以 及 实 现 时 字 符 集 大 小 的 问 题 等 等, 可 以 使 用 HashMap 进 行 速 度 上 的 优 化 复 赛 第 一 题 : 简 单 印 象 1.1. 题 目 : 题 目 描 述 简 单 可 依 赖 是 百 度 的 性 格, 百 度 之 星 们 又 有 怎 样 的 性 格 呢? 有 n 名 选 手 入 围 了 百 度 之 星 程 序 设 计 大 赛 的 复 赛 阶 段 为 了 让 选 手 相 互 之 间 有 更 多 的 了 解 和 更 好 的 交 流, 组 委 会 工 作 人 员 邀 请 每 位 选 手 选 择 一 些 不 同 的 词 语 来 介 绍 自 己 的 性 格 每 名 选 手 需 要 为 自 己 选 定 的 每 一 个 词 语 指 定 一 个 绝 对 值 不 超 过 100 的 整 数 权 值 q, 表 示 这 个 词 语 在 多 大 程 度 上 描 述 了 自 己 的 性 格 例 如 美 丽 90 表 示 该 选 手 认 为 自 己 非 常 美 丽, 而 冷 淡 -60 表 示 比 较 热 情, 而 外 向 -5 表 示 稍 微 有 一 点 点 偏 内 向 你 不 需 要 考 虑 词 语 本 身 的 语 义, 比 如 外 向 -5 不 代 表 内 向 5 组 委 会 发 现 不 少 选 手 的 性 格 都 有 相 似 之 处, 所 以 希 望 找 到 一 组 词 语 尽 量 准 确 的 描 述 所 有 的 选 手 对 于 选 出 的 词 语 集 合 S, 定 义 选 手 i 被 描 述 的 精 确 程 度 P(i) 为 S 中 所 有 词 语 在 选 手 i 眼 中 的 权 值 之 和 ( 选 手 i 没 有 提 到 的 词 权 值 视 为 0 ), 组 委 会 希 望 让 最 小 的 P(i) 尽 量 大, 因 为 这 样 才 能 让 选 出 的 词 语 能 够 描 述 所 有 选 手, 而 不 仅 仅 是 部 分 另 外, 所 选 词 语 的 个 数 也 是 有 讲 究 的 词 语 太 少 会 略 显 单 薄, 而 词 语 太 多 又 不 方 便 宣 传, 所 以 组 委 会 设 定 了 词 语 个 数 的 最 小 值 min 和 最 大 值 max 输 入 数 据 输 入 数 据 第 一 行 为 三 个 整 数 n, min 和 max, 表 示 选 手 的 个 数 词 语 的 最 小 值 和 最 大 值, 31

32 接 下 来 的 n 行, 每 行 包 括 若 干 词 语 - 权 值 对 词 语 保 证 由 不 超 过 10 个 汉 字 组 成 ( 用 GBK 编 码, 不 含 非 汉 字 ), 权 值 为 绝 对 值 不 超 过 100 的 整 数 输 出 数 据 仅 一 行, 输 出 各 个 词 语, 用 空 格 隔 开 次 数 总 数 必 须 不 小 于 min 且 不 大 于 max, 每 个 词 语 都 必 须 至 少 被 一 个 选 手 提 到 过, 否 则 视 为 非 法 输 出 输 入 样 例 美 丽 90 冷 淡 -60 外 向 -5 乐 观 20 美 丽 10 冷 淡 20 外 向 20 乐 观 -5 输 出 样 例 美 丽 冷 淡 外 向 样 例 解 释 如 果 把 选 手 按 照 输 入 中 出 现 的 顺 序 编 号 为 1~3, 则 P(1)= =25, P(2)=10+20=30, P(3)=20, 所 有 P 中 的 最 小 值 为 20 评 分 方 法 本 题 包 含 30 个 测 试 点, 每 个 测 试 点 10 分, 共 300 分 测 试 点 1~10 满 足 n<=100, 1<=min<=max<=5, 涉 及 到 的 词 语 不 超 过 500 个 测 试 点 11~20 满 足 n<=200, 10<=min<=max<=15, 涉 及 到 的 词 语 不 超 过 2000 个 测 试 点 21~30 满 足 n<=400, 25<=min<=max<=30, 涉 及 到 的 词 语 不 超 过 个 每 个 测 试 点 独 立 评 分 对 于 每 个 测 试 点, 非 法 输 出 的 得 分 为 0, 合 法 输 出 的 得 分 大 于 0 设 合 法 输 出 的 程 序 数 为 M, 比 程 序 i 的 方 案 严 格 更 优 的 程 序 数 为 Y(i), 则 该 测 试 点 程 序 i 的 分 值 为 10(1-Y(i)/M) 换 句 话 说, 输 出 该 测 试 点 最 优 解 的 程 序 将 获 得 10 分, 而 最 差 解 惟 一 的 情 况, 输 出 最 差 解 ( 但 合 法 ) 的 选 手 将 得 到 10/M 分 注 意 : 每 个 测 试 点 的 得 分 不 必 为 整 数 1.2. 关 键 思 路 : 考 虑 用 估 价 函 数 对 每 个 单 词 计 算 出 相 应 的 价 值, 然 后 通 过 贪 心 得 到 较 优 解 之 后 进 行 随 机 调 整 估 价 函 数 可 以 有 多 种 设 计 方 法, 例 如 可 以 考 虑 单 词 对 所 有 人 的 贡 献 之 和, 以 及 它 对 人 的 最 坏 贡 献, 并 统 计 出 有 最 坏 贡 献 的 人 数, 通 过 加 权 的 方 式 进 行 结 合 随 机 调 整 时 包 括 对 集 合 大 小 的 随 机 以 及 集 合 元 素 的 随 机, 可 以 考 虑 对 加 权 排 序 后 的 单 词 进 行 非 均 匀 的 随 机 选 取, 例 如 可 以 令 每 次 选 取 的 单 词 id 为 s^k * M, 其 中 s 为 [0, 1] 间 的 随 机 数,M 是 单 词 数 量,k 是 常 数, 这 样 在 随 机 时 能 趋 近 于 估 价 函 数 更 高 的 单 词 在 所 有 单 词 中 随 机 出 若 干 个 单 词 之 后 进 行 暴 力 扫 描, 得 到 其 中 最 优 的 单 词 并 进 行 插 入 删 除 时 同 理, 直 接 扫 描 当 前 维 护 的 单 词 并 找 到 贡 献 最 坏 的 单 词 将 其 删 除 即 可 参 考 代 码 中 还 加 入 了 卡 时 来 避 免 超 时 的 情 况, 通 过 这 些 手 段 就 已 经 可 以 在 时 限 内 取 得 非 常 不 错 的 解 了 32

33 复 赛 第 二 题 : 好 心 的 出 租 车 司 机 2.1. 题 目 : 题 目 描 述 北 京 的 一 位 出 租 车 司 机 向 你 抱 怨 : 城 市 发 展 太 快, 公 路 越 来 越 多, 他 已 经 疲 于 计 算 行 驶 路 线, 于 是 求 助 你 开 发 一 个 自 动 导 航 的 工 具 出 租 车 只 能 在 公 路 上 行 驶 所 有 的 公 路 都 是 笔 直 双 向 的, 相 交 的 公 路 视 为 连 通 ( 可 以 在 交 叉 点 处 从 一 条 公 路 开 到 另 一 公 路 上 ) 由 于 道 路 施 工, 整 个 城 市 的 公 路 系 统 可 能 并 不 完 全 通 畅 如 果 乘 客 的 目 的 地 不 在 公 路 边, 则 乘 客 下 车 后 要 步 行 前 往, 步 行 路 线 不 受 公 路 限 制 这 位 好 心 的 司 机 还 特 别 提 出, 乘 客 步 行 距 离 越 短 越 好 ; 其 次, 出 租 车 行 驶 里 程 越 短 越 好 方 便 起 见, 用 笛 卡 尔 坐 标 系 来 描 述 城 市 地 图, 所 有 坐 标 都 在 第 一 象 限 [0, 1000] 的 范 围 内 公 路 宽 度 忽 略 不 计 输 入 格 式 第 一 行 是 一 个 数 字 k, 代 表 公 路 条 数 以 下 k 行 每 行 用 4 个 实 数 描 述 一 条 公 路 ( 用 空 格 隔 开 ), 前 两 个 表 示 公 路 起 点, 后 两 个 表 示 公 路 终 点 下 一 行 包 含 4 个 实 数 ( 用 空 格 隔 开 ), 前 两 个 表 示 乘 客 上 车 点, 后 两 个 表 示 乘 客 目 的 地 坐 标 不 相 交 公 路 间 的 最 短 距 离 至 少 为 10-4 输 出 格 式 仅 一 行, 为 出 租 车 行 驶 的 里 程 数, 保 留 一 位 小 数 输 出 格 式 输 出 样 例 7.8 评 分 方 法 本 题 有 20 组 数 据, 满 足 k<=100, 公 路 的 交 点 数 不 超 过 关 键 思 路 : 将 所 有 相 邻 的 事 件 点 连 边, 事 件 点 包 括 起 点, 线 段 端 点, 线 段 交 点 和 终 点 对 最 近 线 段 的 垂 足 随 后 从 起 点 开 始 做 一 次 最 短 路 即 可 最 后 取 答 案 时 需 要 取 步 行 距 离 最 短 的 垂 足 复 赛 第 三 题 :Robots.txt 协 议 3.1. 题 目 : 题 目 描 述 搜 索 引 擎 是 靠 Web Robot ( 又 称 Spider ) 来 收 集 互 联 网 上 浩 如 烟 海 的 网 页 的 Spider 33

34 就 像 一 个 旅 行 家 一 般, 不 知 疲 倦 地 奔 波 于 万 维 网 的 空 间, 将 遇 到 的 页 面 收 集 下 来 供 搜 索 引 擎 索 引 对 于 一 个 网 站 的 管 理 员 来 说, 如 果 希 望 搜 索 引 擎 只 收 录 自 己 指 定 的 内 容, 或 者 指 定 某 些 不 希 望 搜 索 引 擎 访 问 的 内 容, 该 如 何 去 做 呢? 他 需 要 的 就 是 Robots Exclusion Protocol 协 议, 这 里 简 单 的 称 它 做 Robots.txt 协 议 Robots.txt 是 一 个 放 置 在 网 站 根 目 录 下 的 纯 文 本 文 件 举 例 来 说, 当 Spider 访 问 一 个 网 站 ( 比 如 ) 时, 首 先 会 检 查 该 网 站 中 是 否 存 在 example.com/robots.txt 这 个 文 件, 如 果 Spider 找 到 这 个 文 件, 它 就 会 根 据 这 个 文 件 的 内 容, 来 确 定 它 访 问 权 限 的 范 围 是 robots.txt 协 议 的 Home Page, 在 这 个 站 点 上 你 可 以 找 到 很 多 robots.txt 协 议 相 关 的 资 料 Robots.txt 协 议 在 上 有 比 较 详 尽 的 描 述 你 的 任 务 就 是 编 写 Spider 中 的 一 个 逻 辑 单 元, 这 个 单 元 的 作 用 就 是 来 判 断 一 个 网 站 的 一 些 URL 是 否 被 禁 止 抓 取 对 方 网 站 的 站 点 在 这 里 假 设 是 这 个 Spider 的 User-agent 当 然 是 Baiduspider 注 意, 这 个 逻 辑 单 元 除 了 本 身 的 判 断 逻 辑 要 求 与 robots.txt 协 议 一 致 外, 还 要 注 意 容 错 的 问 题 互 联 网 上 纷 繁 芜 杂, 会 出 现 很 多 意 想 不 到 的 错 误 如 何 能 够 对 一 个 对 错 参 半 的 robots.txt 进 行 解 析, 把 其 中 正 确 的 挑 拣 出 来 把 错 误 的 部 分 忽 略 掉, 也 是 一 个 不 小 的 挑 战 哦 都 会 遇 到 什 么 错 误? 在 开 始 爬 行 互 联 网 之 前, 谁 都 不 知 道 输 入 格 式 第 一 行 是 一 个 正 整 数 m, 表 示 robots.txt 文 件 的 行 数, 后 面 跟 m 行, 是 robots.txt 的 全 文 下 一 行 包 含 一 个 正 整 数 n, 表 示 URL 的 行 数, 后 面 跟 n 行 URL, 这 个 就 是 你 要 判 断 的 URL 的 列 表 输 出 格 式 每 条 URL 输 出 一 行, 每 行 两 列, 第 一 列 是 一 个 数 字, 如 果 这 条 URL 被 禁 止, 则 输 出 0, 否 则 输 出 1 第 二 列 是 这 条 URL 本 身 输 入 样 例 2 User-agent: * Disallow: /tmp/ 输 出 样 例 评 分 方 法 本 题 包 含 20 组 数 据, 均 满 足 0<=n,m<= 关 键 思 路 : 由 于 本 题 已 无 法 找 到 当 年 比 赛 时 提 供 的 robot.txt 版 本 ( 版 本 更 新 不 一 致 ), 因 此 没 能 提 供 参 考 代 码 但 关 键 思 路 仍 然 是 通 过 自 动 机 对 所 有 的 格 式 串 进 行 匹 配, 并 注 意 特 判 字 符 * 的 匹 配 情 况 34

35 复 赛 第 四 题 : 紧 急 修 复 4.1. 题 目 背 景 2050 年 的 一 天, 某 市 k 家 公 司 的 计 算 机 系 统 突 然 同 时 瘫 痪 市 政 府 很 快 找 到 了 问 题 的 所 在, 并 开 始 研 发 一 套 自 动 修 复 整 个 城 市 的 系 统 自 动 修 复 系 统 启 用 后 整 个 城 市 的 计 算 机 系 统 将 恢 复 正 常, 但 由 于 研 发 时 间 较 长, 在 此 之 前 各 公 司 仍 将 蒙 受 不 小 的 损 失 为 此, 市 政 府 决 定 派 出 n 支 维 修 能 力 相 同 的 维 修 队 到 各 公 司 进 行 手 工 修 复, 力 图 在 自 动 修 复 系 统 启 用 前 整 个 城 市 的 总 损 失 达 到 最 小 参 数 城 市 被 划 分 成 R*C 的 网 格, 各 行 从 上 到 下 编 号 为 1~R, 各 列 从 左 到 右 编 号 为 1~C 每 个 格 子 为 空 地 障 碍 物 和 建 筑 物 之 一 ( 公 司 总 是 位 于 某 个 建 筑 物 格 子 中 ) 维 修 队 每 次 只 能 往 上 ( 行 编 号 减 1 ) 下 ( 行 编 号 加 1 ) 左 ( 列 编 号 减 1 ) 右 ( 列 编 号 加 1 ) 四 个 方 向 移 动, 第 i 个 维 修 队 每 个 小 时 可 以 移 动 s(i) 格 维 修 队 在 任 何 时 候 都 不 能 位 于 障 碍 物 中, 但 建 筑 物 可 以 从 它 上 下 左 右 的 相 邻 空 地 进 入, 也 可 以 从 这 些 格 子 出 去 注 意 : 不 能 直 接 从 一 个 建 筑 物 格 移 动 到 另 一 个 建 筑 物 格, 而 必 须 先 移 动 到 相 邻 的 空 地, 在 空 地 上 移 动, 然 后 再 进 入 另 一 个 建 筑 物 每 个 格 子 的 实 际 尺 寸 很 大, 因 此 可 以 有 多 个 维 修 队 同 时 在 同 一 个 格 子 中 第 i 家 公 司 的 位 置 为 (r(i), c(i)), 瘫 痪 程 度 为 B(i), 每 小 时 的 经 济 损 失 为 P(i) 元 瘫 痪 程 度 的 单 位 是 队 小 时, 即 一 支 维 修 队 每 小 时 可 以 把 一 个 公 司 的 瘫 痪 程 度 降 低 1, 而 如 果 m 支 维 修 队 同 时 为 一 个 公 司 修 复, 每 小 时 可 以 把 该 公 司 的 瘫 痪 程 度 降 低 m 注 意, 在 完 全 修 复 之 前, 每 个 小 时 的 经 济 损 失 不 变 修 复 计 划 政 府 的 修 复 计 划 应 包 含 每 个 小 时 各 维 修 队 所 执 行 的 命 令 这 些 命 令 包 括 : 1. REST 该 命 令 不 进 行 任 何 操 作 2. MOVE <seq> 按 照 seq 进 行 移 动 其 中 seq 为 一 个 长 度 不 超 过 s 的 非 空 字 符 串 ( 如 果 不 需 要 移 动, 请 使 用 REST 命 令 ) 如 果 seq 的 长 度 超 过 s, 则 从 第 s+1 个 字 符 开 始 的 剩 余 部 分 将 被 删 除 ; 如 果 该 命 令 不 能 完 全 成 功 的 执 行, 则 从 第 一 个 非 法 移 动 开 始 的 所 有 后 续 移 动 将 被 忽 略 3. REPAIR 对 当 前 公 司 进 行 维 修 如 果 当 前 公 司 已 经 修 复 或 者 当 前 位 置 不 是 公 司, 该 命 令 将 被 忽 略 该 命 令 后 面 加 的 所 有 参 数 将 被 忽 略 需 要 注 意 的 是, 每 个 小 时 只 能 执 行 一 条 指 令, 例 如 不 能 在 MOVE 之 后 立 刻 REPAIR, 必 须 等 待 下 一 个 小 时 输 入 格 式 输 入 的 第 一 行 为 三 个 正 整 数 R, C, T 即 网 格 的 行 数 列 数 和 自 动 修 复 系 统 的 启 用 时 间 以 下 R 行 每 行 C 个 字 符, 表 示 该 城 市 的 地 图 点 表 示 空 地, # 表 示 障 碍 物, O 表 示 建 筑 物 下 一 行 包 含 一 个 正 整 数 k, 表 示 公 司 的 数 目 以 下 k 行 每 行 四 个 整 数 r, c, B, P, 其 中 (r,c) 表 示 该 公 司 坐 标 (1<=r<=R, 1<=c<=C), B 为 该 公 司 的 初 始 瘫 痪 程 度, P 为 每 小 时 的 经 济 损 失 (r,c) 处 保 证 为 一 个 建 筑 物 格 B 和 P 保 证 大 于 0 下 一 行 包 含 两 个 正 整 数 n, s, 表 示 维 修 队 的 个 数 和 每 小 时 最 多 移 动 的 格 子 数 以 下 n 行 每 行 包 含 两 个 整 数 r, c, 表 示 该 维 修 队 的 初 始 位 置 维 修 队 按 照 输 入 文 件 中 的 顺 序 编 号 为 35

36 1~n 输 出 格 式 输 出 每 n 行 为 一 组, 描 述 一 个 小 时 各 维 修 队 的 发 出 的 命 令 共 T 组, 一 共 nt 行 所 有 格 式 非 法 的 指 令 将 被 忽 略 ( 等 效 于 REST ) 尽 管 如 此, 如 果 程 序 输 出 的 命 令 中 没 有 REPAIR, 或 者 所 有 的 REPAIR 都 没 有 成 功 执 行, 则 输 出 将 视 为 非 法 输 入 样 例 #O## #...# O...##O # 输 出 样 例 MOVE U MOVE RRRD MOVE RDRURD REPAIR MOVE DRRU MOVE DRRRU REPAIR REPAIR REPAIR REPAIR REPAIR MOVE D REST REST REPAIR 模 拟 器 每 小 时 的 模 拟 过 程 如 下 : 第 一 步 : 对 于 每 个 尚 未 修 复 的 公 司 i, 将 P(i) 累 加 进 总 损 失 第 二 步 : 按 照 序 列 从 小 到 大 的 顺 序 依 次 执 行 各 维 修 队 的 指 令 为 了 更 清 晰 的 说 明 规 则 并 帮 助 选 手 设 计 和 测 试 程 序, 命 题 组 开 发 了 一 个 简 单 的 模 拟 器 该 模 拟 器 根 据 输 入 数 据 和 程 序 输 出 进 行 模 拟, 给 出 详 细 模 拟 过 程, 以 及 最 后 的 结 果 最 终 的 测 试 将 严 格 按 照 该 脚 本 的 输 出 进 行 评 判 模 拟 器 用 python 编 写, 没 有 安 装 python 的 选 手 可 以 在 下 载 最 新 版 本 评 分 方 法 36

37 本 题 包 含 30 个 测 试 点, 每 个 测 试 点 10 分, 共 300 分 测 试 点 1~10 满 足 R, C<=10, n<=5, k<=10, B<=15, T<=30 测 试 点 11~20 满 足 R, C<=30, n<=10, k<=20, B<=50, T<=500 测 试 点 21~30 满 足 R, C<=100, n,<=100, k<=500, B<=1000, T<=10000 每 个 测 试 点 独 立 评 分 对 于 每 个 测 试 点, 非 法 输 出 的 得 分 为 0, 合 法 输 出 的 得 分 大 于 0 设 合 法 输 出 的 程 序 数 为 M, 比 程 序 i 的 方 案 严 格 更 优 的 程 序 数 为 Y(i), 则 该 测 试 点 程 序 i 的 分 值 为 10(1-Y(i)/M) 换 句 话 说, 输 出 该 测 试 点 最 优 解 的 程 序 将 获 得 10 分, 而 最 差 解 惟 一 的 情 况, 输 出 最 差 解 ( 但 合 法 ) 的 选 手 将 得 到 10/M 分 注 意 : 每 个 测 试 点 的 得 分 不 必 为 整 数 4.2. 关 键 思 路 : 本 题 是 一 个 开 放 性 题 目, 但 由 于 本 题 没 有 确 定 的 最 优 解 法 以 及 已 经 找 不 到 比 赛 时 提 供 的 模 拟 器, 因 此 没 能 提 供 源 代 码 题 目 整 体 的 思 路 如 下 : 在 进 行 模 拟 时 可 以 考 虑 对 每 个 状 态 进 行 估 价, 并 将 估 价 的 结 果 采 纳 入 决 策 当 中 一 个 状 态 的 估 价 涉 及 到 的 元 素 有 : 当 前 机 器 人 和 待 修 理 的 建 筑 物 的 距 离, 建 筑 物 的 损 失 速 度 和 修 理 程 度 等, 在 统 计 各 元 素 之 后 即 可 得 到 每 个 机 器 人 在 每 个 状 态 下 最 适 合 修 理 的 建 筑 物, 并 直 接 模 拟 即 可 注 意 如 果 一 旦 让 一 个 机 器 人 停 下 的 话, 之 后 就 可 以 直 接 将 这 个 机 器 人 删 去 ( 由 贪 心 易 证 ), 因 此 可 以 进 一 步 缩 小 规 模 由 于 算 法 复 杂 度 不 大, 可 以 采 取 非 均 匀 随 机 策 略 ( 如 令 随 机 到 的 id = r^2 * N), 其 中 r 为 [0, 1] 的 随 机 数,N 为 决 策 数, 这 样 可 以 随 机 到 估 价 更 好 的 决 策 37

38 决 赛 5.1. 题 目 : 比 赛 目 标 : 完 成 基 于 CounterStrike1.5 的 podbot AI, 在 fy_iceworld_plus, de_dust2, de_inferno 三 张 地 图 上 与 对 手 AI 展 开 较 量 Podbot 的 基 本 代 码 框 架 由 平 台 给 出, 请 选 手 自 行 参 考 研 究 有 待 完 成 的 代 码 位 于 bot_t.cpp bot_t.h bot_ct.cpp bot_ct.h 中, 各 个 函 数 功 能 与 接 口 请 选 手 参 考 代 码 中 的 注 释 说 明 比 赛 方 式 : 1. 提 交 代 码 : 请 将 bot_t.cpp bot_t.cpp bot_ct.cpp bot_ct.h 压 缩 成 一 个 rar 压 缩 文 件, 通 过 比 赛 网 站 提 交 : 第 一 二 组 使 用 第 三 四 组 使 用 第 五 六 组 使 用 2. 赛 制 : 第 一 阶 段 : 从 比 赛 开 始 至 之 后 4 小 时 整 提 交 第 一 阶 段 bot 代 码 用 于 iceworld 测 试, 测 试 结 果 将 决 定 第 二 阶 段 分 组 第 二 阶 段 : 使 用 dust2 和 inferno 两 张 地 图, 赛 程 是 由 小 组 循 环 决 出 前 八 前 八 由 淘 汰 赛 决 定 胜 负, 判 定 最 终 名 次 操 作 说 明 编 译 进 入 目 录 C:/astar2007/MSYS 双 击 运 行 msys.bat 在 msys 界 面 中 输 入 cd /c/astar2007/podbot 执 行 命 令 make, 如 果 make 成 功, 则 在.obj.win32 子 目 录 中 有 podbot_mm.dll 生 成 调 试 1. 在 代 码 中 使 用 UTIL_ServerPrint 可 以 向 console 打 印 信 息 在 游 戏 中 使 用 2. 可 以 记 录 log 文 件 以 供 分 析 检 查 之 用 运 行 1. 将 podbot_mm.dll 拷 贝 到 C:Program Files 反 恐 精 英 中 文 站 CS1.5 中 文 硬 盘 版 CS1.5 中 文 硬 盘 版 cstrikeaddonspodbot 覆 盖 原 有 文 件 即 安 装 成 功 2. 双 击 桌 面 上 的 cstrike 快 捷 方 式, 启 动 游 戏, 单 击 进 入 游 戏, 建 立 一 个 11 人 局 域 网 游 戏 进 入 游 戏 后 按 6 进 入 观 察 模 式 3. 控 制 bot (1) 按 = 7 杀 掉 所 有 自 动 bot (2) 按 = 5 添 加 bot, 选 择 godlike 且 aggressive 的 bot (3) 观 察 游 戏 结 果 按 ~ 可 以 观 察 Server 调 试 信 息 输 出 规 则 说 明 :0. 裁 判 组 拥 有 最 终 裁 定 权 1. 胜 负 判 定 原 则 (1) 地 图 为 炸 弹 图 时, 如 de_dust2 和 de_inferno 时, 以 炸 弹 是 否 成 功 爆 炸 为 胜 负 条 件 当 地 图 为 fy_iceworld_plus 时 以 杀 伤 数 为 胜 负 条 件 (2) 当 由 于 赛 程 问 题 导 致 平 局 出 现 时, 由 裁 判 组 判 定 2. 违 例 判 定 原 则 (1) AI 程 序 不 正 常 导 致 程 序 无 法 运 行 时, 经 裁 判 组 认 定 后 判 负 (2) 以 各 种 形 式 hack 对 手 数 据, 经 裁 判 组 认 定 后 判 负 38

39 5.2. 参 考 思 路 : 由 于 本 题 没 有 提 供 当 年 比 赛 时 现 场 提 供 的 AI 接 口, 因 此 无 法 提 供 源 代 码 AI 设 计 的 算 法 思 路 如 下 : 设 计 AI 时 需 要 参 照 接 口 文 档 严 格 进 行 调 用, 否 则 很 难 拿 到 AI 的 分 数 AI 的 设 计 可 以 有 多 种 风 格 : 狙 击 型, 冲 锋 型, 埋 伏 型, 等 等 具 体 的 AI 设 计 时, 仍 然 需 要 对 当 前 的 状 态 进 行 估 价, 并 可 以 结 合 模 拟 退 火 或 随 机 调 整 来 得 到 比 较 理 想 的 决 策, 决 策 方 法 可 以 与 复 赛 中 的 题 目 进 行 参 照 当 然 对 于 专 业 的 CS 游 戏 的 AI, 需 要 考 量 的 因 素 非 常 多, 在 短 短 的 比 赛 时 间 中 也 很 难 面 面 俱 到, 但 只 要 基 本 的 功 能 得 到 实 现, 并 结 合 一 些 简 单 的 策 略 即 可 百 度 之 星 2008 初 赛 一 第 一 题 : 广 告 排 名 区 间 1.1. 题 目 描 述 : shifen 广 告 消 费 预 估 系 统 可 以 估 计 出 一 段 时 间 内 一 个 特 定 的 广 告 在 检 索 结 果 中 排 在 各 个 位 置 的 几 率 比 如 系 统 对 某 广 告 的 输 出 如 下 : p1 = 0.03, p2 = 0.08, p3 = 0.04 这 说 明 该 广 告 展 现 在 第 1 位 的 概 率 是 3%, 展 现 在 第 2 位 的 概 率 是 8%, 展 现 在 第 3 位 的 概 率 是 4% 问 题 是 : 如 何 给 出 一 个 排 名 估 计 区 间 [i, j], 使 得 广 告 出 现 在 该 区 间 中 的 概 率 大 于 或 等 于 一 个 预 设 值 p, 同 时 这 个 区 间 所 包 含 的 元 素 尽 可 能 的 少 也 可 用 数 学 语 言 来 描 述 : 给 定 数 p 和 数 列 p1, p2,, pn, 求 i 和 j (1 <= i <= j <= n), 在 满 足 pi + pi pj >= p 的 前 提 下 让 j-i 最 小 一 般 来 说,pi 只 需 保 留 6 位 小 数 就 足 够 了 这 样, 若 令 ai=10^6pi,a=10^6p, 则 a 和 所 有 的 ai 均 为 [0,10^6] 之 间 的 整 数 这 样 就 避 免 了 对 实 数 的 处 理 输 入 数 据 : 第 一 行 包 含 一 个 整 数 n (1 <= n <= 100,000) 以 下 n 行 每 行 包 含 一 个 [0,10^6] 内 的 整 数, 依 次 为 a1,a2,,an 这 n 个 整 数 之 和 保 证 不 超 过 10^6 最 后 一 行 包 含 一 个 [0,10^6] 内 的 整 数 a 保 证 所 有 ai 之 和 不 小 于 a 输 出 数 据 : 输 出 仅 一 行, 包 含 一 个 整 数, 即 j i 的 最 小 值 评 分 标 准 : 程 序 输 出 结 果 是 否 正 确 39

40 1.2. 关 键 思 路 : 问 题 为 :min(j-i: _{i}^{j}p[k]>=a) 记 sum[i]= _{1}^{i}p[i]; =>min(j-i:sum[i]-sum[j-1]>=a) 由 于 p[i]>0, 则 sum[i] 严 格 单 调 增 可 以 枚 举 i, 二 分 出 最 小 的 使 得 sum[j]-sum[i]>=a 成 立 的 j 这 时 候 区 间 [i+1,j] 即 为 在 当 前 i 条 件 下 满 足 (j)-(i+1) 最 小 的 符 合 条 件 的 解 更 新 答 案 即 可 初 赛 一 第 二 题 :LZW 网 页 判 重 2.1. 题 目 描 述 : 有 一 种 简 单 的 网 页 判 重 的 方 法, 通 过 求 两 个 网 页 内 容 的 最 长 公 共 子 序 列 (LCS) 长 度 来 判 定 两 个 网 页 的 相 似 程 度 如 : ( 网 页 A) 老 师 : 请 用 果 然 造 句 ( 网 页 B) 学 生 : 先 吃 水 果, 然 后 喝 汽 水 它 们 的 最 长 公 共 子 序 列 为 果 然, 长 度 为 2 注 意 这 里 的 子 序 列 并 不 要 求 连 续 类 似 的, 下 面 两 个 网 页 : ( 网 页 A) 老 师 : 请 用 果 然 造 句 ( 网 页 B) 学 生 : 先 吃 水 果, 然 后 喝 汽 水, 果 然 拉 肚 子 最 长 公 共 子 序 列 还 是 果 然, 长 度 为 2 但 不 难 看 出, 由 于 果 然 两 个 字 在 网 页 B 中 也 曾 连 续 出 现, 第 二 组 网 页 比 第 一 组 更 加 相 似 为 了 区 分 开 这 两 种 情 况 的 区 分 度, 我 们 改 用 一 种 称 为 LZW 的 理 论 为 了 严 格 的 叙 述 相 似 度 的 计 算 方 法, 我 们 首 先 定 义 文 本 单 元 假 定 网 页 用 一 个 不 包 含 空 白 字 符 ( 空 格 回 车 换 行 水 平 制 表 符 ) 的 字 符 串 来 表 示 它 只 包 含 纯 文 本, 没 有 标 签 在 计 算 相 似 度 之 前, 你 应 该 首 先 对 该 字 符 串 进 行 处 理, 划 分 成 一 个 个 文 本 单 元 每 个 文 本 单 位 可 以 是 一 个 中 文 字 英 文 单 词 ( 由 一 个 或 多 个 连 续 的 半 角 英 文 字 母 和 数 字 组 成, 正 规 表 达 式 为 [a-za- Z0-9]+) 或 者 一 个 标 点 符 号 根 据 上 述 定 义, 同 一 个 标 点 符 号 的 全 角 和 半 角 应 该 被 作 为 不 同 的 文 本 单 元, 尽 管 他 们 看 起 来 可 能 很 相 近 ; 每 个 单 独 全 角 英 文 和 全 角 数 字 都 应 该 被 看 成 一 个 单 独 的 文 本 单 元, 而 连 续 的 半 角 英 文 字 母 和 数 字 应 被 看 成 一 个 整 体 总 之, 全 角 的 字 符 可 以 与 中 文 字 同 等 对 待 这 样, 网 页 被 看 成 文 本 单 元 序 列 例 如, 网 页 内 容?123456??web2.00# 切 分 出 的 文 本 单 元 序 列 为 ( 为 了 显 示 方 便, 用 下 划 线 分 隔 各 文 本 单 元 ): 内 _ 容 _?_1_2_345_6_?_?_web2_._00_# 而 网 页 why 内 容 相 似?? ,web#00 的 切 分 结 果 为 : why_ 内 _ 容 _ 相 _ 似 _?_?_ _,_web_#_00 黑 体 部 分 给 出 了 两 个 网 页 的 一 个 公 共 子 序 列 注 意 内 容?? 分 别 在 两 个 网 页 中 都 是 连 续 出 现 的 文 本 单 元 为 了 奖 励 这 种 情 况,LZW 规 定 一 段 由 连 续 k 个 文 本 单 元 组 成 的 字 符 串 权 值 为 k2 在 刚 才 的 例 子 中, 内 容?? 的 权 值 均 为 4 但 00 是 一 个 数 字 串, 应 当 被 看 成 一 个 单 独 的 文 本 单 元 所 以 权 值 仅 为 1 40

41 根 据 上 述 规 则, 公 共 子 序 列 内 容?? 00 的 权 值 为 =9 在 所 有 可 能 的 子 序 列 中, 这 个 权 值 是 最 大 的 给 定 两 个 网 页, 求 他 们 的 LZW 相 似 度, 即 所 有 可 能 的 公 共 子 序 列 中 的 最 大 权 值 注 意 1) 输 入 的 网 页 内 容 以 GBK 编 码 2) 除 了 大 小 写 英 文 字 母 和 数 字 之 外 的 其 他 半 角 字 符 均 视 为 标 点 符 号 输 入 数 据 : 包 含 两 行, 分 别 是 网 页 A 和 B 对 应 的 字 符 串 ( 不 包 含 空 白 字 符 ) 每 行 至 少 包 含 5 个 字 节, 最 多 包 含 200 个 字 节 输 出 数 据 : 输 出 仅 一 行, 包 含 一 个 整 数, 为 两 个 网 页 的 LZW 相 似 度 评 分 标 准 : 程 序 输 出 结 果 是 否 正 确 2.2. 关 键 思 路 : 首 先 将 数 据 按 照 题 意 分 割 题 目 有 点 像 最 大 公 共 子 序 列 但 由 于 连 续 的 计 算 为 k^2 所 以 需 要 增 加 一 维 表 示 之 前 连 续 的 次 数, 为 dp[i][j][k] 表 示 串 1 在 i 处, 串 2 在 j 处, 且 之 前 连 续 k 次 转 移 为 dp[i][j][0] = max(dp[i-1][j][1~len],dp[i][j-1][1~len]) if(s[i-1] == t[j-1]) dp[i][j][k(k>0)] = dp[i-1][j-1][k-1] + (k*k-(k-1)*(k-1)); 答 案 即 为 max (dp[len_s][len_t][0~len]) 初 赛 一 第 三 题 : 钉 子 与 木 板 3.1. 题 目 描 述 : 墙 上 有 n 个 钉 子, 编 号 为 1, 2,..., n 其 中 钉 子 i 的 横 坐 标 为 i, 纵 坐 标 初 始 为 xi 可 以 进 行 两 种 操 作 : 0 k v: 移 动 操 作 竖 直 移 动 钉 子 k, 坐 标 变 为 (k, v) 1 s t v: 测 试 操 作 若 在 高 度 为 v 处 放 一 块 横 坐 标 范 围 是 [s,t] 的 水 平 木 板, 它 将 下 落 到 什 么 高 度? 换 句 话 说, 求 出 钉 子 s, s+1, s+2,, t 的 纵 坐 标 中, 不 超 过 v 的 最 大 值 如 果 这 些 钉 子 的 高 度 全 部 大 于 v, 则 木 板 将 落 到 地 上, 高 度 为 0 注 意, 在 测 试 操 作 时, 水 平 木 板 只 是 用 来 测 试 的 临 时 木 板, 将 在 测 试 后 立 即 被 拿 走, 不 会 影 响 到 后 续 测 试 工 作 输 入 数 据 : 第 一 行 包 含 两 个 整 数 n, m, 即 钉 子 的 个 数 和 操 作 的 个 数 (1<=n,m<=10^5) 以 下 n 行 每 行 一 个 不 超 过 10^9 的 非 负 整 数, 即 xi 以 下 m 行 为 各 操 作 (1 <= k <= n, 1 <= s < t <= n, 1 <= v <=10^9 ) 41

42 输 出 数 据 : 按 照 输 入 的 顺 序, 对 于 每 个 测 试 操 作 输 出 一 个 整 数, 即 该 测 试 水 平 木 板 的 最 后 高 度 评 分 标 准 : 程 序 输 出 结 果 是 否 正 确 3.2. 关 键 思 路 : 在 线 段 树 的 每 一 个 节 点 中 维 护 一 个 multiset, 记 录 对 应 区 间 内 所 有 钉 子 的 高 度 Mutliset 可 以 在 O(logn) 的 时 间 复 杂 度 内 查 询 小 于 等 于 某 个 数 的 最 大 值 修 改 钉 子 高 度 的 时 候, 沿 着 根 节 点 到 叶 节 点, 从 multiset 中 删 掉 原 来 的 钉 子 的 高 度, 加 入 新 的 钉 子 的 高 度, 时 间 复 杂 度 为 O(lognlogn) 查 询 区 间 内 小 于 等 于 limit 的 最 大 值, 在 线 段 树 中 查 询 的 时 候 只 要 查 询 对 应 节 点 的 multiset 中 小 于 等 于 limit 的 最 大 值 即 可, 时 间 复 杂 度 为 O(lognlogn) 总 共 m 个 操 作, 总 的 时 间 复 杂 度 为 O(mlognlogn), 空 间 复 杂 度 为 O(nlogn) 初 赛 二 第 一 题 : 圆 内 五 角 星 4.1. 题 目 描 述 : 如 图, 一 个 半 径 为 1 的 圆 周 上 有 5 个 点 按 角 度 制 给 出 5 个 点 的 极 角 Ai(0<=Ai<360, i=1..5) 按 下 图 的 方 法 连 成 一 个 五 角 星, 计 算 圆 被 切 割 成 的 11 个 部 分 面 积 的 方 差 具 体 地 说, 假 定 11 个 区 域 的 面 积 分 别 为 S1,S2,..., S11, 那 么 面 积 的 均 值 计 算 方 法 为 : M = (S1+S2+...+S11 ) / 11 面 积 的 方 差 计 算 方 法 为 : D = ((S1-M)2 + (S2-M) (S11-M)2) / 11 输 入 数 据 : 输 入 仅 一 行, 包 含 5 个 [0,359] 内 的 互 不 相 等 的 整 数 输 出 数 据 : 输 出 仅 一 行, 包 含 一 个 实 数, 即 各 部 分 面 积 的 方 差 输 出 保 留 小 数 点 后 4 位 42

43 评 分 标 准 : 程 序 输 出 结 果 是 否 正 确 4.2. 关 键 思 路 : 本 题 题 目 意 思 直 接, 按 部 就 班 的 求 出 每 一 块 的 面 积 即 可 朴 素 算 法 为 首 先 求 出 中 间 相 交 得 到 的 五 个 点, 然 后 通 过 求 出 扇 形 面 积 来 求 弓 形 面 积, 然 后 可 以 求 出 10 个 三 角 形 面 积,5 个 弓 形 面 积 剩 下 的 五 边 形 面 积 也 较 好 求 解 标 程 为 了 稳 妥 起 见, 采 取 了 检 验 过 正 确 性 的 代 码 area(r,info) 返 回 的 是 以 (0,0) 为 圆 心,r 为 半 径 的 圆 与 多 边 形 info 的 面 积 交 对 每 个 圆 上 的 点 构 造 切 线, 相 邻 两 点 的 切 线 的 交 点, 这 样 弓 形 面 积 可 以 转 化 为 多 边 形 与 圆 的 面 积 初 赛 二 第 二 题 : 传 输 方 案 规 划 5.1. 题 目 描 述 : 面 对 艰 巨 复 杂 的 技 术 挑 战, 百 度 所 崇 尚 的 系 统 设 计 哲 学 是 简 单 可 依 赖, 而 百 度 的 工 程 师 们 正 在 互 联 网 世 界 中 实 践 着 这 种 理 念 这 里 正 好 有 一 个 挑 战, 让 作 为 百 度 之 星 的 你 小 试 牛 刀 : 在 处 理 数 以 百 亿 计 的 网 络 信 息 的 过 程 中, 有 一 个 很 常 见 的 问 题 : 怎 么 样 将 一 个 集 群 上 的 信 息 以 最 低 的 成 本 传 输 到 另 外 一 个 集 群 上? 数 据 源 集 群 A 有 n 台 服 务 器, 编 号 为 1, 2,..., n,i 号 服 务 器 上 待 传 输 的 数 据 量 为 Ai, 单 位 是 GB 目 的 地 集 群 B 有 m 台 服 务 器, 编 号 为 1, 2,..., m,j 号 服 务 器 上 的 空 闲 容 量 为 Bj, 单 位 为 GB A 集 群 的 i 号 服 务 器 上 的 每 GB 数 据 对 于 B 的 集 群 的 j 号 服 务 器 收 益 为 Vi,j, 从 A 集 群 的 i 号 服 务 器 向 B 集 群 的 j 号 服 务 器 传 输 1GB 数 据 的 开 销 为 Ci,j 你 的 任 务 是 在 保 证 A 中 的 所 有 数 据 传 输 完 毕 的 前 提 下, 性 价 比 V/C 尽 量 高 其 中 V 为 所 有 数 据 在 B 集 群 上 的 价 值 之 和,C 为 总 开 销 换 句 话 说, 若 A 集 群 的 i 号 服 务 器 向 B 集 群 的 j 号 服 务 器 发 送 了 Ti,j 个 GB 的 数 据 (Ti,j 不 一 定 是 整 数 ), 则 性 价 比 定 义 为 : 输 入 数 据 : 第 1 行 两 个 整 数 n, m(1<=n,m<=50), 即 集 群 A 和 B 各 自 的 服 务 器 台 数 第 2 行 包 含 n 个 不 超 过 100 的 正 整 数 A1,A2,,An, 即 集 群 A 中 每 台 服 务 器 的 待 传 输 数 据 量 ( 单 位 :GB) 第 3 行 包 含 m 个 不 超 过 100 的 正 整 数 B1,B2,,Bm, 即 集 群 B 中 每 台 服 务 器 所 能 接 受 的 最 大 数 据 量 ( 单 位 :GB) 第 4 ~ n+3 行 每 行 包 含 m 个 不 超 过 100 的 非 负 整 数 Vi,j, 表 示 集 群 A 的 i 号 服 务 器 中 每 GB 数 据 对 于 集 群 B 中 的 j 号 服 务 器 的 价 值 第 n+4 ~ 2n+3 行 每 行 包 含 m 个 不 超 过 100 的 正 整 数 Ci,j, 表 示 集 群 A 的 i 号 服 务 器 中 每 GB 数 据 传 输 到 集 群 B 中 的 j 号 服 务 器 所 需 要 的 开 销 输 出 数 据 : 仅 一 行, 为 最 大 性 价 比 输 出 保 留 三 位 小 数 ( 四 舍 五 入 ) 如 果 A 的 数 据 无 法 传 输 完 毕, 输 43

44 出 -1 评 分 标 准 : 程 序 输 出 结 果 是 否 正 确 5.2. 关 键 思 路 : 为 网 络 流 模 型 题 目 要 求 必 须 要 全 部 数 据 传 输 完 毕, 即 要 求 满 足 满 流 量 而 性 价 比 :V/C 为 典 型 的 分 数 规 划 问 题 令 :V = v1 + v vn C = c1 + c cn => V / C = X ( 取 最 大 ) => V = C * X => v1 + v vn = X * (c1 + c cn) => (v1 - X * c1) + (v2 - X * c2)... + (vn - X * cn) = 0 即 二 分 X, 跑 满 足 条 件 的 最 大 费 用 最 大 流, 边 费 用 为 (vn - X * cn) 当 最 大 费 用 为 0 时 候,X 取 最 大 最 大 值 即 可 初 赛 二 第 三 题 : 公 平 数 6.1. 题 目 描 述 : 如 果 一 个 整 数 的 十 六 进 制 表 示 ( 不 含 前 导 0) 中, 前 一 半 数 字 之 和 等 于 后 一 半 数 字 之 和, 我 们 称 它 为 公 平 数 注 意, 如 果 该 数 的 十 六 进 制 表 示 中 包 含 奇 数 个 数 字, 则 正 中 间 的 数 字 既 不 属 于 前 一 半, 又 不 属 于 后 一 半 例 如 在 十 六 进 制 下 1+D=7+7, 因 此 1DE77 是 公 平 数 数 字 E 并 不 参 与 计 算 再 例 如, 所 有 单 个 数 字 的 十 六 进 制 数 ( 即 0~F) 均 为 公 平 数, 但 F0 不 是 ( 不 能 把 F0 补 充 前 导 0 写 成 0F0, 进 而 认 为 它 是 公 平 数 ) 给 出 十 六 进 制 数 K, X, Y 和 十 六 进 制 数 字 集 合 S, 求 区 间 [X, Y] 之 内, 有 多 少 个 公 平 数 满 足 : 十 六 进 制 表 达 式 ( 不 包 含 前 导 0) 中 每 个 数 字 均 在 集 合 S 中 并 且 为 K 的 倍 数 输 入 数 据 : 输 入 第 一 行 为 数 字 集 S, 包 含 0~9 以 及 大 写 字 母 A~F 每 个 数 字 或 字 母 最 多 出 现 一 次 第 二 行 包 含 3 个 十 六 进 制 正 整 数 K, X, Y, 均 不 超 过 10 个 数 字 ( 包 含 0~9 以 及 大 写 字 母 A~F, 不 包 含 前 导 0) 输 出 数 据 : 仅 一 行, 包 含 一 个 整 数, 即 满 足 条 件 的 公 平 数 个 数 评 分 标 准 : 44

45 程 序 输 出 结 果 是 否 正 确 6.2. 关 键 思 路 : 数 字 集 最 多 16 个 (0~9 + A~F) 而 K,X,Y 不 超 过 10 个 数 字, 也 就 是 说 Y 最 大 为 10 个 F, 为 16^10 = 2^40 = 1024^4 = 10^12 当 K 较 大 的 时 候 :K > 10^5, 直 接 枚 举, 复 杂 度 为 <= 10^7 当 K 较 小 的 时 候 : 为 数 位 dp, 枚 举 长 度 len,dp[len][sum][modk] 表 示 长 度 为 len,sum 为 前 len/2 个 数 求 和 减 去 后 len/2 个 数 求 和,modk 为 取 模 值 复 杂 度 为 len * sum * modk = 10 * (5 * 16) * 10^5 = 10^8, 实 际 采 用 记 忆 化 搜 索 复 杂 度 达 不 到 10^8 初 赛 二 第 四 题 : 成 语 纠 错 7.1. 题 目 : 题 目 描 述 : 成 语 是 中 华 民 族 的 文 化 瑰 宝, 作 为 历 史 的 缩 影 智 慧 的 结 晶 汉 语 言 的 精 华, 闪 烁 着 睿 智 的 光 芒 你 的 任 务 是 给 一 个 错 误 的 四 字 成 语 进 行 纠 错, 找 到 它 的 正 确 写 法 具 体 来 说, 你 只 允 许 修 改 四 个 汉 字 中 的 其 中 一 个, 使 得 修 改 后 的 成 语 在 给 定 的 成 语 列 表 中 出 现 原 先 的 错 误 成 语 保 证 不 在 成 语 列 表 中 出 现 有 时, 这 样 的 纠 错 结 果 并 不 惟 一 例 如 一 糯 千 金 可 以 改 为 一 字 千 金 也 可 以 改 成 一 诺 千 金 但 由 于 糯 和 诺 是 同 音 字, 一 糯 千 金 实 为 一 诺 千 金 的 可 能 性 比 较 大 因 此, 我 们 还 将 提 供 一 个 汉 字 分 类 表, 要 求 修 改 前 后 的 两 个 字 必 须 属 于 同 一 个 分 类 在 这 样 的 限 制 下, 我 们 保 证 成 语 纠 错 的 结 果 惟 一 注 意 1 汉 字 均 采 用 GBK 编 码 ( 详 见 2008 百 度 之 星 第 一 场 初 赛 题 目 02) 2 每 个 汉 字 分 类 至 少 包 含 两 个 汉 字, 同 一 个 汉 字 可 能 出 现 在 多 个 类 别 中, 同 一 类 别 的 汉 字 各 不 相 同 3 成 语 列 表 中 的 成 语 都 是 真 实 存 在 的 四 字 成 语, 未 在 分 类 表 中 出 现 的 汉 字 不 允 许 修 改 输 入 数 据 : 输 入 第 一 行 包 含 两 个 整 数 n,m(1<=n<=200, 1<=m<=20000) n 表 示 汉 字 类 别 的 个 数,m 表 示 成 语 的 个 数 以 下 n 行 每 行 用 一 个 无 空 白 分 隔 符 ( 空 格 TAB) 的 汉 字 串 表 示 一 个 分 类 中 的 所 有 汉 字 注 意, 该 汉 字 串 最 多 可 能 包 含 200 个 汉 字 以 下 m 行 为 成 语 列 表, 每 行 一 个 成 语, 恰 好 四 个 汉 字 最 后 一 行 为 待 纠 错 的 成 语, 恰 好 四 个 汉 字, 且 不 在 成 语 列 表 中 出 现 输 出 数 据 : 仅 一 行, 为 一 个 四 字 成 语 在 修 改 必 须 在 同 一 分 类 中 进 行 的 限 制 下, 输 入 数 据 保 证 纠 错 结 果 惟 一 45

46 评 分 标 准 : 程 序 输 出 结 果 是 否 正 确 7.2. 关 键 思 路 : n = 200, m = 根 据 目 标 串, 一 一 对 比 成 语 列 表, 发 现 只 有 一 个 汉 字 不 同 的 成 语, 取 出 这 个 两 个 字, 看 是 否 在 同 一 个 集 合 首 先 需 要 预 处 理 出 来 某 个 字 在 哪 几 个 集 合 内, 最 多 200 个 集 合, 用 数 组 装 着 即 可 故 复 杂 度 为 o(4*m*n) 复 赛 第 一 题 黑 白 树 1.1. 题 目 描 述 : 在 图 论 中, 包 含 n 个 结 点 ( 结 点 编 号 为 1~n).n-1 条 边 的 无 向 连 通 图 被 称 为 树 在 树 中, 任 意 一 对 结 点 间 的 简 单 路 径 总 是 惟 一 的 你 拥 有 一 棵 白 色 的 树 所 有 节 点 都 是 白 色 的 接 下 来, 你 需 要 处 理 c 条 指 令 : 1. 修 改 指 令 (0v): 改 变 一 个 给 定 结 点 的 颜 色 ( 白 变 黑, 黑 变 白 ); 2. 查 询 指 令 (1v): 询 问 从 结 点 1 到 一 个 给 定 结 点 所 经 过 的 第 一 个 黑 色 结 点 编 号 ( 假 设 沿 着 简 单 路 径 走 ) 注 意, 在 查 询 指 令 中, 必 须 从 结 点 1 而 不 是 结 点 v 出 发 如 果 结 点 1 本 身 就 是 黑 色, 查 询 指 令 应 该 返 回 1 输 入 数 据 : 第 一 行 包 含 两 个 正 整 数 n,c, 即 结 点 数 和 指 令 条 数 以 下 n-1 行, 每 行 两 个 正 整 数 (ui,vi)(1<=ui 示 结 点 ui 到 vi 之 间 有 一 条 无 向 边 以 下 c 行, 每 行 两 个 整 数 (c,v) 当 c=0 时 表 示 修 改 指 令, 其 中 v 代 表 被 修 改 的 结 点 编 号 ;c=1 时 表 示 查 询 指 令 你 的 程 序 需 要 输 出 结 点 1 到 结 点 v 之 间 路 径 的 第 一 个 黑 色 结 点 编 号 在 第 一 条 指 令 执 行 前, 所 有 结 点 都 是 白 色 的 输 出 数 据 : 对 于 每 个 查 询 操 作 (c=1 的 操 作 ), 输 出 一 行, 包 含 一 个 整 数, 即 第 一 个 黑 色 结 点 的 编 号 如 果 不 存 在 黑 色 结 点, 输 出 -1 评 分 标 准 : 程 序 输 出 结 果 是 否 正 确 1.2. 关 键 思 路 : 先 以 1 为 根 节 点 DFS, 计 算 每 个 节 点 的 入 栈 时 间 和 出 栈 时 间 把 每 个 节 点 按 照 入 栈 时 间 的 顺 序 进 行 排 序, 建 线 段 树 线 段 树 中 节 点 存 的 是 该 区 间 内, 颜 色 为 黑 色 的 节 点 的 出 栈 时 间 最 大 值 对 于 两 个 操 作 : 46

47 1. 修 改 节 点 v 颜 色 修 改 节 点 颜 色 后, 需 要 更 新 线 段 树 中 的 最 大 值 时 间 复 杂 度 2. 查 询 从 节 点 1 到 节 点 v 的 简 单 路 径 上 第 一 个 黑 色 节 点, 就 等 于 在 线 段 树 中 查 询 [1, in[i]] 这 个 区 间 内 的 最 大 的 值 所 对 应 的 节 点 如 果 最 大 值 不 为 0, 最 大 值 对 应 节 点 的 出 栈 时 间 大 于 等 于 节 点 v 的 出 栈 时 间, 那 么 该 点 就 是 答 案 时 间 复 杂 度 总 的 时 间 复 杂 度 为 复 赛 第 二 题 : 寻 找 所 有 的 同 构 象 2.1. 题 目 描 述 : 三 维 空 间 中, 为 一 个 物 体 定 义 如 下 三 种 基 本 的 变 换 : 平 移 : 物 体 沿 着 一 条 直 线 α 进 行 一 段 位 移 δ 对 于 物 体 中 的 任 意 一 点, 其 起 始 位 置 和 终 止 位 置 连 成 的 线 段 平 行 于 α, 长 度 为 δ 反 射 : 物 体 相 对 于 一 个 平 面 β 作 镜 像 对 于 物 体 中 的 任 意 一 点, 其 起 始 位 置 和 终 止 位 置 连 成 的 线 段 垂 直 于 β, 并 且 到 β 的 距 离 相 等 旋 转 : 物 体 绕 着 一 条 轴 线 γ 转 过 一 定 角 度 φ 对 于 物 体 中 的 任 意 一 点, 由 其 起 始 位 置 和 终 止 位 置 对 γ 作 垂 线, 垂 足 重 合, 垂 线 段 长 度 相 等, 并 且 两 条 垂 线 所 成 的 角 度 为 φ 物 体 A 经 过 上 述 三 种 基 本 变 换 或 基 本 变 换 的 有 限 次 组 合, 变 成 物 体 A, 若 A 与 A 完 全 重 合 ( 对 于 空 间 中 的 任 意 一 点, 如 果 它 属 于 A, 则 一 定 属 于 A, 反 之 亦 然 ), 则 称 A 为 A 的 一 个 同 构 象 需 要 注 意 的 是, 上 面 所 说 的 物 体 和 它 的 同 构 象 并 不 一 定 是 相 同 的 物 体, 可 以 理 解 为 物 体 上 的 每 个 点 都 是 有 记 号 的, 虽 然 二 者 在 形 状 体 积 位 置 上 完 全 重 合, 但 其 中 只 要 有 一 个 点 经 过 变 换 以 后 位 置 发 生 了 改 变, 就 是 不 同 的 物 体 例 如, 线 段 u 关 于 它 的 中 垂 面 做 反 射 得 到 线 段 v, 虽 然 u 和 v 在 三 维 空 间 中 重 合, 但 u 上 的 点 变 换 到 v 以 后 位 置 发 生 了 改 变, 所 以 u 和 v 是 不 同 的 物 体 从 定 义 出 发, 容 易 证 明, 同 构 象 满 足 下 面 的 3 条 性 质 : 1. 自 反 性 :A 是 A 自 身 的 一 个 同 构 象 2. 对 称 性 : 若 B 是 A 的 一 个 同 构 象, 则 A 是 B 的 一 个 同 构 象 3. 传 递 性 : 若 B 是 A 的 一 个 同 构 象,C 是 B 的 一 个 同 构 象, 则 C 是 A 的 一 个 同 构 象 推 论 : 若 B 是 A 的 一 个 同 构 象,C 也 是 A 的 一 个 同 构 象, 则 B 和 C 彼 此 互 为 同 构 象 47

48 B 和 C 都 是 A 的 同 构 象, 若 有 一 个 基 本 变 换 序 列 S 把 B 变 换 到 C, 且 满 足 对 于 任 意 点 p 属 于 B,S 把 p 变 换 到 p 自 身, 则 称 B 和 C 为 相 同 的 同 构 象 例 如, 线 段 u 绕 着 中 垂 线 旋 转 180 度 得 到 一 个 同 构 象 v, 还 可 以 关 于 中 垂 面 反 射 得 到 一 个 同 构 象 v,v 和 v 就 是 相 同 的 同 构 象 同 构 象 的 相 同 和 不 同 是 对 本 题 非 常 重 要 的 概 念 事 实 上, 由 于 B 和 C 都 是 A 的 同 构 象, 由 上 面 的 推 论,B 和 C 一 定 互 为 同 构 象, 因 此 S 是 一 定 存 在 的 那 么 B 和 C 相 同 的 唯 一 要 求 就 是 S 把 B 变 换 到 B 自 身, 其 实 同 构 象 相 同 的 本 质 就 是 B=C A 的 全 部 不 同 的 同 构 象 组 成 的 集 合 叫 做 A 的 同 构 象 集 例 如, 上 面 所 举 的 线 段 的 例 子 中,u 的 同 构 象 集 就 是 {u,v} 又 例 如, 一 个 正 三 棱 锥 的 同 构 象 集 共 有 6 个 元 素, 分 别 沿 中 轴 旋 转 度 得 到 其 中 3 个, 再 沿 图 中 的 β 平 面 做 反 射 以 后, 同 样 旋 转 又 得 到 另 外 3 个, 这 6 个 同 构 象 集 中 的 元 素 任 意 两 者 都 不 相 同 : 题 目 输 入 一 个 凸 多 面 体 的 所 有 顶 点 坐 标, 要 求 输 出 这 个 凸 多 面 体 的 同 构 象 集 所 包 含 的 元 素 个 数 输 入 的 点 至 少 有 4 个, 每 个 输 入 作 为 一 个 顶 点 可 以 唯 一 确 定 一 个 多 面 体 不 需 要 考 虑 非 凸 的 情 况, 不 需 要 考 虑 多 点 共 线 的 情 况, 也 不 要 求 处 理 所 有 点 退 化 到 一 个 平 面 多 边 形 的 情 况 但 是 有 可 能 存 在 4 个 或 以 上 的 点 共 面 多 点 共 面 的 判 断 规 则 如 下 : 四 个 点 组 成 的 四 面 体 中, 一 个 面 积 最 大 的 表 面 的 面 积 为 S1, 三 个 面 积 较 小 的 48

49 表 面 的 面 积 之 和 为 S2, 若, 则 可 认 为 四 点 共 面 若 有 更 多 的 点 共 面, 输 入 保 证 其 中 任 意 四 个 点 都 满 足 上 述 不 等 式 如 有 需 要, 可 使 用 三 角 形 面 积 的 Heron 公 式, 这 个 公 式 是 数 值 稳 定 的 : 其 中 a b c 分 别 为 三 角 形 三 边 长, 且 输 入 数 据 : 输 入 第 一 行 为 一 个 整 数, 表 示 凸 多 面 体 的 顶 点 数 n, 此 后 每 行 为 三 个 浮 点 数, 精 度 为 小 数 点 以 后 10 位 有 效 数 字, 表 示 一 个 顶 点 的 直 角 坐 标 (x,y,z), 顶 点 可 能 按 照 任 意 的 顺 序 给 出 输 入 顶 点 数 目 ;,, 均 小 于 输 出 数 据 : 输 出 只 有 一 行, 为 一 个 整 数, 表 示 同 构 象 集 元 素 的 个 数 评 分 标 准 : 程 序 输 出 结 果 是 否 正 确 2.2. 关 键 思 路 : 本 题 的 目 标 是 统 计 同 构 置 换 的 个 数 程 序 的 大 概 思 路 如 下 1 扫 出 3 维 凸 包 作 为 预 处 理 2 寻 找 该 凸 多 面 体 的 对 称 面, 存 在 则 p=2, 不 存 在 则 p=1 3 寻 找 该 凸 多 面 体 的 旋 转 轴, 第 i 个 轴 可 以 旋 转 ai 种 度 数 使 得 重 合 4 根 据 2,3 结 果 计 算 答 案 ans=p* ai 1.0 比 较 好 处 理, 拥 有 成 熟 的 时 间 复 杂 度 O(n^2) 算 法, 而 且 几 乎 不 存 在 达 到 上 界 的 数 据 2.0 最 朴 素 的 思 想 是 O(n^2) 枚 举 两 个 点 关 于 某 平 面 α ( 两 点 连 线 的 垂 直 平 分 面 ) 是 对 称 的,O(n) 的 处 理 处 所 有 点 在 α 上 投 影 的 坐 标 和 距 离 然 后 统 计 是 否 能 构 成 对 应, 总 复 杂 度 是 O(n^3lgn) 3.0 对 于 给 定 的 直 线 和 角 度, 可 以 O(1) 的 得 到 每 个 点 旋 转 后 的 坐 标, 用 set 维 护 可 以 O(nlgn) 的 确 定 能 否 以 该 度 数 旋 转 3.1 旋 转 轴 可 能 是 一 个 面 的 旋 转 轴, 面 的 个 数 是 O(n) 级 别, 对 于 一 个 面 可 以 O( 点 数 ) 的 得 到 重 心 W, 然 后 可 以 判 断 这 个 面 上 的 点 到 重 心 距 离 是 否 相 等, 如 果 相 等, 选 定 面 上 一 个 点 A, 枚 举 面 上 另 外 一 个 点 B, 以 WA,WB 的 夹 角 做 为 旋 转 角 度 根 据 3.0 进 行 判 断. 这 一 部 分 总 复 杂 度 O(n^3lgn) 3.2 旋 转 轴 还 可 能 是 由 顶 点 O(n) 个 和 棱 中 点 O(n) 构 成 的 点 集 中 两 个 点 的 连 线, 取 两 点, 可 以 枚 举 旋 转 轴, 但 是 旋 转 角 度 需 要 O(n) 处 理 出 每 个 顶 点 关 于 这 条 直 线 的 相 对 角 度 排 序 后 类 似 3.1 枚 举 角 度, 复 杂 度 O(n^4lgn) 3.? 4.0 上 述 步 骤 完 成 后 很 容 易 得 到 答 案 本 题 数 据 较 难 构 造 第 三 步 并 没 有 想 到 也 没 有 讨 论 出 较 好 的 结 果, 不 能 保 证 上 述 情 况 能 够 包 含 所 有 的 旋 转 轴 无 法 实 现 正 确 的 代 码 49

50 测 试 数 据 Input: Output: 6 复 赛 第 三 题 : 验 证 码 识 别 3.1. 题 目 描 述 : Baidu 的 论 坛 抓 取 机 器 人 小 A, 最 近 的 抓 取 表 现 越 来 越 差 了 工 程 师 小 明 发 现 原 来 是 很 多 论 坛 需 要 注 册 才 能 浏 览, 而 且 在 注 册 的 时 候 需 要 填 验 证 码 如 图 所 示 于 是 小 明 准 备 升 级 小 A 机 器 人, 让 它 能 够 自 动 识 别 验 证 码 你 能 帮 助 小 明 设 计 识 别 验 证 码 的 程 序 吗? 为 了 控 制 开 发 难 度, 这 个 版 本 只 需 要 识 别!@# %&*-+ 九 个 符 号 即 可 我 们 已 经 为 你 将 图 片 拆 分 成 100*100 个 点 的 位 图, 每 个 位 图 只 包 含 一 个 符 号, 如 下 图 所 示 的 符 号 & 同 时 为 了 让 这 个 过 程 更 有 趣 一 点, 我 们 将 程 序 设 计 成 交 互 式 的, 即 你 的 程 序 向 测 试 程 序 提 问, 50

51 通 过 测 试 程 序 的 回 答 收 集 信 息, 当 信 息 足 够 的 时 侯 输 出 解 答 即 可 例 如 :( 注 意 _ 代 表 下 划 线, 而 不 是 空 格 ) 1. 提 问 : 你 的 程 序 向 stdout 输 出 字 符 串 Q_1_3\n, 代 表 查 询 坐 标 (1,3) 点 的 黑 白 信 息 ; 2. 回 答 : 测 试 程 序 向 你 的 程 序 的 stdin 写 入 P_0\n, 代 表 (1,3) 点 的 颜 色 为 白, 同 理, 如 果 你 的 程 序 读 到 P_1\n, 代 表 (1,3) 点 的 颜 色 为 黑 ; 3. 1 和 2 步 骤 不 断 循 环, 经 过 若 干 次 交 互, 你 的 程 序 已 经 找 到 了 答 案, 则 可 以 输 出 结 果 : 你 的 程 序 向 stdout 输 出 R_&\n, 测 试 程 序 就 会 记 录 识 别 结 果 和 询 问 次 数 并 退 出 测 试 测 试 程 序 我 们 准 备 了 一 个 帮 助 你 测 试 的 客 户 端 程 序, 点 击 下 载 Test.zip, 需 要 的 jre 版 本 是 1.6.0_05, 下 载 jre 注 意 1. 识 别 单 个 图 片, 询 问 次 数 超 过 2500 次 则 不 得 分, 识 别 正 确, 且 询 问 次 数 分 数 不 高 于 500 次 得 全 分, 高 于 500 次 后 分 数 线 性 递 减 ; 2. 识 别 单 个 图 片, 交 互 总 时 间 超 过 15s 则 不 得 分 ; 3. 识 别 结 果 正 确 得 30% 的 分 数, 识 别 结 果 错 误 不 得 任 何 分 数 ; 4. 所 有 测 试 图 形 都 由 同 一 个 出 题 人 书 写, 字 体 方 向 正 放 向 上 ; 5. 尺 度 不 小 于 50 像 素, 即 主 体 符 号 无 噪 声 包 围 盒 的 长 宽 不 同 时 小 于 50 像 素 ; 6. 图 片 随 机 噪 声 点 比 例 不 高 于 15%, 图 片 上 的 黑 白 点 都 有 可 能 随 机 翻 转, 而 在 添 加 噪 声 的 过 程 中 我 们 已 经 保 证 主 体 符 号 的 含 义 是 确 定 的 ; 7.Test.zip 中 的 测 试 数 据 是 无 噪 声 的, 与 评 测 数 据 不 同, 请 特 别 注 意 3.2. 关 键 思 路 : 100 个 询 问 (10*10 采 样 ): 确 定 验 证 码 中 心 位 置 100~200 个 查 询 确 定 黑 色 格 子 大 致 分 布 : 在 已 知 的 黑 色 像 素 点 周 围 做 A* 搜 索 ( 策 略 是 找 黑 色 像 素 点 分 布 较 密 集 的 方 向 搜 索 ) 100~200 个 查 询 最 终 确 定 交 叉 数 和 交 叉 类 型 : 在 上 一 操 作 中 找 出 可 能 的 交 叉 点 ( 交 叉 点 是 周 围 的 黑 白 像 素 点 均 匀 交 叉 分 布 ), 然 后 在 可 能 的 交 叉 点 周 围 做 精 细 搜 索, 确 定 交 叉 类 型 最 后 跟 9 个 图 案 做 交 叉 点 及 交 叉 方 向 匹 配 51

52 决 赛 1.1. 题 目 : 直 升 机 大 战 Air Strike Helicopters Air Strike Helicopter 是 一 种 虚 拟 的 3D 武 装 直 升 机, 选 手 需 要 为 这 种 直 升 机 编 写 AI 控 制 程 序 控 制 飞 行 机 动, 并 使 用 火 箭 击 落 对 手 AI 控 制 的 直 升 机 比 赛 赛 制 : 赛 制 为 挑 战 赛, 选 手 可 以 在 比 赛 平 台 选 择 任 意 对 手 的 AI 进 行 挑 战, 挑 战 成 功 则 获 得 对 手 当 前 积 分 的 一 半, 挑 战 失 败 则 失 去 自 己 积 分 的 一 半, 以 最 后 总 积 分 为 排 名 决 定 最 终 名 次 接 口 : 选 手 需 要 实 现 如 下 控 制 接 口 int heli_control( struct scene_info sinfo[], struct flight_info *finfo, struct cmd_info *cmd ) sinfo 为 系 统 提 供 的 比 赛 场 景 信 息, 定 义 为 struct scene_info { int obj_num; // 障 碍 物 数 量 52

53 struct obj_info obj_arr[]; // 障 碍 物 信 息 数 组 } struct obj_info { double x; // 空 间 坐 标 x double y; // 空 间 坐 标 y double z; // 空 间 坐 标 z double r; // 物 体 半 径 r int type;// 物 体 类 型, 可 能 为 障 碍 物, 直 升 机, 对 手 火 箭, 己 方 火 箭 } finfo 为 己 方 直 升 机 状 态 struct flight_info { double x;// 空 间 坐 标 x double y;// 空 间 坐 标 y double z;// 空 间 坐 标 z double a;// 火 箭 炮 指 向 a double b;// 火 箭 炮 指 向 b double c;// 火 箭 炮 指 向 c } cmd 为 选 手 经 过 计 算 返 回 控 制 指 令 struct cmd_info { int thrust; // 旋 翼 升 力 int rotate; // 尾 桨 出 力, 用 于 改 变 航 向 0 为 居 中, 大 于 0 为 左 转 小 于 0 为 右 转 double alpha; // 旋 翼 与 主 轴 的 夹 角 double dir; // 旋 翼 偏 转 方 向,0 为 正 前 方, 右 手 原 则 int shoot; // 射 击 指 令 0 为 不 射 击 大 于 0 为 射 击 } 53

54 1.2. 解 题 思 路 : 1. 因 为 整 个 比 赛 环 境 是 仿 真 的 3D 物 理 世 界, 选 手 首 先 需 要 学 习 直 升 机 的 物 理 特 性, 建 立 利 用 用 几 个 基 本 控 制 量 控 制 直 升 机 动 作 的 方 法 2. 在 掌 握 了 直 升 机 的 基 本 控 制 的 基 础 上, 需 要 建 立 瞄 准 射 击 的 方 法, 仍 然 依 赖 对 于 直 升 机 姿 态 的 控 制 3. 在 飞 行 和 射 击 动 作 建 立 基 本 控 制 函 数 的 前 提 下, 需 要 建 立 导 航 和 策 略 模 型 有 两 种 策 略 可 供 参 考, 一 种 是 偏 向 防 守 的 固 定 策 略, 不 论 对 手 策 略 如 何, 均 在 比 赛 空 间 内 选 择 比 较 有 利 的 地 形 和 位 置 防 守, 等 待 对 手 进 入 射 击 范 围 进 行 精 确 射 击 另 一 种 是 动 态 搜 索 的 策 略, 将 比 赛 空 间 划 分 成 很 多 小 的 区 域 不 断 根 据 场 上 数 据 的 变 化 更 新 局 势 评 估, 选 择 飞 向 最 有 利 的 区 域 位 置, 同 时 不 断 评 估 是 否 有 射 击 机 会 4. 选 择 对 手 也 很 重 要, 比 赛 策 略 往 往 是 相 生 相 克 的, 选 择 比 较 容 易 的 对 手, 容 易 获 得 积 分 但 积 分 不 一 定 高, 选 择 难 的 对 手 容 易 失 去 积 分, 但 一 旦 成 功 收 获 巨 大 百 度 之 星 2009 初 赛 第 一 题 : 火 柴 游 戏 1.1. 题 目 描 述 在 百 度, 同 事 们 之 间 喜 欢 交 流 游 戏 其 中, 火 柴 游 戏 是 一 个 比 较 经 典 的 例 子 游 戏 的 规 则 很 简 单 : 恰 好 移 动 一 根 火 柴, 使 等 式 成 立 如 下 面 的 等 式 可 以 变 成 3+6=9( 还 有 其 他 解 ): 移 动 哪 一 根 火 柴 能 使 等 式 成 立? 54

55 下 面 是 所 有 火 柴 数 字 的 样 子 请 你 写 一 个 程 序, 找 出 所 有 的 规 范 解 所 谓 规 范 是 指 : * 只 能 改 变 数 字, 不 能 改 变 符 号 ; * 数 字 和 符 号 的 组 成 方 式 必 须 严 格 的 和 图 示 的 一 样 ( 减 号 由 一 根 火 柴 组 成 ); * 新 等 式 必 须 形 如 a+b=c 或 a-b=c, 其 中 a b c 都 是 不 含 前 导 0 的 非 负 整 数 当 然, 最 重 要 的 是 : 新 的 等 式 必 须 在 数 学 上 成 立 输 入 格 式 输 入 仅 一 行, 为 一 个 格 式 为 a+b=c 或 a-b=c 的 表 达 式, 其 中 a b c 均 为 不 含 前 导 0 的 非 负 整 数 表 达 式 长 度 不 超 过 100, 且 不 含 空 白 字 符 因 此, 加 号 / 减 号 紧 跟 在 a 的 后 面 b 紧 跟 在 加 号 / 减 号 的 后 面 等 号 紧 跟 在 b 的 后 面 c 紧 跟 在 等 号 的 后 面 输 出 格 式 输 出 所 有 规 范 解, 按 字 典 序 输 出 ( 请 注 意 : 输 出 顺 序 不 对 将 不 得 分 ) 无 解 时, 仅 输 出 一 行 -1 样 例 输 入 1 9+5=9 样 例 输 出 1 3+5=8 3+6=9 55

56 样 例 输 入 2 1+1=2 样 例 输 出 2-1 测 试 数 据 共 10 个 测 试 点, 基 本 参 数 如 下 表 : 测 试 点 编 号 表 达 式 的 长 度

57 裁 判 问 答 : Q: 第 一 题 的 表 达 式 长 度 不 是 只 有 5 吗? A: 可 以 多 位 整 数 Q: 把 某 根 移 出 来 再 移 到 原 来 的 位 置 上 算 不 算 移 动? A: 不 算 1.2. 解 题 思 路 : 首 先 处 理 每 一 个 数 字 在 被 拿 走 一 根 火 柴 之 后, 可 能 与 哪 些 数 字 变 成 新 的 数 字 枚 举 给 出 的 运 算 数 字 中 的 每 一 位 数 字, 再 枚 举 从 其 中 拿 走 火 柴 后 和 哪 一 位 数 字 进 行 变 化, 若 变 化 后 等 式 两 端 值 相 等 则 记 录 初 赛 第 二 题 : 电 子 商 务 平 台 商 品 推 荐 问 题 2.1. 题 目 百 度 网 络 交 易 平 台 ( 百 度 有 啊 ) 是 建 立 在 百 度 旗 下 独 有 的 搜 索 技 术 强 大 社 区 资 源 基 础 上 的 中 文 互 联 网 领 域 最 具 规 模 的 网 上 个 人 C2C 交 易 平 台 伴 随 着 百 度 有 啊 的 成 长, 有 啊 的 顾 客 也 蜂 拥 而 至 ; 面 对 如 此 大 量 的 用 户, 如 何 把 平 台 上 数 以 千 万 计 的 商 品 按 一 定 的 规 则 推 荐 给 他 们 以 促 成 交 易, 是 百 度 有 啊 面 临 的 重 要 问 题 在 本 题 中, 假 设 有 M 个 用 户 和 N 种 产 品, 每 个 用 户 的 浏 览 历 史 可 以 用 一 个 N 维 特 征 向 量 X 描 述 : Xi=1 当 且 仅 当 该 用 户 曾 经 浏 览 过 商 品 i 如 果 用 户 A 和 用 户 B 曾 浏 览 过 ( 部 分 ) 相 同 的 商 品, 我 们 说 用 户 A 和 用 户 B 相 似 ; 如 果 用 户 A 和 用 户 B 相 似, 或 者 用 户 A 和 一 个 与 用 户 B 相 似 的 用 户 相 似, 则 需 要 把 用 户 A 和 用 户 B 划 分 到 同 一 个 用 户 群 该 用 户 群 中 所 有 用 户 的 特 征 向 量 的 按 位 或 便 是 整 个 用 户 群 的 特 征 向 量 它 表 示 至 少 被 其 中 一 个 用 户 浏 览 过 的 商 品 集 合 每 当 一 个 新 用 户 到 来 时, 可 以 计 算 出 它 和 所 有 用 户 群 之 间 的 相 似 度 假 定 他 的 特 征 向 量 为 A, 用 户 群 的 特 征 向 量 为 B, 则 : 其 中 计 算 特 征 向 量 模 长 时 使 用 的 是 二 范 数, 即 所 有 维 度 数 值 的 平 方 和 的 算 术 平 方 根 接 下 来, 我 们 应 找 出 该 用 户 最 接 近 的 用 户 群, 并 从 该 用 户 群 购 买 过 的 商 品 中 选 三 个 商 品 进 行 推 荐 一 般 来 说, 一 个 商 品 被 购 买 的 次 数 越 多, 就 越 应 该 被 优 先 推 荐 ( 若 购 买 次 数 相 同, 优 先 推 荐 id 值 小 的 商 品 ), 但 为 了 避 免 马 太 效 应, 我 们 需 要 做 一 个 特 殊 处 理 : 不 推 荐 最 畅 销 的 商 品 ( 如 果 有 多 个 商 品 的 购 买 次 数 都 是 最 多 的, 则 它 们 都 不 应 该 被 推 荐, 为 简 单 计, 如 果 所 有 商 品 的 购 买 次 数 都 一 样 的 话 就 都 不 推 荐 了 ) 另 外, 推 荐 给 用 户 的 商 品 不 能 是 他 已 经 购 买 过 的 商 品 57

58 如 果 从 最 接 近 的 用 户 群 中 无 法 推 荐 出 三 个 商 品, 应 从 次 接 近 的 用 户 群 购 买 的 商 品 中 以 相 同 的 规 则 补 充, 以 此 类 推, 直 到 选 出 三 个 推 荐 商 品, 或 者 无 法 选 出 更 多 商 品 测 试 数 据 保 证 任 何 一 个 用 户 不 会 跟 两 个 不 同 用 户 群 的 相 似 度 相 同, 因 此 商 品 推 荐 的 结 果 总 是 惟 一 的 注 意 : 如 果 用 户 浏 览 记 录 跟 某 用 户 群 的 相 似 度 为 0, 则 在 任 何 情 况 下 都 不 从 该 用 户 群 购 买 的 商 品 中 推 荐 输 入 格 式 第 1 行 :M N, 分 别 是 平 台 用 户 数 和 商 品 总 数 0 < M,N <= 第 2 行 :K, 表 示 接 下 来 有 K 行 记 录 0 < K <= 第 3~K+2 行, 每 一 行 是 一 次 用 户 的 浏 览 - 购 买 记 录, 记 录 格 式 为 : uid i1,i2,,ip b1,b2,,bq 其 中 uid 是 不 超 过 M-1 的 非 负 整 数, 代 表 用 户 id i 为 本 次 浏 览 的 商 品 id 集 合 ( 无 重 复 元 素, 元 素 顺 序 无 意 义 ), 而 b 为 该 用 户 在 此 次 浏 览 后 购 买 的 商 品 集 合 ( 无 重 复 元 素, 元 素 顺 序 无 意 义 ) i 中 的 每 个 元 素 均 为 不 超 过 N-1 的 整 数,b 是 i 的 子 集 q <= p <= 50 注 意 : 同 一 个 用 户 ID 可 以 对 应 多 条 记 录 第 K+3 行 :Q, 表 示 接 下 来 有 Q 次 查 询 0 < Q <= 125 第 K+4~K+Q+3 行 : 每 一 行 是 一 次 用 户 的 浏 览 记 录, 格 式 为 uid i1,i2,,ip 含 义 类 似 于 浏 览 - 购 买 记 录 注 意 : 用 户 群 划 分 方 式 完 全 取 决 于 第 3 行 开 始 的 K 条 记 录 这 里 的 查 询 不 会 导 致 用 户 群 划 分 方 式 的 变 化 ( 在 实 际 的 系 统 中, 用 户 群 数 据 也 是 定 期 更 新, 而 非 实 时 修 改 ) 输 出 格 式 对 每 个 查 询 输 出 一 行, 为 推 荐 的 最 多 三 个 商 品 的 id( 为 不 超 过 N-1 的 非 负 整 数 ), 按 推 荐 度 降 序 排 列 如 果 没 有 任 何 可 推 荐 的 商 品, 输 出 NONE; 如 果 有 商 品 可 推 荐, 但 不 足 三 个, 应 全 部 输 出 样 例 输 入 ,1, ,4,5 3,4 2 1, ,7 6,7 4 8, ,10 8,

59 ,1,2 1 0,1,2,6 3 8,9 样 例 输 出 PS: 原 样 例 有 错, 于 22:45 分 修 正 样 例 样 例 解 释 首 先 对 购 买 历 史 进 行 预 处 理 形 成 用 户 群, 然 后 对 每 个 用 户 群 购 买 的 商 品 按 购 买 次 数 进 行 排 序, 结 果 如 下 : 用 户 群 ID 用 户 ID 浏 览 过 的 商 品 ID 集 合 购 买 的 商 品 ID 0 0,1,2 0,1,2,3,4,5,11 1(2 次 ),3,4,11 1 3,8 6,7 6(2 次 ),7 2 4,5 8,9,10 8(2 次 ),10 接 下 来 处 理 查 询 59

60 输 入 :0,1,2 输 出 :3,4,11 此 浏 览 记 录 与 用 户 群 0 最 接 近 根 据 规 则 推 荐 3,4,11 (1 是 最 畅 销 商 品, 不 推 荐 ; 对 于 被 购 买 数 量 相 同 的 商 品 3 和 4, 优 先 推 荐 id 值 小 的 商 品 ) 输 入 :0,1,2,6 输 出 :7,11 此 浏 览 记 录 与 用 户 群 1 最 接 近, 根 据 规 则 推 荐 7(6 是 最 畅 销 商 品, 不 推 荐 ); 由 于 不 足 三 个 商 品, 从 次 接 近 的 用 户 群 中 推 荐, 推 荐 11 (1 是 最 畅 销 商 品,3 4 是 购 买 过 的 商 品 ); 仍 然 不 足 三 个 商 品, 但 是 已 无 更 多 商 品 可 以 推 荐 输 入 :8,9 输 出 :10 此 浏 览 记 录 与 用 户 群 2 最 接 近, 根 据 规 则 推 荐 10; 不 足 三 个 商 品, 但 是 已 无 更 多 商 品 可 推 荐 2.2. 解 题 思 路 1 本 题 主 要 是 一 道 码 力 题, 没 有 太 多 的 算 法 性 整 场 比 赛 只 有 三 个 人 满 分, 题 解 的 代 码 为 lunarmony 的 满 分 代 码 2 本 题 需 要 的 算 法 知 识 主 要 是 对 于 并 查 集 的 基 本 使 用 最 大 的 难 点 我 想 是 在 对 输 入 输 出 很 多 细 节 的 考 虑 上, 详 情 请 参 考 代 码 3 另 外 一 个 小 技 巧 是 将 相 似 度 的 计 算 转 化 为 位 操 作, 提 高 了 速 度 具 体 说 来, 一 个 id, 用 它 除 20 的 商 做 数 组 下 标, 余 数 做 数 组 的 值 初 赛 第 三 题 : 葫 芦 娃 3.1. 题 目 描 述 蝎 子 精 和 蛇 精 为 祸 人 间, 葫 芦 七 兄 弟 准 备 与 之 决 一 死 战 不 幸 的 是, 七 弟 不 慎 被 两 只 妖 精 抓 住, 困 在 了 蛇 蝎 山 的 囚 笼 里, 其 余 六 兄 弟 必 须 尽 快 去 营 救 二 娃 使 用 千 里 眼, 查 看 到 七 弟 被 囚 的 位 置, 但 蛇 蝎 山 地 势 复 杂, 机 关 遍 布, 如 何 才 能 又 快 又 安 全 的 把 七 弟 救 出 来 呢? 于 是, 六 兄 弟 请 您 来 帮 忙 了 在 二 娃 的 帮 助 下, 大 家 先 绘 制 了 一 张 蛇 蝎 山 的 地 图, 并 把 能 安 全 停 留 的 地 方 以 点 标 记 你 很 快 就 发 现, 这 些 安 全 点 组 成 了 一 个 六 邻 接 图 每 个 点 都 与 左 上 左 左 下 右 下 右 右 上 六 个 点 等 距 于 是, 你 以 其 中 两 条 坐 标 轴 : 左 右 和 左 上 右 下, 给 各 点 设 置 坐 标 ( 见 图 1) 只 要 把 囚 笼 的 六 个 邻 接 点 都 占 了, 然 后 六 兄 弟 一 起 施 法, 就 能 把 七 弟 营 救 出 来 图 1. 六 邻 接 图 及 坐 标 虽 然 已 经 有 了 地 图, 但 怎 样 走 才 能 最 快 的 把 七 弟 救 出 来 呢? 葫 芦 兄 弟 告 诉 你, 他 们 有 两 种 移 动 方 式 : 1 跑 步 可 在 一 单 位 时 间 移 动 一 单 位 距 离, 即 从 一 个 点 移 动 到 某 个 邻 接 点 ( 见 图 2) 60

61 图 2. 跑 步 移 动 示 意 图 2 翻 跟 头 可 在 一 单 位 时 间 沿 着 一 个 坐 标 轴 方 向 移 动 多 个 单 位 距 离, 但 其 飞 过 的 每 个 点 上 都 必 须 有 葫 芦 兄 弟 站 在 那 里 施 法 例 如, 在 点 (0,0) 和 点 (1,1) 都 有 葫 芦 娃, 那 么 位 于 点 (2,2) 的 葫 芦 娃 便 可 在 兄 弟 的 帮 助 下, 沿 着 左 下 右 上 坐 标 轴 直 接 翻 跟 头 到 点 (-1,-1)( 见 图 3) 图 3. 翻 跟 斗 移 动 示 意 图 另 外, 为 了 不 引 起 妖 精 的 注 意, 每 一 单 位 时 间 最 多 只 有 一 个 葫 芦 娃 能 移 动, 且 每 个 点 上 只 能 站 一 个 葫 芦 娃 由 于 葫 芦 兄 弟 心 灵 相 通, 被 囚 的 七 弟 也 能 为 兄 弟 施 法 六 个 葫 芦 娃 的 出 发 位 置 为 (0,0),(1,0),(2,0),(1,1),(2,1),(2,2) 如 果 按 照 最 快 的 方 案, 六 兄 弟 需 要 多 长 时 间 才 能 救 出 七 弟 呢? 输 入 格 式 输 入 仅 包 含 一 行, 包 含 两 个 整 数 X, Y, 表 示 囚 禁 七 弟 的 位 置 只 要 把 此 点 的 六 个 邻 接 点 都 占 了, 就 能 把 七 弟 救 出 来 (X,Y) 不 会 和 上 述 六 个 出 发 点 重 合 0 <= X, Y < 7 61

62 输 出 格 式 输 出 一 行, 包 含 一 个 整 数, 即 营 救 的 最 短 时 间 样 例 输 入 样 例 输 出 1 4 样 例 输 入 样 例 输 出 2 8 样 例 输 入 样 例 输 出 3 14 测 试 数 据 共 30 组 数 据, 输 出 结 果 近 似 在 [0,16] 内 均 匀 分 布 3.2. 解 题 思 路 : 62

63 题 目 给 出 了 6 兄 弟 的 初 始 位 置 和 七 弟 的 位 置 可 以 想 到 每 次 将 离 七 弟 最 远 的 葫 芦 娃 移 动 到 较 近 的 位 置 是 最 优 的 情 况 所 以 我 们 先 将 能 移 动 的 6 个 方 向 记 录,bfs 求 出 每 个 位 置 到 七 弟 的 距 离 然 后 进 行 搜 索 在 搜 索 的 过 程 中, 我 们 每 次 将 距 离 七 弟 最 远 的 葫 芦 娃 移 动, 并 且 利 用 之 前 求 得 的 距 离 限 制 来 保 证 葫 芦 娃 不 会 移 动 到 更 远 的 位 置 在 移 动 的 过 程 中 判 断 目 前 的 状 态 是 否 已 满 足 要 求, 是 则 更 新 答 案 ans, 若 目 前 dfs 的 步 数 >=ans, 那 么 可 以 直 接 返 回 步 数 的 初 始 限 制 定 位 题 目 中 提 到 的 16 即 可 求 得 答 案 初 赛 第 四 题 : 争 车 位 4.1. 题 目 描 述 争 车 位 是 目 前 SNS 网 站 上 比 较 热 门 的 游 戏 之 一 假 如 小 明 有 N 个 好 友 和 M 辆 车 每 个 好 友 都 有 K 个 车 位 这 些 车 位 可 能 停 放 了 小 明 的 车, 也 可 能 停 放 了 其 它 人 的 车, 还 能 没 有 停 任 何 车 辆 ( 空 车 位 ) 在 当 前 状 态 中, 小 明 的 M 辆 车 全 停 放 在 他 的 好 友 的 车 位 上 任 务 一 : 考 虑 如 下 的 移 车 规 则 : 1. 必 须 按 一 定 顺 序 依 次 移 动 自 己 的 车, 而 不 能 移 动 别 人 的 车 2. 每 辆 车 只 可 以 移 动 一 次 3. 车 只 能 从 原 来 的 位 置 移 到 空 车 位 处, 不 能 移 动 到 一 个 已 停 放 了 车 的 车 位 ( 无 论 这 辆 车 是 谁 的 ) 移 动 后, 原 来 的 位 置 就 成 了 空 车 位 4. 只 能 跨 好 友 移 车 也 就 是 说, 一 辆 车 不 能 从 某 好 友 的 车 位 移 到 这 个 好 友 的 另 一 车 位 请 帮 助 小 明 把 他 的 所 有 M 辆 车 都 移 动 一 遍 任 务 二 : 考 虑 如 下 的 移 车 规 则 : 1. 每 个 车 位 都 对 应 一 个 金 额 当 小 明 把 一 辆 车 最 终 停 在 某 个 车 位 时, 将 会 得 到 该 车 位 对 应 的 金 额 2. 不 一 定 需 要 把 所 有 车 都 移 一 遍, 但 只 有 移 动 前 后 处 于 不 同 车 位 的 车 才 能 得 到 对 应 的 金 额 3. 可 以 把 自 己 的 车 开 到 附 近 的 空 地 上 ( 那 里 足 以 停 下 他 所 有 的 车 ) 作 为 临 时 中 转 因 此 车 不 必 依 次 移 动, 每 辆 车 也 可 以 多 次 移 动 但 请 注 意 : 所 有 移 动 结 束 之 后, 每 个 车 位 最 多 只 能 停 一 辆 车 4. 和 任 务 一 相 同 的 是 : 仍 不 许 动 其 他 人 的 车, 且 每 辆 车 在 移 动 之 前 和 所 有 移 动 结 束 后 所 在 的 车 位 仍 必 须 属 于 不 同 好 友 特 别 地, 不 许 最 终 把 一 辆 车 停 到 用 于 中 转 的 那 个 空 地 上 请 帮 助 小 明 获 得 最 大 的 总 金 额 输 入 格 式 第 1 行 包 含 一 个 整 数 T, 即 任 务 编 号 (T=1 或 2) 第 2 行 包 含 两 个 整 数 N K, 分 别 表 示 小 明 的 好 友 数 和 每 个 好 友 的 车 位 数 以 下 N 行 每 行 有 一 个 包 含 K 个 字 符 的 字 符 串, 描 述 每 个 好 友 当 前 车 位 的 状 态 其 中 # 表 示 该 车 位 停 放 的 是 小 明 的 车 ; * 表 示 该 车 位 停 放 的 是 其 它 人 的 车 ;. 表 示 该 车 位 是 空 车 位 63

64 如 果 T=1, 输 入 到 此 结 束 ; 否 则 接 下 来 的 N 行 每 行 包 含 K 个 不 超 过 100 的 整 数, 分 别 表 示 每 个 车 位 对 应 的 金 额 输 入 据 至 少 有 一 辆 小 明 的 车 输 出 格 式 如 果 T=1, 输 出 任 意 可 行 的 移 车 方 案 假 如 有 M 个 步 骤, 则 第 一 行 输 出 M, 紧 接 着 M 行 表 示 M 步 的 具 体 内 容 格 式 为 :(x1,y1)->(x2,y2), 表 示 把 第 x1 个 好 友 第 y1 个 车 位 上 的 车 移 到 第 x2 个 好 友 的 第 y2 个 车 位 如 果 无 解, 输 出 -1 输 入 T=2, 输 出 一 个 数 字, 表 示 最 多 的 金 额 总 数 样 例 输 入 ##*. #** **** 样 例 输 出 1 3 (0,0)->(1,0) (1,1)->(0,3) (0,1)->(1,1) 35. 样 例 输 入

65 38. ##*# 39..#** 40. **** 41. 样 例 输 出 样 例 输 入 #* 47. #* 样 例 输 出 对 于 规 则 一 : 只 需 先 将 任 意 一 个 人 的 车 移 动 到 一 个 合 法 的 空 位 处, 然 后 将 其 他 人 的 车 移 动 到 这 个 位 置 上, 这 样 不 断 进 行 下 去 即 可 如 果 某 一 时 刻 没 有 其 他 人 的 车 可 以 放 在 这 个 空 位 而 这 个 空 位 的 拥 有 者 还 有 其 他 的 车 子 没 有 移 动 的 话 就 尝 试 这 个 人 的 其 他 车 子 移 到 其 它 空 位 处 如 果 空 位 数 量 不 足 的 话, 那 么 将 无 法 完 成 这 个 任 务, 输 出 无 解 -1 否 则 一 定 有 解 对 于 每 一 个 人 的 车 位, 我 们 总 是 从 左 向 右 处 理 这 样 只 需 将 所 有 车 位 扫 描 一 遍, 复 杂 度 对 于 规 则 二 : 我 们 只 需 贪 心 地 进 行 选 取, 将 所 有 车 位 的 金 额 从 大 到 小 排 序, 然 后 依 次 把 可 以 放 在 这 个 位 置 的 车 放 到 这 个 位 置 来 即 可 65

66 4.2. 关 键 思 路 : 首 先 询 问 数 和 一 开 始 的 初 始 值 范 围 一 样, 要 想 到 可 以 预 处 理 后 统 一 回 答 或 者 是 离 线 如 果 设 计 计 状 态 f[i,j] 表 示 已 经 拨 打 到 了 字 母 树 中 的 i 节 点, 后 面 想 拨 打 的 号 码 为 j 的 概 率 这 样 的 空 间 是 开 不 下 的 不 妨 用 P[x][i] 表 示 在 x 的 前 i 位 数 字 已 经 拨 了 的 情 况 下, 如 果 接 下 来 准 备 要 拨 的 数 字 是 x 的 后 6-i 位, 其 结 果 会 拨 到 电 话 簿 中 任 一 电 话 的 概 率, 用 整 数 表 示 这 样 就 可 以 比 较 完 美 的 解 决 此 题 初 赛 第 五 题 :Sorry, 打 错 了 5.1. 题 目 龙 先 生 是 一 位 著 名 的 记 者, 平 时 最 喜 欢 报 道 一 些 鲜 为 人 知 的 故 事 最 近, 由 于 听 说 索 马 里 海 盗 猖 獗, 他 打 算 实 地 探 访, 做 一 个 深 入 的 调 查 龙 先 生 联 系 了 索 马 里 当 地 的 一 些 朋 友, 做 了 周 密 的 计 划 坐 船 从 三 亚 出 发, 越 过 南 海, 趟 过 印 度 洋, 最 后 到 达 索 马 里 海 域 的 亚 丁 湾 可 就 在 船 离 海 岸 仅 10 公 里 时, 突 然 一 伙 海 盗 突 袭 客 船, 所 有 人 都 被 劫 持 到 了 索 马 里 城 内 在 人 质 被 运 送 到 海 盗 基 地 的 途 中, 龙 先 生 凭 着 多 年 的 经 验, 乘 海 盗 不 注 意, 跃 下 了 卡 车, 在 无 数 砰 砰 的 枪 声 中, 没 命 的 向 外 跑 去 跑 了 几 分 钟 后, 龙 先 生 突 然 看 到 一 个 电 话 厅 他 迅 速 向 电 话 厅 奔 去, 想 打 电 话 向 住 在 索 马 里 的 朋 友 求 助 然 而, 随 着 追 赶 脚 步 声 的 临 近, 龙 先 生 估 算 留 给 自 己 打 电 话 的 时 间 最 多 30 秒, 决 不 容 许 拨 错 电 话 遗 憾 的 是, 越 是 这 种 危 机 的 时 候, 越 容 易 犯 错 身 为 智 者 的 您, 请 帮 龙 先 生 算 一 算 : 当 他 打 电 话 给 一 位 朋 友 的 时 候, 恰 好 打 给 了 另 外 一 个 人 ( 不 一 定 是 他 朋 友 ) 的 概 率 是 多 少? 已 知 索 马 里 是 一 个 有 不 超 过 10 万 人 的 小 城, 电 话 号 码 只 有 6 位 输 入 格 式 第 1 行 : 索 马 里 人 数 n n <= 接 下 来 的 n 行 : 所 有 人 的 电 话 号 码 接 下 来 的 10 行 : 一 个 10*10 错 按 表, 表 示 按 a 键 时 按 成 b 键 的 概 率 ( 第 一 行 第 一 列 表 示 按 0 时 按 成 0 的 概 率, 第 一 行 第 二 列 表 示 按 0 时 按 成 1 的 概 率 所 有 的 概 率 用 整 数 0~10 表 示, 即 实 际 概 率 要 除 以 10) 下 一 行 : 索 马 里 城 中 你 的 朋 友 人 数 m m <= n 接 下 来 的 m 行 : 每 个 朋 友 的 电 话 号 码 输 出 格 式 66

67 打 给 你 的 每 一 个 朋 友 时 候, 打 通 其 他 人 的 电 话 的 概 率 ( 每 行 一 个 概 率, 乘 以 10^6 后 用 整 数 表 示 ) 输 入 样 例 输 出 样 例

68 测 试 数 据 共 10 个 测 试 点, 基 本 参 数 如 下 表 : 测 试 点 编 号 n m 初 赛 第 六 题 : 树 形 控 件 6.1. 题 目 描 述 在 本 题 中, 你 需 要 和 一 种 通 用 的 交 互 控 件 树 形 控 件 打 交 道 树 形 控 件 中 的 结 点 分 为 两 类 : 实 体 结 点 和 链 接 结 点, 后 者 类 似 于 Linux 中 的 符 号 链 接 用 户 可 以 通 过 拖 拽 节 点 改 变 树 的 结 构 用 户 在 一 个 结 点 A 上 按 下 鼠 标 左 键, 移 动 到 另 外 一 个 结 点 B 上, 松 开 鼠 标, 即 可 将 结 点 A 移 动 到 结 点 B 下 面, 作 为 B 的 最 下 方 的 儿 子 如 果 改 用 鼠 标 右 键 拖 动, 表 示 结 点 A 的 位 置 不 变, 只 是 在 结 点 B 下 创 建 一 个 到 源 结 点 A 的 链 接 结 点 树 中 的 所 有 实 体 节 点 始 终 是 全 部 展 开 的, 而 链 接 结 点 只 显 示 结 点 本 身, 不 展 开 被 链 接 的 子 树 屏 幕 是 一 个 矩 形 的 区 域, 左 上 角 是 坐 标 原 点 (0,0),x 轴 正 方 向 指 向 右, y 轴 正 方 向 指 向 下 树 的 每 个 结 点 的 高 度 为 10 个 像 素, 宽 度 为 50 个 像 素 子 结 点 相 对 父 结 点 要 向 右 缩 进 10 个 像 素 另 外, 每 个 结 点 前 都 有 一 个 展 开 / 折 叠 的 控 件, 宽 度 和 高 度 均 为 10 像 素 为 了 简 单 起 见, 这 里 所 有 的 展 开 / 折 叠 控 件 均 处 于 失 效 状 态, 不 响 应 与 此 相 关 的 用 户 事 件 换 句 话 说, 要 想 把 结 点 A 拖 拽 到 结 点 B 下, 点 击 和 释 放 时, 鼠 标 指 针 必 须 分 别 位 于 结 点 A/ 结 点 B 所 属 的 10*50 区 域 中 ( 不 能 位 于 该 矩 形 的 四 个 边 界 上 ) 如 果 点 击 或 释 放 时 鼠 标 指 针 不 在 任 何 结 点 区 域 内, 或 者 点 击 与 释 放 时 鼠 标 在 同 一 个 结 点 区 域 内, 此 操 作 应 被 认 为 是 无 效 的 ( 状 态 码 为 1) 68

69 即 使 控 件 能 顺 利 检 测 到 点 击 和 释 放 时 鼠 标 所 处 的 结 点 A 和 结 点 B, 拖 拽 操 作 也 可 能 是 非 法 的 ( 状 态 码 为 2) 下 图 展 示 了 两 个 连 续 的 链 接 操 作, 其 中 第 两 个 操 作 是 非 法 的, 因 为 这 将 导 致 树 上 形 成 一 个 环 其 他 非 法 操 作 包 括 : 将 任 意 结 点 拖 拽 到 其 后 代 结 点 上 ( 不 管 是 移 动 还 是 链 接 ) 尝 试 把 任 意 结 点 拖 拽 到 链 接 结 点 上 如 果 操 作 完 整, 并 且 没 有 出 现 上 述 任 何 一 种 非 法 情 况, 则 视 为 操 作 合 法, 状 态 码 为 0 注 意 : 可 以 将 一 个 结 点 移 动 到 其 父 结 点 下, 尽 管 树 结 构 不 会 发 生 任 何 变 化 请 编 写 控 件 交 互 逻 辑, 输 出 每 个 用 户 操 作 的 状 态 码 输 入 格 式 第 1 行 是 两 个 正 整 数 m,n, 其 中 m 为 树 的 非 叶 结 点 个 数,n 为 操 作 次 数 1<= m,n <= 1000 以 下 m 行 是 初 始 树 的 描 述 每 行 的 开 头 是 一 个 非 叶 结 点 的 名 称, 接 下 来 是 它 的 各 个 子 结 点 名 称 每 个 实 体 节 点 的 名 称 都 是 唯 一 的, 是 一 个 由 数 字 和 小 写 字 母 组 成 的 字 符 串 ( 长 度 不 超 过 20) 如 果 一 个 结 点 是 链 接 节 点, 其 名 称 与 源 结 点 相 同, 其 后 用 (link) 标 注 ( 如 果 多 次 创 建 链 接, 最 后 也 只 有 一 个 (link) 而 不 是 多 个 ) 输 入 保 证 合 法 ( 没 有 环, 链 接 结 点 没 有 子 结 点 ) 在 任 何 时 候, 树 上 最 多 有 个 结 点 之 后 的 n 行 描 述 交 互 动 作, 每 行 格 式 为 : Button x1 y1 x2 y2 例 如,L 表 示 在 (15,65) 单 击 左 键 并 拖 拽 到 (25,55); R 表 示 在 (15,65) 单 击 右 键 并 拖 拽 到 (25,55); 输 出 格 式 输 出 为 n 行, 依 次 为 每 个 输 出 的 返 回 码 样 例 输 入 2 3 root node1 node2 node3 node1 node2(link) L R R 样 例 输 出

70 测 试 数 据 共 20 个 测 试 点, 基 本 参 数 如 下 表 : 测 试 点 编 号 m n 备 注 解 出 一 个 题 目 后 请 将 解 题 报 告 按 照 原 题 面 解 题 源 代 码 测 试 数 据 用 例 和 关 键 思 路 文 字 说 明 顺 序 编 制 成 Word 文 档 每 组 题 目 完 成 后 请 从 下 一 页 开 始 一 个 新 的 题 解 文 档 解 题 源 代 码 与 测 试 数 据 用 例 见 附 件 70

71 6.2. 思 路 说 明 : 题 目 的 背 景 是 树 形 控 件, 不 是 很 好 理 解 题 意, 现 阐 述 我 的 想 法 : 输 入 为 一 棵 树, 树 的 节 点 分 为 实 体 节 点 与 链 接 节 点 ( 添 加 link 以 示 区 别 ) 两 种, 每 种 节 点 宽 10, 长 50, 节 点 头 部 有 10*0 大 小 的 标 识 ( 无 实 际 作 用 ) 然 后 父 子 节 点 之 间 有 10 长 度 的 缩 进 现 有 两 种 操 作 L x1 y1 x2 y2 与 R x1 y1 x2 y2, L 操 作 为 将 覆 盖 (x1,y1) 的 节 点 移 至 覆 盖 (x2,y2) 的 节 点 下 方 作 为 最 后 一 名 孩 子 R 操 作 为 覆 盖 (x2,y2) 的 节 点 添 加 指 针 指 向 覆 盖 (x1,y1) 的 节 点 操 作 结 果 有 3 种, 分 别 为 0,1,2. 1 表 示 x1 y1 或 x2 y2 不 合 法, 即 不 再 任 何 节 点 内 部 2 表 示 拖 拽 造 成 的 结 果 不 合 法, 分 三 种 情 况 : 使 树 成 环, 将 任 意 结 点 拖 拽 到 其 后 代 结 点 上 ( 不 管 是 移 动 还 是 链 接 ) 尝 试 把 任 意 结 点 拖 拽 到 链 接 结 点 上 0 即 除 了 1,2 外 的 情 况 输 出 为 操 作 的 结 果 典 型 的 模 拟 题, 码 量 应 该 算 较 大 的 但 算 法 性 降 低 现 在 我 们 的 主 要 任 务 就 是 1, 判 断 点 的 位 置 是 否 在 节 点 区 域 内, 即 判 定 结 果 态 1 2, 自 然 使 用 树 形 结 构, 构 造 树, 代 码 中 使 用 了 stl 的 list, 简 化 部 分 操 作 3. 成 环 节 点 子 节 点 连 接 节 点 这 些 均 为 树 上 的 搜 索, 用 dfs 函 数 完 成 即 可, 即 判 断 结 果 态 2 4, 剩 余 情 况 即 为 结 果 态 0 题 目 重 点 考 察 了 代 码 量, 分 类 情 况 讨 论 多, 选 手 在 比 赛 时 应 沉 着 思 考, 冷 静 面 对! 71

72 初 赛 第 七 题 : 交 点 覆 盖 7.1. 题 目 描 述 平 面 上 有 N 条 直 线, 至 少 有 两 条 直 线 不 相 互 平 行 任 务 一 : 求 一 个 周 长 最 小 的 凸 多 边 形, 包 围 住 所 有 直 线 的 交 点 任 务 二 : 求 一 个 周 长 最 小 的 矩 形, 包 围 住 所 有 直 线 的 交 点 输 入 格 式 第 1 行 包 含 一 个 整 数 T, 即 任 务 编 号 (T=1 或 2) 第 2 行 为 一 个 整 数 N, 为 直 线 的 数 目 接 下 来 有 N 行, 每 行 包 含 四 个 数, 为 一 条 直 线 上 两 点 的 坐 标 仅 一 行, 为 周 长 最 小 的 矩 形 的 周 长, 保 留 两 位 小 数 输 出 格 式 如 果 T=1, 输 出 凸 多 边 形 的 最 小 周 长, 保 留 两 位 小 数 ; 如 果 T=2, 输 出 矩 形 的 最 小 周 长, 保 留 两 位 小 数 三 测 试 用 例 样 例 输 入 样 例 输 出 样 例 输 入

73 样 例 输 出 样 例 输 入 样 例 输 出 解 题 思 路 题 意 很 简 单, 给 n 条 直 线, 求 包 围 这 n 条 直 线 的 所 有 交 点 的 凸 包 因 为 交 点 的 数 量 级 在 O(n^2), 而 这 题 的 n 是 , 所 以 朴 素 的 写 法 是 不 能 过 大 数 据 的 高 效 算 法 的 基 本 思 路 就 是 尽 量 先 排 除 肯 定 不 在 凸 包 上 的 点, 只 考 虑 那 些 有 可 能 在 凸 包 上 的 点 首 先 我 们 考 虑 没 有 任 何 两 条 直 线 平 行 的 情 况 算 法 实 际 上 很 简 单, 先 将 直 线 按 斜 率 排 序, 只 要 排 成 一 圈 即 可, 哪 一 条 在 最 前 面 无 所 谓 设 直 接 为 {L1,L2,,Ln} 然 后, 只 需 考 虑 所 有 相 邻 直 线 L_i 与 L_{i+1}( 包 括 Ln 与 L1) 的 交 点 即 可, 这 样 的 交 点 共 有 O(n) 个, 然 后 再 用 O(nlogn) 的 算 法 求 凸 包 故 总 的 复 杂 度 为 O(nlogn) 算 法 证 明 直 观 描 述 如 下 : 显 然, 对 于 组 成 凸 包 的 每 条 线 段 而 言, 所 有 的 交 点 都 在 这 条 线 段 的 同 侧 ( 或 在 这 线 段 上 ) 分 两 种 情 况 考 虑 凸 包 上 的 线 段 : (1) 这 线 段 是 原 有 直 线 的 一 部 分 因 为 所 有 交 点 都 在 其 一 侧, 可 以 发 现, 这 些 直 线 在 其 另 一 侧 是 呈 放 射 状 的, 故 凸 包 线 段 两 端 的 点, 一 定 是 该 直 线 与 最 上 和 最 下 ( 也 即 斜 率 与 该 直 线 最 接 近 的 两 条 ) 直 线 的 交 点 (2) 这 线 段 不 是 原 有 直 线 的 一 部 分 在 这 种 情 况 下, 线 段 的 两 端 一 定 是 某 两 条 直 线 的 交 点, 而 这 两 条 直 线 一 定 也 是 斜 率 相 邻 的 不 然 的 话, 若 有 一 条 直 线 的 斜 率 在 两 者 之 间, 则 一 定 会 有 一 个 交 点 交 到 凸 包 这 条 线 的 另 一 侧 ( 这 里 感 觉 不 好 说 清 楚 ) 最 后 再 加 入 平 行 直 线 的 情 况 对 于 一 组 平 行 直 线, 容 易 发 现 只 需 考 虑 最 外 侧 的 两 条 即 可 这 样 的 话, 原 来 的 一 条 直 线 最 多 变 成 两 条 线, 故 原 来 的 一 个 交 点 最 多 变 成 四 个 点, 但 这 只 是 一 个 常 数 倍 数, 所 以 时 间 复 杂 度 不 变 73

74 初 赛 第 八 题 : 我 的 地 盘 8.1. 题 目 描 述 百 度 公 司 的 员 工 们 在 工 作 之 余, 经 常 以 产 品 组 为 单 位 组 织 一 些 活 动, 包 括 吃 大 餐 春 游 秋 游 公 益 活 动 唱 KTV 看 电 影 体 育 比 赛 等 这 些 活 动 有 一 个 专 业 的 名 字, 叫 做 team building, 我 们 也 亲 切 的 称 之 为 bui 最 近, 地 图 产 品 组 刚 刚 完 成 一 个 大 项 目, 大 家 决 定 大 bui 一 场 一 阵 七 嘴 八 舌 后, 很 多 内 容 被 提 了 出 来, 最 终 确 定 先 打 乒 乓 球, 然 后 吃 饭, 最 后 K 歌 问 题 是, 谁 也 不 知 道 有 什 么 地 方 可 以 同 时 满 足 这 三 个 需 求 不 过 没 有 什 么 问 题 可 以 难 倒 我 们 的 工 程 师 很 快, 就 有 人 写 出 了 程 序, 为 大 家 找 到 了 合 适 的 地 点 地 图 覆 盖 之 处, 皆 为 我 的 地 盘 你 想 挑 战 一 下 我 们 的 工 程 师 吗? 想 为 我 们 找 出 更 合 适 的 地 点 吗? 那 就 来 吧 输 入 格 式 第 1 行 是 一 个 整 数 k, 表 示 某 范 围 内 所 有 的 POI(Point of Interest) 点 数 量, 后 续 k 行 每 行 用 5 个 字 段 描 述 一 个 POI 点 它 们 的 含 义 和 格 式 如 下 表 : 内 容 数 据 格 式 数 据 范 围 POI 编 号 Int, 唯 一 [0,231-1] POI 类 型 字 符 串 0-16 字 节 ( 不 超 过 15 种 类 型 ) POI 级 别 Int 0-5( 越 大 表 示 越 高 级 ) POI 经 度 Double [0,180],6 位 有 效 精 度 POI 纬 度 Double [0,180],6 位 有 效 精 度 需 要 注 意 的 是 这 里 的 经 纬 度 跟 通 常 的 经 纬 度 范 围 是 不 一 样 的 随 后 是 一 个 整 数 n(0 < n <= 20), 表 示 共 n 组 查 询 以 下 n 行, 每 行 表 示 一 组 查 询, 格 式 为 : POI 类 型 1 POI 类 型 2 POI 类 型 3 最 低 级 别 最 高 级 别 分 别 表 示 三 个 bui 地 点 各 自 的 类 型 最 低 级 别 和 最 高 级 别 输 出 格 式 对 于 每 组 查 询 t1 t2 t3 min max, 输 出 三 个 POI 编 号 p1 p2 p3, 满 足 : p1 p2 p3 的 类 型 分 别 为 t1 t2 和 t3 p1 p2 p3 的 级 别 不 小 于 min, 不 大 于 max p1 p2 p3 的 两 两 欧 几 里 得 距 离 之 和 应 尽 量 小 输 入 数 据 保 证 至 少 存 在 一 个 解 三 测 试 用 例 样 例 输 入 5 1 休 闲 娱 乐

75 2 餐 饮 服 务 旅 游 景 点 休 闲 娱 乐 教 育 机 构 休 闲 娱 乐 餐 饮 服 务 旅 游 景 点 0 5 样 例 输 出 解 题 思 路 由 于 不 需 要 求 最 优 解, 因 此 不 用 全 部 遍 历, 使 用 贪 心 法 寻 找 离 当 前 已 选 择 点 集 合 最 近 的 点 第 一 个 POI 选 择 所 有 可 能 的 值, 然 后 对 每 个 可 能 的 第 一 个 POI, 选 择 离 他 最 近 的 第 二 个 POI, 选 好 第 二 个 后, 选 择 离 前 面 两 个 距 离 之 和 最 小 的 那 个 为 第 三 个 POI, 选 好 三 个 后 计 算 总 距 离, 如 果 小 于 前 一 个 解 则 更 新 解, 终 结 条 件 是 找 到 所 有 可 能 的 第 一 个 POI 复 赛 第 一 题 : 高 频 Query 的 识 别 内 存 限 制 :1MB 1.1. 题 目 描 述 百 度 每 天 都 会 接 受 数 亿 的 查 询 请 求, 如 何 在 这 么 多 的 查 询 (Query) 中 找 出 高 频 的 Query 是 一 个 不 小 的 挑 战. 而 你 的 任 务 则 更 加 艰 巨, 你 需 要 在 极 其 有 限 的 资 源 下 来 找 出 这 些 高 频 的 Query.( 使 用 内 存 不 得 多 于 1MB, 本 题 的 规 定 覆 盖 其 它 地 方 的 规 定 ) 关 于 内 存 限 制 : 我 们 评 测 程 序 计 算 内 存 使 用 量 的 方 法 是 将 选 手 程 序 实 际 使 用 的 内 存 减 去 以 下 空 程 序 实 际 使 用 的 内 存. #include<cstdio> #include<iostream> #include<string> intmain() { } 注 意, 测 试 的 机 器 是 64 位 的. 在 测 试 机 上 下 面 代 码 输 出 : #include<stdio.h> intmain() { printf( %d%d %d %d\n, sizeof(long), sizeof(int*), sizeof(int), sizeof(short)); } 75

76 关 于 时 间 限 制 : 下 面 是 一 个 能 得 到 正 确 输 出 的 程 序, 你 的 程 序 使 用 的 时 间 不 能 大 于 以 下 程 序 的 运 行 时 间 ( 对 相 同 的 输 入, g++ -O2 编 译 ). #include<stdio.h> #include<stdlib.h> #include<string.h> intmain() { constint L = 16+1; charbuf[l]; charout[100][l]; while(scanf( %s,buf)==1) { intp = 0; for(inti=0; i<200; i++) p =rand()%100; strcpy(out[p],buf); } for(inti=0; i<100; i++) if(strlen(out)>0) printf( %s\n,out); } 输 入 格 式 一 行 一 个 Query, 以 文 件 结 束 符 结 尾 每 个 Query 字 节 数 L( 一 个 汉 字 两 个 字 节 ) 满 足 :0<L<=16. 输 入 大 小 不 超 过 1GB( 包 括 换 行 符 ) 输 出 格 式 你 认 为 最 高 频 的 100 个 query. 每 行 一 个, 不 能 有 重 复, 不 能 多 输 出, 但 可 以 少 输 出 ( 见 样 例 ). 样 例 输 入 美 女 帅 哥 美 女 百 度 美 女 百 度 百 度 76

77 美 女 美 女 美 女 样 例 输 出 百 度 美 女 评 分 方 法 如 果 你 的 程 序 运 行 超 时 或 使 用 内 存 峰 值 超 过 限 制, 那 么 你 的 得 分 为 0. 否 则 得 分 非 0. 你 的 得 分 是 你 输 出 的 query 的 实 际 频 次 的 总 和 ( 在 样 例 中 为 3+6=9) 在 所 有 有 提 交 的 选 手 中 的 排 序 而 定. 具 体 来 说, 设 测 试 点 分 数 为 S, 得 分 非 0 的 程 序 数 为 M, 比 程 序 i 的 方 案 严 格 更 优 ( 实 际 频 次 的 总 和 更 大 ) 的 程 序 数 为 Y(i), 则 该 测 试 点 程 序 i 的 分 值 为 S(1-Y(i)/M) 换 句 话 说, 输 出 该 测 试 点 最 优 解 的 程 序 将 获 得 S 分, 而 最 差 解 惟 一 的 情 况, 输 出 最 差 解 ( 但 合 法 ) 的 选 手 将 得 到 S/M 分 注 意 : 每 个 测 试 点 的 得 分 不 必 为 整 数 提 示, 请 使 用 C 语 言 的 stdio 函 数 而 不 要 使 用 iostream, 否 则 在 I/O 速 度 上 会 处 于 明 显 劣 势 1.2. 解 题 思 路 : 要 求 使 用 1MB 以 内 的 空 间, 在 只 有 一 遍 扫 描 的 情 况 下, 尽 可 能 找 出 出 现 次 数 在 TOP100 里 面 的 Query 于 是 很 显 然,hash 是 必 须 的 了 由 于 内 存 限 制 相 当 严 格, 所 以 hash 表 只 能 开 到 很 小, 比 如,103( 因 为 103 是 个 素 数 ) 在 扫 描 的 过 程 中, 为 了 限 制 内 存 的 使 用, 你 需 要 按 照 某 种 规 则 不 断 地 替 换 掉 一 些 entry 在 遍 历 完 以 后 需 要 归 并, 因 为 要 求 TOP100, 所 以 每 个 hash 值 对 应 的 list 应 该 要 有 100 个 元 素 ( 因 为 只 要 近 似, 所 以 并 不 需 要 很 严 格 ) 然 后 你 就 发 现, 这 个 东 西 怎 么 那 么 像 计 算 机 组 成 原 理 里 面 的 多 路 组 相 联 Cache 阿 那 替 换 的 规 则 几 乎 就 不 用 想 了, 找 出 出 现 次 数 最 少 的 那 个, 直 接 掐 掉 77

78 复 赛 第 二 题 : 图 形 检 索 2.1. 题 目 描 述 和 人 类 一 样, 度 度 熊 也 喜 欢 上 网 搜 美 女 的 图 片, 不 过 和 人 类 不 同, 他 搜 的 是 熊 熊 他 经 常 发 现 现 有 的 搜 索 功 能 无 法 满 足 他 的 要 求 看 到 喜 欢 的 熊 熊 就 喜 欢 狂 搜 那 个 熊 熊 的 其 他 图 片 遗 憾 的 是 人 类 并 没 有 给 每 个 熊 起 个 名 字, 他 非 常 羡 慕 人 类 可 以 用 金 泰 熙 生 活 照 这 样 精 确 的 Query 来 进 行 图 片 搜 索 有 一 天 他 终 于 受 不 了 了, 决 定 开 发 一 个 度 度 熊 图 片 检 索 系 统 目 的 就 是 从 一 张 图 片 出 发, 检 索 和 该 图 片 相 似 的 图 片 这 可 不 是 一 件 容 易 的 事 情, 度 度 熊 心 里 当 然 很 清 楚 因 此 他 要 先 实 现 一 个 简 化 版 的 检 索 系 统. 具 体 的 描 述 如 下 : 系 统 目 标 : 给 定 任 意 一 张 包 含 特 定 图 形 的 位 图, 从 一 列 候 选 集 中, 正 确 检 索 出 与 之 相 似 的 结 果. 检 索 对 象 : 黑 白 位 图 ( 即 0/1 bitmap), 尺 寸 统 一 为 180*180, 其 中 每 一 个 点 Px,y 保 存 像 素 点 的 颜 色,1 表 示 黑 色,0 表 示 白 色 输 入 格 式 只 有 一 个 测 试 点, 共 X=150 幅 图 像, 分 为 M=15 个 类 别, 每 个 类 别 N=10 个 样 本 在 人 眼 看 来, 每 个 类 别 中 的 样 本 两 两 相 似, 但 任 意 两 个 不 同 类 别 的 图 像 都 不 相 似 每 幅 图 像 ( 按 照 输 入 顺 序 依 次 编 号 为 0..X-1) 包 含 180 行, 每 行 180 个 字 符 ( 为 0 或 1), 字 符 之 间 无 空 白. 不 同 图 像 间 用 单 个 空 行 隔 开. 没 有 多 余 的 输 入 ( 即 保 证 只 有 X 幅 图 像 ) 78

79 输 出 格 式 共 X 行, 其 中 第 i 行 用 10 个 整 数 描 述 图 像 i 的 相 似 图 像 的 序 号, 按 照 相 似 度 降 序 排 列 ( 即 : 越 接 近 的 图 像 越 早 出 现 ) 评 分 方 法 对 输 入 的 每 幅 图 像 i, 评 测 程 序 将 给 出 一 个 原 始 得 分 R(i), 然 后 计 算 出 所 有 图 像 的 总 原 始 得 分 R=R(0)+R(1)+ +R(X-1) R 越 大, 你 的 最 终 得 分 也 越 高, 但 具 体 分 数 还 取 决 于 其 他 选 手 的 表 现 具 体 来 说, 设 原 始 分 数 非 0 的 程 序 数 为 M, 比 程 序 i 严 格 更 优 ( 总 原 始 得 分 R 更 大 ) 的 程 序 数 为 Y(i), 则 程 序 i 的 最 终 得 分 为 本 题 总 分 的 100(1-Y(i)/M)% 换 句 话 说, 原 始 分 数 最 大 的 程 序 将 获 得 本 题 100% 的 分 数, 而 最 差 解 惟 一 的 情 况, 输 出 最 差 解 ( 但 合 法 ) 的 选 手 将 得 到 100/M% 的 分 数 注 意 : 本 题 的 最 终 得 分 不 必 为 整 数 第 i 幅 图 像 的 原 始 得 分 R(i) 在 很 大 程 度 上 取 决 于 检 索 出 的 正 确 图 像 个 数 C 具 体 来 说, 当 C=0 时, R(i)=0, 否 则 (C-1)2< R(i) <= C2 当 C 相 同 时, 设 正 确 图 像 在 输 出 序 列 中 的 编 号 分 别 为 T0,T1,,TC-1, 则 T=T0+T1+ +TC-1 越 小 越 好 ( 这 里 不 提 供 具 体 公 式 ) 测 试 数 据 本 题 只 有 一 组 输 入. 具 体 见 输 入 格 式 的 描 述. 共 12 类 别 *6 样 本 = 72 幅 图 像, 以 及 相 应 的 0/1 矩 阵 的 输 入 文 件 sample.in, 你 可 以 使 用 该 数 据 调 试 和 测 试 你 的 程 序. 压 缩 包 里 有 一 个 typerecord.txt 文 件. 格 式 如 下 表 示 13.bmp 是 第 0 个 类 别 的 第 1 个 样 本. 请 注 意 样 例 数 据 和 测 试 数 据 的 图 片 个 数 是 不 同 的 解 题 思 路 : 将 图 像 抽 象 为 几 个 特 征 值, 比 如 Trace 变 换, 图 像 哈 希 或 者 Sift 特 征 向 量 等 等, 也 可 通 过 网 络 流 来 计 算 图 像 之 间 的 差 别 完 成 聚 类 79

80 复 赛 第 三 题 : 网 页 的 相 似 度 计 算 3.1. 题 目 描 述 度 度 熊 最 近 发 现 日 本 的 互 联 网 有 很 多 恶 意 的 作 弊 者 用 程 序 制 造 了 大 量 的 垃 圾 站 点. 分 布 在 成 千 上 万 的 主 域 上, 这 些 站 点 初 看 起 来 感 觉 还 行, 但 当 度 度 熊 发 现 几 千 个 格 式 一 模 一 样 的 站 点, 变 化 的 只 是 其 中 的 垃 圾 内 容 时, 度 度 熊 觉 得 实 在 作 呕. 例 如 下 面 这 两 个 网 站 首 页 他 决 定 开 发 出 一 个 工 具, 这 个 工 具 可 以 用 于 自 动 比 较 两 个 网 页 间 格 式 的 相 似 程 度. 网 页 的 HTML 标 签 信 息 组 成 了 一 棵 ( 有 根 的 )DOM 树. TAG 名 就 是 树 的 结 点 的 标 签. 下 面 是 一 个 例 子 : <HTML> <BODY> <table> <tr> <td><img></img></td> </tr> <tr> <td> Welcome! <br></br> <a>clickhere!</a> </td> 80

81 <td><img></img></td> </tr> </table> </BODY> </HTML> 图 1 一 棵 正 则 的 树 是 指 结 点 数 >1 的 树. 两 个 DOM 树 相 等 当 且 仅 当 根 的 标 签 相 等 且 各 个 儿 子 结 点 对 应 的 子 DOM 树 也 都 对 应 相 等 ( 各 兄 弟 结 点 之 间 的 顺 序 是 重 要 的 ) 一 个 树 的 子 树 是 指 去 掉 某 一 结 点 与 其 父 亲 的 边 后 留 下 来 的 以 该 结 点 为 根 的 树. 如 上 图 中 以 TABLE 结 点 为 根 的 子 树 是 图 2 一 个 树 的 根 余 子 树 是 指 去 掉 一 系 列 的 子 树, 但 不 去 掉 子 树 的 根 后 余 下 的 树. 81

82 例 如 图 1 去 掉 2 个 以 TR 为 根 的 子 树 后 的 根 余 子 树 是 : 图 3 一 个 树 的 广 义 子 树 是 指 某 个 子 树 的 根 余 子 树, 例 如 图 2 子 树 的 一 个 根 余 子 树 如 下 : 图 4 两 个 DOM 树 的 相 似 度 定 义 为 这 两 个 DOM 树 所 拥 有 的 共 同 的, 正 则 的 广 义 子 树 的 数 目. 你 的 任 务 是 给 出 N 个 HTML 网 页, 求 出 这 N 个 网 页 的 两 两 相 似 度 ( 共 N*(N-1)/2 对 ). 并 按 相 似 度 从 大 到 小 排 序 输 出. 由 于 内 容 信 息 是 不 重 要 的. 故 你 可 以 把 连 续 的 文 本 当 作 一 个 单 独 的 虚 拟 PURE_TEXT 标 签. 准 确 来 说, 你 必 须 将 <b>why why </b> 看 作 是 <a><pure_text></pure_text></a>. 但 要 注 意. 连 续 的 空 白 ( 空 格,TAB, 回 车 换 行 ) 不 是 TEXT, 空 白 只 起 到 分 隔 符 的 作 用. 如 果 网 页 中 有 PURE_TEXT 标 签, 则 和 上 述 虚 拟 的 PURE_TEXT 标 签 同 等 对 待. 输 入 格 式 第 一 行 N, 表 示 有 N 个 HTML.(2<=N<=10) 从 第 二 行 开 始 描 述 N 个 HTML, 每 个 HTML 的 描 述 格 式 是 第 一 行 URL, 以 开 头 每 个 HTML 的 URL 均 不 相 同. 以 下 为 HTML 源 码, 直 到 一 个 以 只 有 4 个 等 号 (====) 的 行 表 示 结 束. 为 简 单 计,HTML 里 的 标 签 只 有 名 字, 没 有 属 性 信 息, 并 且 所 有 的 标 签 都 是 成 对 出 现 的. 如 <br></br>. 标 签 名 字 不 区 分 大 小 写 ( 且 不 一 定 是 标 准 的 HTML 标 签 ).<br> 和 <Br> 是 相 同 标 签. 82

83 用 正 则 表 达 式 表 示 如 下, 括 号 表 示 分 组 : ID:=[a-zA-Z0-9]+ TEXT:=[a-zA-Z0-9<SPACE>]+ START_TAG:=<ID> END_TAG:=</ID> TREE:=EMPTY TEXT (START_TAGTREE END_TAG) HTML:=<html>TREE</html> 其 中 <SPACE> 指 空 白 ( 空 格,TAB, 回 车 换 行 等 等, 具 体 的 说, 是 c 语 言 中 isspace(c) 为 真 的 字 符 ). 空 白 起 到 划 分 语 法 边 界 的 作 用, 因 此 可 以 出 现 在 任 意 语 法 边 界 上. 如 < / pre > 是 合 法 的. 但 < / p re> 则 不 是 合 法 的. 输 入 的 HTML 保 证 合 法, 我 们 不 会 刻 意 出 数 据 来 测 试 选 手 对 语 法 的 理 解 ( 数 据 都 是 由 真 实 的 网 页 数 据 而 来 ). 但 选 手 最 好 作 一 些 简 单 的 容 错. 如 果 我 们 的 数 据 不 严 格 符 合 上 面 的 正 则 表 达 式. 但 是 95% 的 选 手 程 序 都 会 正 确 处 理, 我 们 将 认 为 数 据 是 正 常 的. 比 赛 规 则 中 保 证 输 入 一 定 为 LINUX 格 式, 但 此 题 不 保 证. 输 入 文 件 长 度 <=10MB. 总 的 标 签 数 目 ( 包 括 PURE_TEXT)<= 输 出 格 式 共 N*(N-1)/2 行. 每 行 格 式 为 : 相 似 度 < 空 格 > 对 应 的 URL1< 空 格 > 对 应 的 URL2 在 同 一 行 中,URL1 和 URL2 按 字 典 序 排 序 ( 即 URL1<URL2). 全 部 结 果 按 相 似 度 从 大 到 小 排 序. 相 似 度 相 同 的 按 URL1 的 字 典 序 排 序. 相 似 度 保 证 小 于 64 位 有 符 号 整 数 的 最 大 值. 注 意 : 我 们 的 测 试 机 器 是 64 位, 故 long 可 以 保 存 得 下 相 似 度 的 结 果. 请 用 scanf( %ld,&x) 或 cin>>x 来 读 取 long 样 例 输 入 2 <html> <A>TEXT</a><br>T</br>TEXT </html> ==== 83

84 <html> <a>u</a><br>u</br> </html> ==== 样 例 输 出 2http://url_a/ 测 试 数 据 共 10 组 测 试 数 据, 测 试 数 据 是 真 实 的 网 页 数 据 ( 经 过 必 要 的 转 换 以 满 足 上 述 的 格 式 描 述 和 规 模 ) 加 部 分 手 工 数 据 3.2. 解 题 思 路 : 根 据 给 出 规 则 对 两 颗 子 树 暴 力 枚 举 广 义 子 树 进 行 计 算 复 赛 第 四 题 : 拼 车 4.1. 题 目 描 述 虽 然 北 京 的 公 交 系 统 很 发 达, 但 对 上 班 一 族 来 说, 出 租 车 仍 是 很 常 用 的 交 通 工 具. 度 度 熊 就 经 常 坐 出 租 车 上 下 班. 有 一 天 他 发 现 一 个 现 象 : 他 的 同 事 基 本 上 都 是 每 人 单 独 坐 一 辆 车, 虽 然 有 些 人 住 在 同 一 个 方 向, 甚 至 同 一 个 小 区 他 想, 可 以 考 虑 让 大 家 拼 车, 即 节 约 出 租 车 资 源, 又 可 以 减 少 大 家 的 支 出. 度 度 熊 作 了 以 下 假 定 : 出 租 车 最 多 一 辆 可 以 坐 4 个 人 ( 为 简 单 计, 不 考 虑 像 度 度 熊 这 样 因 体 积 太 大 而 坐 不 了 4 个 人 的 情 况 ). 假 设 公 路 都 是 横 平 竖 直 的, 可 以 用 正 方 形 框 格 来 表 示 公 路 相 交 的 公 路 视 为 连 通 ( 可 以 在 交 叉 点 处 从 一 条 公 路 开 到 另 一 公 路 上 ) 车 只 可 以 在 公 路 上 走 员 工 家 都 在 公 路 的 交 叉 点 处 员 工 下 班 后, 都 从 公 司 所 在 位 置 直 接 打 的 士 回 家 84

85 每 位 员 工 只 能 乘 坐 一 辆 出 租 车 到 达 目 的 地, 不 能 中 途 下 车, 换 乘 其 他 出 租 车 同 往 常 一 样, 度 度 熊 只 喜 欢 出 主 意, 却 不 喜 欢 写 代 码. 所 以 这 个 重 任 就 只 好 落 到 你 身 上 了 :) 你 的 任 务 是 写 一 个 程 序 : 求 出 一 种 员 工 打 车 方 案, 使 得 把 所 有 员 工 送 回 家, 在 这 种 情 况 下, 要 使 所 有 的 士 所 走 的 路 程 尽 量 短 为 了 方 便 起 见, 用 笛 卡 尔 坐 标 系 来 描 述 员 工 家 所 在 区 域 假 定 员 工 家 所 在 区 域 的 长 和 宽 均 为 9 下 面 是 公 司 所 在 位 置 为 (3,3) 时, 坐 标 描 述 图 : 图 1. 公 路 示 意 图. 输 入 格 式 输 入 包 括 : 公 司 位 置, 员 工 总 人 数 和 每 个 员 工 家 所 在 的 位 置 具 体 格 式 见 下 : 第 1 行 : 有 1 个 数 N(0<N<100), 表 示 当 天 需 要 打 的 回 家 的 员 工 总 人 数 第 2 至 N+1 行, 每 行 有 2 个 整 数, 分 别 为 Xi(0<=Xi<=8) 和 Yi(0<=Yi<=8), 中 间 用 空 格 隔 开, 表 示 员 工 i 所 要 到 达 目 的 地 的 坐 标 例 如, 第 2 行 是 员 工 1 的 家 的 坐 标 位 置, 第 3 行 是 员 工 2 家 的 坐 标 位 置, 依 次 类 推 不 同 员 工 的 住 址 可 能 完 全 相 同, 员 工 的 住 址 也 可 以 和 公 司 重 合 ( 可 以 在 程 序 中 直 接 忽 略 他 ) 第 N+2 行 有 2 个 数, 分 别 为 M(0<=M<=8) 和 W(0<=W<=8), 中 间 用 空 格 隔 开, 表 示 公 司 的 坐 标 输 出 格 式 85

86 输 出 包 括 : 总 的 最 短 公 里 数, 所 需 车 的 数 目, 以 及 每 辆 车 所 载 的 员 工 ( 用 坐 标 表 示 ) 和 每 辆 车 所 走 的 路 线 ( 用 坐 标 表 示 ) 具 体 格 式 见 下 : 第 1 行 : 总 的 最 短 公 里 数 第 2 行 : 所 需 车 的 总 数 目, 假 定 是 C; 下 面 第 3 行 至 第 C+2 行, 每 一 行 输 出 包 含 三 部 分 : 第 一 部 分 是 该 车 所 走 路 程 ; 第 二 部 分 是 该 车 所 载 的 员 工, 目 的 地 坐 标 表 示 ; 第 三 部 分 是 该 车 所 走 的 路 线, 用 经 过 的 交 叉 点 坐 标 序 列 表 示 第 一 部 分 和 第 二 部 分 之 间 用 空 格 分 割 ; 第 二 部 分 和 第 三 部 分 之 间 用 : 分 割 样 例 输 入 样 例 输 出 (0,0) : (3,3) (2,3) (1,3) (0,3) (0,2) (0,1) (0,0) 8(4,0) (7,1) : (3,3) (3,2) (3,1) (3,0) (4,0) (5,0) (6,0) (7,0) (7,1) 6(5,4) (6,6) : (3,3) (4,3) (5,3) (5,4) (5,5) (5,6) (6,6) 9(1,8) (1,5) (3,6) : (3,3) (3,4) (3,5) (3,6) (2,6) (2,5) (1,5) (1,6) (1,7) (1,8) 86

87 样 例 解 释 输 入 的 员 工 家 公 司 具 体 位 置 以 及 拼 车 方 案 见 下 图 : 此 例 的 一 个 打 车 方 案 为 : 1 号 线 路 程 为 6 公 里, 载 1 人 2 号 线 路 程 为 8 公 里, 载 2 人 3 号 线 路 程 为 6 公 里, 载 2 人 4 号 线 路 程 为 9 公 里, 载 3 人 总 计 最 短 路 程 为 29 公 里 评 分 方 法 如 果 你 的 程 序 输 出 方 案 非 法, 那 么 你 的 得 分 为 0. 否 则 得 分 非 0. 你 的 得 分 是 由 你 的 方 案 得 到 的 总 的 最 短 公 里 数 在 所 有 有 提 交 且 得 分 非 0 的 选 手 中 的 排 序 而 定. 具 体 来 说, 设 测 试 点 分 数 为 S, 得 分 非 0 的 程 序 数 为 M, 比 程 序 i 的 方 案 严 格 更 优 ( 总 的 公 里 数 更 小 ) 的 程 序 数 为 Y(i), 则 该 测 试 点 程 序 i 的 分 值 为 S(1-Y(i)/M) 换 句 话 说, 输 出 该 测 试 点 最 优 解 的 程 序 将 获 得 S 分, 而 最 差 解 惟 一 的 情 况, 输 出 最 差 解 ( 但 合 法 ) 的 选 手 将 得 到 S/M 分 注 意 : 每 个 测 试 点 的 得 分 不 必 为 整 数 测 试 数 据 共 25 组, 员 工 人 数 近 似 在 [0,100] 中 均 匀 分 布, 公 司 位 置 和 每 个 员 工 家 所 在 位 置 都 是 随 机 生 成 的 87

88 4.2. 题 目 思 路 尽 管 地 图 很 小, 但 是 100 人 次 的 数 据 仍 然 难 以 处 理, 本 题 目 并 没 有 一 个 确 定 性 的 最 优 解, 但 是 可 以 构 造 一 些 可 能 的 最 优 解 考 虑 如 下 解 法 : 1. 对 所 有 员 工 的 家 排 序 2. 对 于 排 好 序 的 序 列, 分 配 出 租 车 和 计 算 线 路 其 中 排 序 的 步 骤 可 以 采 取 多 种 不 同 的 排 序 方 法, 对 于 不 同 的 测 试 样 例, 不 同 的 排 序 算 法 的 表 现 可 能 会 不 同 这 里 提 供 以 下 几 种 排 序 方 式 供 选 择 : 1. 先 按 x 坐 标 排 序 再 按 照 y 坐 标 排 序 ; 2. 先 按 y 坐 标 排 序 再 按 照 x 坐 标 排 序 ; 3. 以 公 司 坐 标 为 原 点 对 所 有 点 进 行 极 角 排 序 ; 4. 坐 标 轴 倾 斜 90 度 排 序 ; 5. 坐 标 轴 倾 斜 270 度 排 序 排 好 序 后 处 理 排 序 后 的 序 列, 这 里 采 取 的 策 略 是 只 有 连 续 的 一 段 人 可 以 乘 坐 同 一 辆 出 租 车 该 子 问 题 可 以 用 动 态 规 划 来 解 决,dp[i] 表 示 前 i 个 人 回 家 的 最 小 距 离, 转 移 方 程 为 dp[i] = min(dp[i j] + cost(i j + 1, i), 1 <= j <= 4) 其 中 cost(a, b) 表 示 第 a 个 人 到 第 b 个 人 乘 坐 同 一 辆 车 回 家 的 最 小 距 离 对 于 cost 子 算 法, 可 以 枚 举 所 有 可 能 的 排 列, 来 选 择 把 所 有 人 都 送 到 家 的 最 小 的 花 费 复 杂 度 上, 排 序 算 法 时 间 复 杂 度 为 O(nlogn),dp 算 法 时 间 复 杂 度 为 O(n),cost 函 数 时 间 复 杂 度 近 似 O(1), 整 个 问 题 时 间 复 杂 度 为 O(nlogn) 通 过 这 种 算 法, 可 以 求 得 一 个 近 似 的 最 优 解 决 赛 第 一 题 :Spider 1.1. 题 目 Spider 是 百 度 用 来 抓 取 网 页 的 程 序 的 名 字 面 对 信 息 几 乎 无 穷 无 尽 的 互 联 网, 如 何 快 速, 有 效 的 抓 取 到 优 质 的 网 页 是 一 个 艰 巨 的 任 务 在 本 次 任 务 中,, 我 们 以 站 点 为 单 位, 你 的 任 务 就 是 设 计 一 个 特 殊 的 Spider, 这 个 Spider 以 站 点 为 单 位 进 行 抓 取, 目 标 就 是 在 有 限 的 抓 取 次 数 下 抓 到 尽 量 多 的 优 质 站 点 你 的 Spider 所 处 的 具 体 环 境 描 述 如 下 : 88

89 假 设 互 联 网 上 有 n 个 站 点, 编 号 从 0..n-1, 注 意, 编 号 是 纯 随 机 的 你 有 m 次 的 抓 取 机 会, 一 次 抓 取 一 个 站 点, 抓 取 完 成 后, 你 将 被 告 知 该 站 点 是 否 是 高 质 量 站 点 (GOOD/BAD), 并 且 告 诉 你 该 站 点 指 出 去 的 所 有 站 点 的 ID, 站 点 A 指 向 B 当 且 仅 当 A 站 点 上 某 个 页 面 里 面 包 含 有 指 向 B 站 点 某 个 页 面 的 链 接 下 面 是 一 个 样 例 程 序 : #include spider.h // 所 需 函 数 的 声 明 //#include // 不 要 输 出 任 何 东 西, 否 则 得 0 分 int rand_long() { return abs((rand()< <16)+rand()); } int main() { int n,m; spider_init(n,m); // n: 站 点 数, m: 你 能 抓 取 的 最 大 次 数 vector crawled(n,false); while (1) { int k=rand_long()%n; if (crawled[k]) continue; vector link_out; // 所 有 站 点 k 指 出 去 的 站 点 都 在 link_out 中 int ret = spider_crawl(k, link_out); // <0 表 示 你 的 抓 取 行 为 非 法 ( 如 id<0) 或 者 已 经 到 达 最 大 抓 取 次 数 // =0 表 示 站 点 k 为 BAD, =1 表 示 GOOD if (ret<0) break; /* 调 试 代 码 string t=spider_get_name_by_id(k); // 该 函 数 在 系 统 测 试 时 不 可 用 if (t!= ") printf( %s\n,t.c_str()); */ } // 抓 取 完 毕, 系 统 计 分 spider_done(); } 运 行 时 间 限 制 为 3 分 钟 ( 最 终 测 试 数 据 ), 赛 时 评 测 的 时 限 为 30 秒 ( 数 据 量 较 小 ) 实 际 使 用 的 测 试 数 据 约 有 千 万 级 别 的 站 点, 样 例 数 据 是 随 机 抽 取 出 来 的 300 万 个 站 点 的 的 链 接 子 图, 并 且 同 一 个 站 点 的 ID 号 与 实 际 测 试 数 据 是 不 一 样 的 评 分 方 式 设 站 点 总 数 为 n, 则 最 多 允 许 抓 取 m=n/8 次, 假 设 当 程 序 分 别 进 行 了 m/8,m/4,m/2,m 次 抓 取 后 抓 到 的 GOOD 站 点 数 分 别 为 g1,g2,g3,g4, 则 最 终 的 得 分 为 g1*8+g2*4+g3*2+g4, 重 复 抓 取 的 只 计 一 次 选 手 可 随 时 提 交 代 码, 并 选 择 代 码 进 行 测 试 ( 数 据 规 模 小 于 实 际 数 据 但 大 于 提 供 给 选 手 的 样 例 数 据 ), 但 测 试 的 次 数 限 制 为 每 个 选 手 最 多 8 次 在 本 机 选 手 可 任 意 使 用 样 例 数 据 进 行 测 试 选 手 的 最 终 得 分 依 据 最 后 一 次 提 交 在 最 终 测 试 数 据 集 上 测 试 所 得 的 分 数 注 意 :DON T CHEAT ( 例 如 对 文 件 系 统 进 行 读 写 或 HACK, 以 及 其 它 明 显 违 反 比 赛 公 平 性 的 行 为 ), 我 们 会 人 工 检 查 前 几 名 选 手 的 代 码 另 外, 测 试 时 使 用 的 数 据 格 式 和 处 理 方 式 和 提 供 的 样 例 是 不 一 样 的 实 际 测 试 时 程 序 流 程 如 下 : 初 始 化, 把 需 要 的 数 据 全 部 load 进 内 存 (<10 秒 ) 每 个 函 数 调 用 使 用 的 时 间 与 返 回 的 数 据 量 成 正 比 并 且 全 部 是 内 存 操 作 时 空 限 制 选 手 内 存 限 制 使 用 500MB( 不 包 括 系 统 使 用 的 内 存 ) 背 景 知 识 一 般 来 说, 互 联 网 上 的 链 接 代 表 一 种 推 荐 的 关 系, 如 果 A 发 出 一 条 链 接 指 向 B, 则 可 以 认 为 A 在 某 种 程 度 上 推 荐 了 B. 但 是 由 于 作 弊 者 的 存 在, 使 得 实 际 的 情 况 远 比 单 纯 的 推 荐 来 得 复 杂, 作 弊 者 经 常 制 造 大 量 的 所 谓 的 link farm, 即 一 堆 BAD 的 结 点 相 互 链 接 在 一 起. 有 一 个 直 观 的 简 单 想 法 认 为, 一 个 GOOD 的 89

90 结 点 一 般 指 向 GOOD 的 结 点, 而 一 个 BAD 的 结 点 既 有 可 能 指 向 GOOD 也 有 可 能 指 向 BAD, 被 很 多 GOOD 指 向 的 结 点 很 有 可 能 是 VERY GOOD 的, 然 而, 实 际 的 情 况 仍 然 要 比 这 种 观 点 复 杂 得 多 1.2. 解 题 思 路 : 开 放 性 题 目 所 有 的 节 点 列 出 被 good 指 向 和 bad 指 向 的 次 数 还 有 完 全 没 有 被 爬 到 的 节 点, 根 据 这 些 信 息 构 造 参 数 进 行 选 择 决 赛 第 二 题 : 限 制 性 图 灵 测 试, 搜 索 引 擎 的 非 法 用 户 检 测 2.1. 题 目 用 户 使 用 百 度 时 会 发 生 以 下 行 为 : 查 询 一 个 Query, 记 为 QI, 其 中 I 是 0 99 的 整 数 点 击 一 条 搜 索 结 果, 记 为 CI, 其 中 I 是 1 10 的 整 数 点 击 下 一 页 链 接 进 行 翻 页, 记 为 N 点 击 相 关 检 索 中 的 结 果, 记 为 R 例 如 用 户 查 询 了 一 个 Query 美 女, 点 了 1,2,3,10 条 结 果, 然 后 翻 页, 然 后 再 点 了 3,4 条 结 果, 然 后 点 了 相 关 检 索 帅 哥, 然 后 又 点 了 1,2,3 条 结 果, 然 后 离 开 了 这 个 用 户 的 行 为 可 以 表 示 如 下 : Q1 C1 C2 C3 C10N C3 C4 R C1 C2 C3 由 于 各 种 各 样 的 原 因, 并 不 是 每 个 用 户 都 是 人 在 做 这 个 动 作 序 列 的, 例 如 有 些 人 会 写 程 序 会 在 百 度 上 做 以 下 事 情 : 检 索 sex, 翻 页, 翻 页, 点 第 3 条 结 果, 如 此 不 断 重 复 这 个 怪 异 的 用 户 的 行 为 可 以 表 示 如 下 : Q1 N N C3 Q1 N NC3 Q1 N N C3 Q1 N N C3 Q1 N N C3 当 你 面 对 着 数 亿 的 正 常 用 户 和 不 计 其 数 的 机 器 人 时, 你 会 怎 么 做 呢? 如 果 你 是 程 序 员 给 出 搜 索 引 擎 一 个 用 户 行 为 序 列, 这 个 序 列 是 在 较 短 时 间 ( 如 分 钟 级 ) 内 完 成 的, 你 的 任 务 是 写 一 个 程 序, 判 断 其 是 否 是 正 常 的 用 户 行 为 如 果 是, 输 出 yes, 否 则 输 出 no 输 入 样 例 Q1 C2 Q1 C2 Q1C2 Q1 C2 Q1 C2 Q1 C2 Q1 C1 Q2 C2 Q3C3 输 出 样 例 no yes 如 果 你 是 测 试 者 你 的 任 务 是 给 出 一 系 列 的 测 试 数 据 ( 最 多 20 组 ), 每 一 行 的 格 式 如 下 : answerbehavior_sequence # comment 其 中 answer 是 yes 或 no,behavior_sequence 是 用 户 行 为 序 列 片 断, 不 超 过 64 个 元 素, 每 个 元 素 格 式 如 题 目 开 头 所 述, 必 须 是 QI,CI,N,R 中 的 一 个 comment 是 诠 释, 可 选 例 如 : yes Q1 C1 Q2 C1Q3 C1 # a normal user no Q1 C1 Q1 C1Q1 C1 注 意 测 试 者 给 的 answer 只 是 参 考 答 案, 请 诚 实 给 出, 我 们 会 对 所 有 的 答 案 进 行 检 查 并 进 行 必 要 修 正, 如 果 有 明 显 非 诚 实 的 行 为, 将 取 消 该 测 试 者 的 所 有 测 试 数 据 测 试 者 提 供 的 测 试 数 据 中, 要 求 参 考 答 案 90

91 为 yes 和 no 的 数 据 数 目 一 样 多 请 所 有 测 试 者 在 30 分 钟 内 提 交 4 组 测 试 数 据, 这 4 组 数 据 将 作 为 测 试 者 提 交 的 前 4 组 测 试 数 据 我 们 会 尽 快 把 所 有 提 交 打 包 发 送 给 15 名 程 序 员 计 分 方 法 如 果 程 序 对 测 试 数 据 输 出 的 答 案 和 测 试 者 提 供 的 答 案 一 样, 令 15 名 程 序 员 中 得 到 正 确 结 果 的 个 数 为 C, 那 么 程 序 在 此 测 试 点 得 1/C 分 如 果 程 序 对 测 试 数 据 输 出 的 答 案 和 测 试 者 提 供 的 答 案 不 一 样, 测 试 者 得 1/R 分, 其 中 R 为 该 选 手 的 本 场 比 赛 排 名 总 分 为 所 有 测 试 数 据 的 得 分 和 2.2. 解 题 思 路 : 开 放 性 题 目 可 通 过 给 出 的 一 些 数 据, 通 过 机 器 学 习 等 方 法 提 取 信 息 特 征 构 造 神 经 网 络 进 行 判 断 91

92 百 度 之 星 2010 复 赛 第 一 场 第 一 题 :A+B 问 题 1.1. 题 目 描 述 : Suzumiya 最 近 开 始 无 端 刁 难 她 的 同 学 ViVo, 总 是 莫 名 其 妙 的 问 他 一 些 简 单 而 又 离 谱 没 有 实 际 意 义 的 数 学 问 题, 比 如 三 千 加 上 五 百 等 于 多 少 回 答 一 次 两 次 还 可 以, 但 不 断 这 样 的 纠 缠 致 使 ViVo 已 经 无 法 忍 受 了 所 以 ViVo 决 定 制 作 一 个 语 音 装 置 来 自 动 回 答 Suzumiya 提 出 的 无 聊 问 题 ViVo 知 道 你 是 个 伟 大 的 算 法 艺 术 家, 所 以 希 望 该 装 置 核 心 的 数 学 计 算 模 块 你 能 够 来 帮 忙 装 置 接 收 到 的 语 音 会 自 动 为 你 转 化 为 对 应 的 中 文 字 符 串, 经 过 你 的 模 块 处 理 完 成 后 输 出 中 文 字 符 串, 传 递 给 装 置 来 朗 读 出 来 为 了 给 你 带 来 方 便,ViVo 已 经 提 前 收 集 好 了 Suzumiya 可 能 会 问 到 的 问 题, 发 现 这 些 问 题 中 大 部 分 是 数 学 加 法, 也 还 有 一 些 不 是 加 法 的 问 题, 但 答 案 依 然 都 可 以 用 数 字 来 表 示 输 入 数 据 : 输 入 的 第 一 行 是 一 个 数 字 n, 表 示 接 下 来 有 n 个 问 题, 每 个 问 题 占 一 行 2 一 加 一 等 于 几? 三 千 加 上 五 百 等 于 多 少? 输 出 数 据 : 每 行 包 含 一 个 没 有 语 病 的 中 文 表 示 最 终 的 结 果 二 三 千 五 百 时 间 限 制 : 5000ms 评 分 标 准 : 程 序 输 出 结 果 是 否 正 确 1.2. 关 键 思 路 由 题 意 可 把 题 目 分 为 三 个 子 问 题 : 1) 把 两 个 中 文 数 字 转 化 为 阿 拉 伯 数 字 a, b 2) 求 a+b 3) 把 a+b 转 化 为 中 文 数 字 故 我 们 可 以 写 两 个 函 数, 分 别 用 作 中 文 数 字 转 化 为 阿 拉 伯 数 字 阿 拉 伯 数 字 转 化 为 中 文 数 字 92

93 由 于 题 目 并 没 有 给 出 中 文 数 字 的 读 法 规 则, 故 我 根 据 网 上 一 些 资 料 以 及 平 时 的 一 些 习 惯, 大 概 定 了 如 下 一 些 规 则 : 1) 每 个 数 位 必 须 由 一 个 字 词 来 表 示, 中 文 数 位 有 : 个, 十, 百, 千, 万, 十 万, 百 万, 千 万, 亿, 十 亿, 百 亿, 千 亿, 万 亿, 十 万 亿, 百 万 亿, 千 万 亿, 亿 亿 2) 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 分 别 用 零, 一, 二, 三, 四, 五, 六, 七, 八, 九 来 表 示 3) 两 个 数 位 间 无 论 有 多 少 个 0, 都 用 一 个 零 来 表 示 为 了 方 便, 这 里 规 定 只 在 4 个 数 位 以 内 才 加 零 4) 以 一 十 开 头 的 数 字, 省 略 一 中 文 数 字 转 化 为 阿 拉 伯 数 字 : 枚 举 每 个 数 位, 若 找 到 这 个 数 位, 则 把 这 个 数 字 分 为 数 位 前 与 数 位 后 两 部 分, 再 分 别 转 化 为 阿 拉 伯 数 字, 得 到 x, y 再 根 据 数 位 的 大 小 unit, 返 回 结 果 x * unit + y 注 意 十 的 情 况 若 没 找 到 任 何 数 位, 则 表 示 这 个 是 数 字, 直 接 枚 举 0 ~ 9 的 中 文 数 字 判 定 即 可 阿 拉 伯 数 字 转 化 为 中 文 数 字 : 枚 举 每 个 数 位 大 小, 若 不 小 于 这 个 数 位, 则 把 这 个 数 字 分 为 数 位 前 与 数 位 后 两 部 分, 再 分 别 转 化 为 中 文 数 字, 得 到 x, y 再 根 据 中 文 数 位 unit, 返 回 结 果 x + unit + y 注 意 数 位 间 零 的 情 况 若 没 有 找 到 个 以 上 的 数 位, 则 表 示 这 个 是 一 位 数 字, 直 接 返 回 相 应 的 中 文 数 字 即 可 93

94 复 赛 第 一 场 第 二 题 :i-doctor 2.1. 题 目 描 述 : 百 度 计 划 开 发 一 个 在 线 的 健 康 专 家 系 统, 帮 助 用 户 足 不 出 户 就 能 初 步 了 解 自 己 所 患 的 疾 病, 并 以 此 向 用 户 推 荐 适 合 的 医 院 就 诊 经 过 对 海 量 数 据 的 分 析, 百 度 提 取 出 了 若 干 表 征 疾 病 性 状 的 特 征, 并 把 每 种 疾 病 是 否 符 合 某 项 特 征 都 进 行 了 标 记, 最 终 得 到 如 下 数 据 表 格 : 其 中,D0,D1,,Dm-1 表 示 疾 病 名 称,A0,A1,, An-1 表 示 疾 病 的 特 征 m n 均 为 正 整 数 且 m < 4096,n < 128 特 征 的 取 值 为 Yes( 符 合 该 项 特 征 ), Probably( 有 可 能 符 合 该 项 特 征 ) 或 No( 不 符 合 该 项 特 征 ) 这 个 专 家 系 统 被 命 名 为 i-doctor, 因 为 它 的 工 作 方 式 很 人 性 化, 就 像 医 院 的 专 家 一 样 通 过 与 病 人 的 一 问 一 答 来 得 出 诊 断 每 当 开 始 一 个 诊 断 时,i-Doctor 首 先 提 问 : 你 是 否 感 觉 到 有 A 症 状? 其 中,A 为 一 疾 病 特 征 用 户 依 据 自 己 的 感 觉 回 答 不 幸 的 是, 有 时 候 病 人 对 自 己 是 否 有 A 症 状 不 能 肯 定, 甚 至 会 给 出 错 误 的 回 答 统 计 表 明, 病 人 的 回 答 及 置 信 度 如 下 注 意 : 每 个 病 人 在 诊 断 之 前 患 有 一 种 ( 且 仅 一 种 ) 确 定 的 疾 病, 且 该 疾 病 保 证 存 在 于 上 述 疾 病 数 据 库 中 现 在, 请 你 编 写 一 个 程 序 来 让 i-doctor 开 始 工 作 交 互 : 你 的 程 序 应 当 读 写 标 准 输 入 输 出, 以 便 与 测 试 库 交 互 交 互 方 式 如 下 : 首 先, 你 的 程 序 (doctor) 应 从 标 准 输 入 读 取 疾 病 特 征 表 第 一 行 是 两 个 正 整 数 m 和 n, 表 示 疾 病 的 种 类 数 和 特 征 的 种 类 数 m 和 n 之 间 以 一 个 空 格 隔 开 接 下 来 共 有 m 行, 其 中 每 一 行 描 述 一 种 疾 病, 格 式 为 : 疾 病 名 称 特 征 值 0 特 征 值 1 特 征 值 n-1 开 头 的 字 符 串 为 疾 病 名 称, 长 度 不 超 过 7 字 节 ; 一 个 空 格 之 后 依 次 是 各 特 征 值, 取 值 为 英 文 字 母 Y 或 N 或 P, 分 别 表 示 Yes No 和 Probably 相 邻 特 征 值 以 一 个 空 格 隔 开 接 下 来, 你 的 程 序 可 以 向 病 人 (patient) 提 问, 提 问 方 式 为 在 标 准 输 出 上 打 印 一 行, 格 式 为 :Do you feel Ai? 其 中 Ai 表 示 特 征 特 i 此 后, 你 的 程 序 应 当 从 标 准 输 入 读 取 病 人 的 回 答 病 人 每 次 的 回 答 也 为 一 行, 内 容 为 Yes Probably yes Probably no No 和 Don t know 之 一 如 此 一 问 一 答, 直 到 你 的 程 序 诊 断 出 病 人 所 患 疾 病, 此 时 应 在 标 准 输 出 上 打 印 一 行 :I think of Dj! 其 中 Dj 为 此 疾 病 名 称 如 果 无 法 确 诊, 你 的 程 序 可 以 在 标 准 输 出 上 打 印 一 行 :Give up. 表 示 你 放 弃 诊 断 该 病 人 注 意 : 很 快 你 将 看 到, 放 弃 诊 断 总 比 错 误 的 诊 断 要 好 94

95 在 确 诊 或 放 弃 后, 你 的 程 序 应 自 行 终 止 程 序 举 例 : 下 面 是 一 个 示 例 程 序 ( 省 略 了 include), 它 能 正 确 的 与 测 试 库 进 行 交 互, 尽 管 它 的 得 分 可 能 不 高 : int main() { int m, n; char name[10], line[256]; char table[4096][128][2]; int i, j, q; srand(time(0)); scanf( %d %d\n, &m, &n); for(i = 0; i < m; i++) { 2scanf( %s, name); for(j = 0; j < n; j++) scanf( %s, table[j]); fgetc(stdin); /* consume \n */ } for(q = 0; q < 4; q++) { printf( Do you feel A%d?\n, rand() % n); fflush(stdout); /* Important */ fgets(line, sizeof(line), stdin); } if(rand() % 3 == 0) printf( I think of D%d!\n, rand() % m); else printf( Give up.\n ); fflush(stdout); /* Important */ return 0; } 注 意, 你 的 程 序 应 当 像 上 面 的 程 序 一 样, 在 每 次 输 出 后 立 即 执 行 fflush(stdout) 语 句, 使 输 出 的 内 容 立 即 被 送 入 测 试 库 ( 而 不 是 留 在 输 出 缓 冲 区 中 ) 另 外, 你 的 程 序 应 能 独 立 编 译, 不 能 依 赖 于 任 何 其 他 外 部 文 件 ( 包 括 测 试 库 ) 时 间 限 制 : 3000ms 2.2. 关 键 思 路 题 目 大 意 是 有 m 种 病,n 种 特 征, 每 种 病 有 一 些 特 征 现 在 有 一 个 病 人, 你 可 以 问 他 有 没 有 一 些 特 征, 他 的 回 答 有 5 种, 分 别 是 肯 定 ( 是 否 ) 和 也 许 ( 也 许 是 否 ) 以 及 不 知 道, 肯 定 和 也 许 的 置 信 概 率 分 别 为 0.95,0.8, 然 后 通 过 询 问 得 出 结 论 这 个 病 人 患 了 何 种 病 我 的 做 法 是 问 出 他 所 有 的 特 征 回 答, 然 后 根 据 每 种 病 的 特 征 和 回 答 进 行 概 率 乘 法, 然 后 找 到 最 大 95

96 的 概 率 值 复 赛 第 一 场 第 三 题 :url 规 范 化 3.1. 题 目 题 目 描 述 : 互 联 网 上 很 多 不 同 url 都 是 指 向 同 一 页 面 的, 比 如 : search&ie=utf-8 都 指 向 的 是 同 一 页 面 : 我 们 需 要 把 不 同 形 式 的 url 规 范 化, 用 统 一 的 url 代 替 目 前 已 经 定 义 了 一 批 规 范 化 规 则, 你 的 任 务 是 把 一 些 待 处 理 的 url 按 规 则 替 换 成 新 的 url 每 条 规 则 都 是 一 个 字 符 串 为 了 方 便 理 解, 我 们 定 义 如 下 术 语 : 通 配 符 : 字 符 #' 或 者 *', 以 及 紧 跟 其 后 的 长 度 限 定 符 ( 可 选 ) 其 中 #' 匹 配 数 字, *' 匹 配 任 意 字 符 长 度 限 定 符 : 紧 跟 通 配 符 后, 格 式 为 [min-max], 表 示 该 通 配 符 匹 配 的 字 符 个 数 的 最 小 值 和 最 大 值, 其 中 min 和 max 均 可 以 省 略 ( 但 不 能 同 时 省 略 ), 当 min=max 时 可 以 简 写 为 [min] #' 的 默 认 最 小 长 度 为 1, *' 为 0 二 者 的 默 认 最 大 长 度 均 为 无 穷 大 例 如, #[3] 表 示 3 个 连 续 数 字, *[3-9] 表 示 3 到 9 个 任 意 字 符, *[-8] 表 示 0-8 个 任 意 字 符, #[7-] 表 示 至 少 七 个 连 续 数 字 注 意, 当 通 配 符 的 后 一 个 字 符 为 左 方 括 号 [' 时, 它 总 是 应 当 被 看 作 长 度 限 定 符 的 开 始 标 志 尖 括 号 : 成 对 的 小 于 符 号 "<" 和 大 于 符 号 ">" 尖 括 号 总 是 两 两 配 对, 不 存 在 无 法 配 对 的 孤 立 尖 括 号, 且 尖 括 号 内 部 不 会 出 现 通 配 符, 也 不 会 嵌 套 另 一 对 尖 括 号 规 则 片 段 : 在 处 理 规 则 之 前, 我 们 把 规 则 分 成 若 干 个 连 续 的 片 段, 每 个 片 段 是 单 个 通 配 符 ( 以 及 紧 随 其 后 的 长 度 限 定 符, 如 果 有 的 话 ) 一 对 尖 括 号 ( 以 及 括 号 内 的 字 符, 如 果 有 的 话 ), 或 者 若 干 个 连 续 的 普 通 字 符 ( 不 含 通 配 符 和 尖 括 号 ) 为 了 避 免 歧 义, 规 则 应 当 被 划 分 成 最 少 的 片 段 不 难 证 明, 此 时 的 划 分 方 法 是 惟 一 的 例 如, 规 则 "abc*d#[4-7]eeef<gh>i 包 含 7 个 规 则 片 段 :abc * d #[4-7] eeef <gh> i 用 某 一 条 规 则 处 理 url 时, 我 们 遵 循 以 下 步 骤 : 第 一 步 : 匹 配 首 先, 忽 略 含 有 尖 括 号 的 规 则 片 段, 用 其 他 片 段 来 匹 配 url, 使 得 每 个 片 段 所 匹 配 的 字 符 串 从 左 到 右 连 接 之 后 和 该 url 完 全 相 等 注 意, 连 接 顺 序 必 须 按 照 规 则 片 段 的 顺 序 从 左 到 右 进 行 根 据 定 义, 由 普 通 字 符 组 成 的 片 段 只 能 匹 配 和 它 完 全 相 同 的 字 符 串, 而 通 配 符 可 以 匹 配 多 样 化 的 字 符 串, 规 则 如 前 所 述 例 如,abc<x>def*[3-5]ghi 在 忽 略 尖 括 号 后 得 到 四 个 片 段 :abc def * [3-5] ghi, 因 此,abc<x>def*[3-5]ghi 能 匹 配 到 的 url 是 那 些 以 abcdef 开 头,ghi 结 尾, 中 间 有 3 到 5 个 字 符 的 字 符 串 如 果 无 法 匹 配, 说 明 该 规 则 不 适 用 于 此 url, 处 理 结 束 ; 但 有 时 会 出 现 匹 配 方 式 不 止 一 种 的 情 况, 还 需 要 消 除 歧 义 例 如 *bc<d>*<xyz> 匹 配 abcabca 的 方 法 有 两 种 : 96

97 在 本 题 中, 如 果 出 现 像 这 样 匹 配 方 法 不 惟 一 的 情 况, 你 应 当 选 择 让 从 左 到 右 第 一 个 通 配 符 匹 配 字 符 数 最 少 的 方 案 如 果 还 有 多 种 方 案, 再 选 择 其 中 让 第 二 个 通 配 符 匹 配 字 符 串 最 少 的 方 案, 以 此 类 推 在 上 面 的 例 子 中, 应 选 择 第 一 种 方 案 第 二 步 : 替 换 对 于 每 对 尖 括 号, 把 它 左 边 相 邻 的 url 片 段 替 换 为 尖 括 号 内 的 文 本, 然 后 连 接 所 有 url 片 段 ( 输 入 数 据 保 证 规 则 不 以 左 尖 括 号 开 头, 并 且 相 邻 两 对 尖 括 号 之 间 至 少 包 含 一 个 字 符 ) 我 们 仍 然 借 助 上 例 说 明 问 题 : 也 就 是 说, abcabca 被 规 则 *bc<d>*<xyz> 处 理 后 变 成 了 adxyz 再 举 一 个 实 际 的 例 子 :*/viewthread.php?tid=#&<>*<> 表 示 将 url 文 件 名 为 viewthread.php, 第 一 个 参 数 名 为 tid 且 参 数 值 为 数 字 时, 把 其 它 参 数 删 除 换 句 话 说, 这 条 规 则 将 把 替 换 为 输 入 格 式 : 第 一 行 为 一 个 正 整 数 M, 说 明 共 有 M 条 规 则 第 二 行 为 一 个 正 整 数 N, 说 明 共 有 N 条 url 接 下 来 M 行, 每 行 代 表 一 条 规 则, 不 超 过 256 个 字 符 再 接 下 来 N 行, 每 行 代 表 一 条 url 所 有 URL 都 去 掉 了 头, 且 不 含 #*<> 四 种 特 殊 字 符, 也 不 超 过 256 个 字 符 M<=1000, N<=10000, 输 入 的 url 和 规 则 均 不 含 汉 字 50% 的 数 据 保 证 N<=100,90% 的 数 据 保 证 N<=1000 输 出 格 式 : 输 出 共 N 行 对 每 一 行 输 入 的 url, 按 照 输 入 顺 序 依 次 考 虑 所 有 规 则, 直 到 某 个 规 则 修 改 url 时 输 出 替 换 后 的 新 url( 如 果 匹 配 成 功, 但 修 改 前 后 url 并 没 有 发 生 变 化, 不 算 修 改, 应 继 续 尝 试 剩 下 的 规 则 ), 然 后 忽 略 剩 下 的 规 则 如 果 没 有 匹 配 的 规 则, 则 把 输 入 的 url 按 照 原 样 重 新 输 出 输 入 数 据 : 5 7 blog.sina.com.cn/s/blog_*.html*~type=<>*<> you.video.sina.com.cn/*[0]falsepage/<>#<>.html<> club.*<club>.sina.com.cn/*[1]* blog.sina.com.cn/s/circleinfo_<blog.sina.com.cn/>*<>.html<> blog.sina.com.cn/s/blog_4ab97cd40100hwx9.html?t=j1~type=v5_one&label=rela_prevar ticle you.video.sina.com.cn/falsepage/ html club.edu.sina.com.cn/index.html blog.sina.com.cn/s/circleinfo_4859f1fa010004zx_1.html 输 出 数 据 : blog.sina.com.cn/s/blog_4ab97cd40100hwx9.html?t=j1 you.video.sina.com.cn/ club.club.sina.com.cn/index.html blog.sina.com.cn/ 97

98 时 间 限 制 : 5000ms 3.2. 关 键 思 路 这 道 题 是 一 道 典 型 的 模 拟 类 型 的 题 目, 需 要 按 照 题 目 要 求 的 方 法 对 规 则 进 行 解 析, 以 及 对 URL 进 行 操 作 算 法 上 没 有 太 大 难 度, 重 点 在 数 据 结 构 的 建 立 以 及 对 题 目 描 述 的 归 纳 实 现 本 题 主 要 包 含 两 个 部 分 : 规 则 的 解 析, 和 URL 的 处 理 在 规 则 解 析 中, 可 以 建 立 了 三 个 保 存 规 则 的 结 构 体 分 别 表 示 规 则 替 换 规 则 片 段 以 及 普 通 规 则 片 段, 其 中 规 则 包 含 两 个 列 表, 分 别 保 存 替 换 以 及 普 通 规 则 片 段 在 替 换 规 则 片 段 中, 保 存 替 换 的 字 符 串 以 及 被 替 换 普 通 片 段 的 下 标 ; 在 普 通 片 段 中 则 保 存 该 片 段 的 类 型 ( 通 配 符 / 字 符 串 ), 以 及 通 配 符 的 长 度 限 定 信 息 通 过 扫 描 一 次 字 符 串, 可 以 将 读 入 的 每 条 规 则 保 存 到 上 述 的 结 构 中, 以 便 后 面 的 匹 配 过 程 使 用 在 URL 处 理 过 程 中, 利 用 上 述 结 构 中 的 规 则 数 据, 对 每 一 条 读 入 的 URL 进 行 匹 配 匹 配 过 程 中 将 对 应 的 几 种 规 则 片 段 进 行 分 别 考 虑 当 对 应 的 规 则 片 段 为 字 符 串 时, 则 直 接 比 较, 若 成 功 进 入 下 一 个 片 段, 否 则 返 回 失 败 信 息 ; 当 对 应 的 规 则 片 段 为 通 配 符 时, 则 从 小 到 大 对 通 配 符 指 代 的 字 符 串 长 度 进 行 枚 举, 对 每 一 种 情 况 都 进 入 下 一 片 段 继 续 匹 配, 当 某 种 情 况 可 以 匹 配 到 字 符 串 末 尾 时, 则 返 回 成 功 完 成 对 应 规 则 的 匹 配 后, 根 据 规 则 中 附 带 的 替 换 规 则 对 匹 配 后 的 URL 进 行 替 换, 最 后 输 出 结 果 这 种 方 法 在 规 则 解 析 阶 段 中 为 线 性 时 间 复 杂 度,URL 处 理 过 程 中 除 了 通 配 符 会 造 成 一 些 冗 余 外 也 为 线 性 复 杂 度 当 通 配 符 较 多 时 会 对 代 码 执 行 性 能 造 成 一 定 影 响, 但 总 体 上 还 是 十 分 高 效 的 空 间 上 根 据 输 入 规 则 的 不 同 进 行 动 态 分 配, 可 以 满 足 题 目 的 要 求 98

99 复 赛 第 一 场 第 四 题 : 并 行 修 复 4.1. 题 目 题 目 描 述 : 百 度 的 网 页 按 照 某 种 标 准 均 匀 划 分 为 N 组, 每 组 数 据 编 号 为 0 到 N-1 的 整 数 一 组 网 页 可 以 全 部 存 入 一 个 数 据 库 中 为 了 保 证 数 据 的 可 靠 性, 每 一 组 网 页 按 X 份 镜 像 存 储, 互 为 备 份, 且 任 两 份 镜 像 不 会 分 布 在 同 一 台 主 机 上 当 有 F 台 机 器 因 故 障 而 失 效 时, 部 分 网 页 组 对 应 的 镜 像 数 目 可 能 会 低 于 X 份, 此 时 需 要 复 制 镜 像, 使 系 统 重 新 恢 复 到 每 组 网 页 均 有 X 份 镜 像 的 状 态 假 设 系 统 中 一 共 有 M 台 主 机, 主 机 编 号 从 0 到 M-1 每 台 主 机 的 性 能 和 网 络 带 宽 均 相 同 一 台 主 机 最 多 可 以 存 储 T 个 大 小 相 同 的 数 据 库 每 台 主 机 任 意 时 刻 最 多 允 许 C 个 并 发 网 络 连 接 一 次 复 制 操 作 占 用 源 主 机 和 目 标 主 机 各 一 个 网 络 连 接, 源 主 机 和 目 标 主 机 不 允 许 相 同 若 一 对 源 主 机 和 目 标 主 机 在 同 一 时 刻 进 行 多 次 (B > 1) 复 制 操 作, 则 占 用 源 主 机 和 目 标 主 机 各 B 个 网 络 连 接 记 一 份 镜 像 的 一 次 复 制 用 时 为 1 单 位 假 定 每 次 复 制 的 启 动 时 间 点 必 须 为 非 负 整 数, 请 设 计 一 种 修 复 算 法, 对 于 给 定 的 某 种 镜 像 分 布 状 态 和 失 效 的 主 机 编 号 集 合, 输 出 一 种 恢 复 方 案, 使 数 据 恢 复 的 总 用 时 尽 可 能 短 输 入 集 合 保 证 系 统 能 够 从 故 障 中 恢 复 下 图 中 给 出 了 当 N=4,X=3,M=6,T=6,C=1 时,0 号 主 机 故 障 时 的 一 种 恢 复 方 案, 箭 头 表 示 复 制 的 方 向, 箭 头 盘 旁 的 数 字 代 表 该 次 复 制 的 启 动 时 间 点 输 入 格 式 : 输 入 包 含 N+2 行 第 一 行 包 含 五 个 正 整 数 N,X,M,T,C, 接 下 来 的 N 行 依 次 表 示 第 0 到 N- 1 组 网 页 的 镜 像 分 布 状 态, 每 行 有 X 列 整 数, 为 该 组 网 页 的 镜 像 所 在 的 主 机 编 号 最 后 一 行 由 F 个 整 数 组 成, 表 示 故 障 主 机 的 编 号 ( 注 意 :F 本 身 不 在 输 入 中 出 现, 你 需 要 统 计 最 后 一 行 的 整 数 个 数, 以 获 取 F 的 值 ) N<=40000,2<=X<=8,2<=M<=4000,T<=600,C<=4, F<=10 输 出 格 式 : 输 出 一 个 数 据 恢 复 方 案 方 案 包 含 若 干 行, 每 行 代 表 一 次 镜 像 复 制 操 作, 由 四 个 整 数 W, S, D, T 组 成 W 代 表 网 页 组 编 号,S 为 源 镜 像 所 在 主 机 编 号,D 为 目 标 镜 像 所 在 主 机 编 号,T 为 复 制 的 启 动 时 间 点 ( 起 始 时 间 为 0) 各 复 制 操 作 应 按 照 T 从 小 到 大 排 序 99

100 输 入 数 据 : 输 出 数 据 : 该 方 案 用 了 2 单 位 时 间 ( 耗 时 最 多 的 主 机 编 号 为 2) 时 间 限 制 : 5000ms 4.2. 关 键 思 路 Step 1: 注 意 到 数 据 组 数 N 虽 然 达 到 40000, 但 是 损 坏 的 机 子 只 有 F<=10, 并 且 每 个 机 子 的 数 据 容 量 T<=600, 也 就 是 说 损 坏 的 数 据 种 类 最 多 不 超 过 F*T<=6000, 其 余 的 都 是 没 有 用 的 Step 2: 先 考 虑 一 个 简 化 的 问 题, 即 每 种 数 据 只 损 坏 了 一 个, 我 们 现 在 要 对 每 个 有 用 的 数 据 ( 没 有 损 坏 的 数 据 看 作 是 没 用 的 数 据 ) 将 它 复 制 到 其 中 一 台 没 有 损 坏 且 不 包 含 这 个 数 据 的 机 器 上, 这 个 过 程 中 必 须 保 证 不 超 过 机 器 的 数 据 容 量 假 设 我 们 替 每 个 数 据 选 定 了 一 个 待 复 制 的 机 器, 并 且 确 定 了 复 制 的 源 机 器, 我 们 将 源 机 器 和 目 标 机 器 连 一 条 有 向 边, 那 么 问 题 就 抽 象 为 : 给 一 张 带 有 重 边 的 无 向 图 <V,E>, 我 们 需 要 将 它 拆 分 成 数 量 尽 量 少 的 子 图 <V,E1>,<V,E2>,...,<V,EK>, 使 得 Ei Ej= 为 空 (i!=j),e1 E2... Ek=E, 且 每 个 子 图 的 度 数 不 大 于 C 很 明 显, 原 图 的 最 大 度 数 越 小, 所 分 的 期 望 子 图 个 数 就 越 少 Step 3: 对 于 原 本 的 问 题, 假 设 我 们 得 到 了 每 组 数 据 所 需 要 复 制 到 的 机 器 集 合, 并 且 我 们 得 到 了 复 制 的 每 个 目 标 机 器 和 源 机 器, 如 果 我 们 忽 略 掉 中 间 过 程 (A->B->C, 我 们 假 设 A->C,A- >B 也 是 合 法 的 ) 那 么 问 题 就 和 Step 2 完 全 相 同 但 是 我 们 无 法 忽 略 掉 这 个 条 件, 是 否 step 2 的 思 路 就 不 能 用 了? 我 们 注 意 到 X<=8, 说 明 每 组 数 据 最 多 复 制 7 遍, 也 就 是 说, 如 果 我 们 按 照 step 2 的 思 路 做 的 话, 简 化 问 题 的 时 间 和 原 问 题 的 时 间 相 差 不 会 超 过 7, 所 以 我 们 的 目 标 还 是 使 得 原 图 的 最 大 度 数 最 小 Step4: 如 果 我 们 得 到 了 数 据 i 所 要 复 制 的 机 器 集 合 S 和 为 损 坏 的 源 机 器 集 合 S, 我 们 的 目 标 是 选 择 适 当 的 边 集 E, 使 得 整 张 图 的 最 大 度 数 最 小,S 中 的 任 意 点 x, 可 以 通 过 E 到 达 S 中 至 少 一 个 点 我 们 使 用 贪 心 来 解 决 这 个 问 题 : 将 S 所 有 点 标 为 蓝 点,S 所 有 点 标 为 白 点, 每 次 我 们 从 蓝 点 中 取 出 一 个 度 数 最 小 的 点, 并 且 取 出 任 意 一 个 白 点, 然 后 将 两 个 点 连 边, 更 新 度 数 并 且 将 当 前 白 点 标 为 蓝 点, 直 到 没 有 白 点 为 止 ( 注 意 这 里 的 度 数 代 表 的 是 原 图 的 度 数 ) Step5: 算 法 实 现 : 我 们 刚 开 始 先 选 一 个 可 行 解 ( 可 以 先 将 每 个 数 据 需 要 复 制 的 组 数 从 大 到 小 排 序, 然 后 再 将 可 复 制 的 机 器 选 出, 按 容 量 从 大 到 小 排 序 取 出 前 Y 个 (Y 为 当 前 数 据 需 要 复 制 的 组 数 ), 再 将 这 些 目 标 机 器 向 任 意 一 源 机 器 连 一 条 边 ), 然 后 进 行 随 机 调 整 随 机 调 整 分 为 两 种 调 整 :1 随 机 选 一 组 数 据, 删 掉 当 前 数 据 所 有 的 边 信 息, 然 后 按 照 step4 进 行 调 整 ( 显 然 不 同 调 整 顺 序 会 导 致 解 的 不 同, 但 是 每 次 调 整 必 然 会 导 致 最 大 度 数 的 减 少, 要 不 然 100

101 就 回 调 整 为 调 整 前 的 状 态 即 最 大 度 数 不 变 ), 由 于 该 调 整 会 降 低 最 大 度 数, 所 以 更 新 原 图 2 随 机 选 一 组 数 据, 删 掉 当 前 数 据 所 有 的 边 信 息, 然 后 随 机 选 一 个 目 标 机 器 删 除, 再 选 一 个 新 的 目 标 机 器 加 入, 然 后 俺 step4 调 整 当 前 数 据 ( 注 意 该 调 整 可 能 会 导 致 最 大 度 数 的 增 加 ), 最 后 比 较 调 整 完 的 最 大 度 数 和 调 整 前 的 最 大 度 数, 若 变 大 则 取 消 调 整, 否 则 调 整 成 功 完 由 于 本 题 解 不 唯 一, 所 以 只 给 出 一 个 参 考 解, 若 有 更 好 的 思 路 欢 迎 补 充 复 赛 第 一 场 第 五 题 : 猜 猜 你 在 哪 儿 5.1. 题 目 题 目 描 述 : 有 一 个 半 径 为 1 米 的 圆, 圆 心 位 于 (0,0) 点 你 和 圆 处 在 同 一 平 面 上, 准 备 和 这 个 圆 一 起 玩 游 戏 这 个 圆 每 过 一 分 钟 会 随 机 移 动 一 次, 一 共 移 动 t 次 圆 有 一 个 移 动 距 离 限 制 参 数 s, 每 次 圆 心 从 (x1,y1) 移 动 到 (x2,y2) 时 总 是 满 足 : x1-x2 <=s, y1-y2 <=s 每 次 圆 移 动 完 成 后, 你 可 以 依 次 询 问 k 个 点 是 否 在 圆 内, 然 后 任 意 走 到 一 个 新 的 位 置, 结 束 这 个 回 合 你 的 目 标 是 尽 量 让 自 己 位 于 圆 内, 并 且 离 圆 心 越 近 越 好 每 个 回 合 结 束 后, 若 你 在 圆 的 边 界 上 或 者 圆 外, 得 0 分 ; 若 在 圆 内, 得 分 为 (1- 你 到 圆 心 的 距 离 / 圆 的 半 径 ) 所 有 t 个 回 合 结 束 后, 每 个 回 合 的 平 均 得 分 就 是 你 对 于 该 测 试 点 的 原 始 得 分 交 互 : 你 的 程 序 应 当 读 写 标 准 输 入 输 出, 以 便 与 测 试 库 交 互 交 互 方 式 如 下 : 首 先, 你 的 程 序 应 从 标 准 输 入 读 入 三 个 数 t, s, k, 分 别 表 示 总 回 合 数 圆 心 移 动 的 距 离 限 制, 以 及 每 回 合 你 可 以 询 问 的 点 数 1<=t<=100, 0 < s < 1, 1<=k<=10 接 下 来, 你 应 当 分 k 行 给 出 各 个 询 问 点 的 坐 标 每 行 两 个 数 x 和 y, 即 询 问 坐 标 为 (x,y) 的 点 每 次 询 问 一 个 点 之 后, 你 的 程 序 应 当 从 标 准 输 入 读 入 一 个 数 a,1 表 示 询 问 点 在 圆 上 或 者 圆 的 边 界 上,0 表 示 在 圆 外 再 接 下 来, 你 的 程 序 应 当 往 标 准 输 出 写 两 个 数 x 和 y, 表 示 你 要 走 到 的 新 位 置 的 坐 标 完 成 所 有 t 个 回 合 之 后, 你 的 程 序 应 当 自 行 退 出, 否 则 将 按 超 时 处 理 程 序 举 例 : 下 面 是 一 个 示 例 程 序 ( 省 略 了 include), 它 能 正 确 的 与 测 试 库 进 行 交 互, 尽 管 它 的 得 分 可 能 不 高 : int main() { int t, k; float s; scanf( %d%f%d, &t, &s, &k); for(int i = 0; i < t; i++) { 101

102 for(int j = 0; j < k; j++) { int ans = 0; printf( 0.%d 0.%d\n, rand(), rand()); fflush(stdout); scanf( %d, &ans); // 1 表 示 仍 然 在 圆 里 或 圆 的 边 界 上,0 表 示 在 圆 外 } printf( 0.%d 0.%d\n, rand(), rand()); } } 注 意, 你 的 程 序 应 当 像 上 面 的 程 序 一 样, 在 每 次 读 取 新 的 输 入 之 前 调 用 fflush(stdout), 以 确 保 这 之 前 输 出 的 内 容 立 即 被 送 入 测 试 库 ( 而 不 是 留 在 输 出 缓 冲 区 中 ) 另 外, 你 的 程 序 应 能 独 立 编 译, 不 能 依 赖 于 任 何 其 他 外 部 文 件 ( 包 括 测 试 库 ) 时 间 限 制 : 1000ms 5.2. 关 键 思 路 由 于 此 题 无 正 确 解, 且 当 k=1 时 几 乎 不 可 做 根 据 此 题 采 用 相 对 评 分, 所 以 我 们 的 目 标 是 比 其 他 选 手 的 得 分 要 高, 而 不 是 最 优 由 于 时 间 紧 迫, 相 对 于 其 他 题 目 来 说, 此 题 应 投 入 较 少 时 间 普 遍 提 交 的 纯 随 机 做 法 在 询 问 的 k 个 点 都 不 在 圆 内 时, 很 容 易 就 找 不 到 圆 了, 以 至 于 以 后 都 无 法 找 到 圆, 后 面 的 轮 数 中 得 分 均 未 0 以 下 给 出 一 种 稍 加 修 改 的 带 阀 值 随 机 投 点 做 法 相 比 于 上 述 做 法, 在 询 问 k 个 点 均 不 在 圆 内 时, 由 于 我 们 知 道 圆 心 初 始 位 置 (0,0) 以 及 圆 心 每 次 移 动 范 围 s 为 一 个 矩 形, 那 么 第 i 轮 圆 心 在 的 位 置 便 为 i * s 的 矩 形 内 由 于 s 很 小, 所 以 在 第 i 轮 我 们 找 不 到 圆 时, 下 一 轮 我 们 采 取 在 (i + 1) * s 的 矩 形 内 随 机 投 点, 试 图 找 到 圆 大 概 的 位 置 而 一 旦 找 到 圆 的 大 概 位 置, 我 们 再 在 新 的 圆 心 所 在 坐 标 差 不 超 过 s 的 矩 形 内 寻 找 下 一 次 移 动 的 位 置 复 赛 第 二 场 第 一 题 : 购 物 搜 索 调 研 6.1. 题 目 题 目 描 述 : 有 啊 是 百 度 旗 下 的 电 子 商 务 购 物 平 台, 每 天 都 有 上 百 万 的 用 户 在 平 台 上 搜 索 自 己 想 要 购 买 的 商 品 为 了 给 用 户 更 好 的 搜 索 体 验, 工 程 师 们 准 备 做 一 次 搜 索 策 略 的 调 研 工 作 假 设 对 于 某 一 个 特 定 的 查 询 词 来 说, 一 共 有 N 个 相 关 商 品, 并 且 通 过 人 工 标 注 得 到 每 个 商 品 与 查 询 词 的 相 关 度 reli 当 用 户 输 入 这 个 查 询 词 时, 可 以 采 取 一 种 非 常 简 单 的 响 应 策 略, 就 是 在 N 个 相 关 商 品 中 随 机 的 找 一 段 连 续 的 商 品 子 序 列 返 回 给 用 户 工 程 师 认 为, 在 每 次 返 回 结 果 中 相 关 度 的 最 小 值 代 表 了 本 次 搜 索 结 果 的 分 数 score 102

103 用 户 在 搜 索 时, 心 中 往 往 会 对 结 果 有 个 期 望 分 数 expect, 当 搜 索 结 果 的 分 数 score 高 于 用 户 的 预 期 expect 时, 该 用 户 的 满 意 度 为 score expect; 否 则 用 户 的 满 意 度 为 0 假 设 在 上 述 响 应 策 略 中, 返 回 的 子 序 列 是 完 全 随 机 的 ( 即 每 段 连 续 子 序 列 被 选 中 的 概 率 完 全 相 同 ), 你 的 任 务 是 计 算 每 个 用 户 满 意 度 的 数 学 期 望 输 入 格 式 : 输 入 第 一 行 包 含 一 个 正 整 数 T, 表 示 测 试 数 据 的 组 数 每 组 测 试 数 据 的 第 一 行 为 相 关 商 品 的 数 量 N, 第 二 行 为 N 个 整 数, 分 别 表 示 每 个 商 品 与 查 询 词 的 相 关 度 reli( 用 空 格 分 隔 ) 第 三 行 为 一 个 正 整 数 M, 表 示 参 与 调 研 的 用 户 数 量, 接 下 来 的 M 行 中 的 每 一 行 都 是 一 个 整 数 expect, 表 示 该 用 户 在 搜 索 时 预 期 的 分 数 值 其 中 1 <= T <= 10,1 <= N, M <= 100,000, -109 <= reli, expect <= 109 输 出 格 式 : 对 于 每 组 测 试 数 据, 首 先 输 出 一 行 Case #:, 其 中 # 表 示 测 试 数 据 编 号 ( 从 1 开 始 ), 注 意 空 格 与 大 小 写 接 下 来 的 M 行, 按 照 输 入 顺 序 依 次 给 出 每 个 用 户 在 这 种 响 应 策 略 下 满 意 度 的 期 望 值, 每 个 用 户 占 一 行 为 了 避 免 精 度 问 题, 期 望 值 用 最 简 分 数 A/B 表 示, 其 中 A 与 B 互 质,B 是 正 整 数 当 结 果 是 整 数 时, 应 只 输 出 A 样 例 输 入 : 样 例 输 出 : Case 1: 5/6 Case 2: 7/10 3/2 Case 3: 4 样 例 说 明 : 在 Case 1 中, 可 能 返 回 的 子 序 列 一 共 有 6 个 [1], [3], [5], [1 3], [3 5], [1 3 5], 对 应 的 分 数 ( 相 关 度 最 小 值 ) 为 1, 3, 5, 1, 3, 1, 用 户 满 意 度 依 次 为 0, 1, 3, 0, 1, 0 每 个 子 序 列 被 返 回 的 概 率 相 同, 即 为 1/6 根 据 数 学 期 望 的 定 义 可 以 得 出 该 用 户 的 满 意 度 期 望 值 是 5/6 时 间 限 制 : 1000ms 103

104 6.2. 关 键 思 路 题 意 比 较 明 确, 给 一 个 长 度 为 n 的 序 列 ai, 然 后 M 次 询 问 每 次 询 问 是 给 出 一 个 数 k, 然 后 在 序 列 A 里 面 随 机 取 一 段 连 续 的 序 列, 其 中 这 个 序 列 中 的 最 小 值 为 x, 然 后 这 个 序 列 的 得 分 是 max(x-k, 0), 问 得 分 的 数 学 期 望 是 多 少 总 共 可 能 产 生 的 序 列 是 n*(n+1)/2, 这 个 是 要 求 的 数 学 期 望 的 分 母, 关 键 是 分 子 怎 么 求 我 们 计 算 将 每 一 个 ai 作 为 最 小 值 的 序 列 个 数 首 先 可 以 通 过 单 调 栈 处 理 出 ai 左 边 第 一 个 比 ai 小 的 位 置 li, 右 边 第 一 个 比 ai 小 的 位 置 ri, 那 么 在 任 何 序 列 左 端 点 在 [li+1,i] 之 间, 右 端 点 在 [i,ri-1] 之 间 的 最 小 值 都 是 ai, 个 数 是 (i-li)*(ri-i) 但 有 一 种 特 殊 情 况, 就 是 [li+1,ri-1] 这 端 区 间 内 不 止 一 个 数 为 ai, 也 就 是 最 小 值 不 唯 一 比 如 , 在 处 理 第 一 个 2 的 时 候 会 得 到 区 间 {2}.{3,2},{2,4},{3,2,4},{2,4,2},{3,2,4,2}, 在 处 理 第 二 个 2 的 时 候 {3,2,4,2},{2,4,2} 这 两 个 区 间 重 复 计 算 了 也 就 是 说 同 一 段 区 间 里 面 有 几 个 不 同 的 最 小 值 需 要 去 重 解 决 方 法 也 很 简 单 : 假 设 当 前 处 理 区 间 为 [l,r], 最 小 值 为 ai, 位 置 分 别 为 l < p1 <= p2 <=... <= pm < r, 处 理 p1 的 时 候 依 然 是 (p1 - l)*(r - p1), 处 理 p2 的 时 候 发 现 多 出 的 部 分 为 左 端 点 在 [p1+1,p2], 右 端 点 在 [p2,r-1] 的 部 分, 因 此 去 重 后 应 当 加 (p2 - p1) * (r - p2), 后 面 都 是 同 理 了 这 里 需 要 处 理 一 下 每 个 数 前 一 个 和 他 相 同 的 数 的 位 置 最 后 算 答 案 的 时 候 就 是 sigma((ai - k)*gi)/(n*(n+1)/2) (ai >= k, gi 为 最 小 值 为 ai 的 序 列 个 数 ), 由 于 询 问 次 数 很 多, 考 虑 每 次 取 的 都 是 较 大 的 几 个 ai, 排 序 后 处 理 一 下 ai 的 后 缀 和 以 及 ai*gi 后 缀 和, 然 后 根 据 查 询 的 k 二 分 位 置 给 出 答 案 就 完 成 了 复 赛 第 二 场 第 二 题 : 内 存 碎 片 7.1. 题 目 题 目 描 述 : 在 服 务 器 上 运 行 的 模 块, 往 往 要 连 续 运 行 几 个 月 不 重 启 这 期 间, 各 种 程 序 会 不 停 地 申 请 释 放 内 存, 因 而 导 致 大 量 的 内 存 碎 片 例 如, 有 一 块 大 小 为 4K 的 内 存, 还 有 一 块 5K 的 内 存, 但 是 由 于 二 者 地 址 不 连 续, 无 法 从 中 申 请 一 块 6K 的 连 续 内 存 解 决 这 个 问 题 的 方 法 之 一 是 使 用 内 存 池, 即 把 已 释 放 的 内 存 块 链 起 来, 而 不 直 接 还 回 操 作 系 统, 下 一 次 申 请 这 个 大 小 的 内 存 块 的 时 候, 直 接 从 链 表 里 获 得 内 存 即 可 然 而, 这 样 做 有 个 风 险 : 用 户 可 能 在 一 段 时 间 内 只 需 要 长 度 为 L 的 内 存, 过 一 段 时 间 后 全 部 释 放 ; 接 下 来 申 请 长 度 为 L 的 内 存, 造 成 长 度 为 L 的 内 存 大 量 浪 费 为 了 避 免 上 述 风 险, 一 般 的 做 法 是 : 当 程 序 申 请 长 度 为 L 的 内 存 时, 也 可 以 给 它 分 配 一 快 长 度 为 L (L >L) 的 更 大 的 内 存 块, 并 且 限 制 内 存 池 中 内 存 长 度 的 种 类 给 出 n 个 内 存 块 申 请, 你 的 任 务 是 计 算 出 在 最 好 情 况 下, 至 少 需 要 多 少 内 存 才 能 满 足 所 有 的 需 求 注 意 : 有 的 内 存 池 允 许 将 内 存 块 串 连 起 来, 组 成 一 个 更 大 的 内 存 块, 但 是 串 联 需 要 使 用 指 针, 在 管 理 小 内 存 的 时 候 比 较 浪 费, 所 以 本 题 规 定 内 存 块 不 许 串 连 输 入 格 式 : 第 一 行 为 两 个 正 整 数 N 和 K, 其 中 N 表 示 内 存 请 求 的 数 目,K 表 示 内 存 池 中 允 许 有 K 种 不 同 的 长 度 的 内 存 块 以 下 N 行 每 行 包 含 两 个 正 整 数 Li 和 Ci, 表 示 申 请 长 度 为 Li 的 内 存 块 104

105 Ci 次 N<=10000, K<=200, Li < , Ci<=10000 输 出 格 式 : 输 出 仅 一 个 整 数, 即 在 最 好 情 况 下, 至 少 需 要 多 少 内 存 才 能 满 足 所 有 的 需 求 样 例 输 入 : 样 例 输 出 : 42 样 例 解 释 : 长 度 为 11 的 块 两 个, 长 度 为 20 的 一 个 时 间 限 制 : 1000ms 7.2. 关 键 思 路 首 先 合 并 相 同 长 度 的 内 存 碎 片, 然 后 根 据 题 意 很 快 就 可 以 得 到 一 个 DP 转 移 方 程 : F[N][K] 表 示 前 N 个 数 分 成 K 块 的 最 小 答 案 F[N][1] = sum(n)*length[n]; F[N][K] = min(f[u][k-1]+( sum[n]-sum[u]) )*length[n]); //length[i] 表 示 从 小 到 大 排 序 之 后, 第 i 小 的 块 的 长 度 //sum[i] 表 示 排 序 后 的 块 的 数 量 的 前 缀 和 但 是 这 个 DP 是 N*N*K 的, 考 虑 优 化 将 式 子 化 简 : F[N][K] = min(f[u][k-1]-sum[u]*length[n])+sum[n]*length[n]; 想 一 想 F 数 组 的 意 思, 就 会 发 现 有 着 单 调 性, 即 F[u][K-1]-sum[u]*length[N] 这 个 东 西 是 随 着 u 的 增 加 递 减 的 于 是 我 们 只 需 要 直 接 将 u=n-1 即 可 105

106 复 赛 第 二 场 第 三 题 : 蜗 牛 8.1. 题 目 题 目 描 述 : 一 只 蜗 牛 某 天 早 晨 掉 进 了 深 为 L 尺 的 井 中 蜗 牛 每 天 白 天 可 以 向 上 爬 若 干 尺, 晚 上 休 息 时 会 向 下 滑 若 干 尺 蜗 牛 一 旦 到 达 井 口 或 井 底, 便 不 再 下 滑 假 设 蜗 牛 每 天 向 上 爬 的 尺 数 均 为 不 超 过 10 的 正 整 数, 而 下 滑 的 尺 数 为 不 超 过 5 的 正 整 数 蜗 牛 在 第 N 天 白 天 里 ( 含 第 N 天 白 天 结 束 时 ) 爬 出 了 井, 你 的 任 务 是 统 计 有 多 少 种 可 能 的 爬 升 / 下 滑 情 况 对 于 两 种 爬 升 / 下 滑 情 况, 当 存 在 对 应 的 白 天 上 爬 或 者 晚 上 下 滑 的 尺 数 不 同 时, 即 视 为 不 同 的 情 况 输 入 格 式 : 第 一 行 : 井 深 L 其 中 L 为 正 整 数, 且 L<=100; 第 二 行 : 爬 出 的 天 数 N 其 中 N 为 正 整 数, 且 N<=300 输 出 格 式 : 输 出 一 个 正 整 数, 为 可 能 的 爬 升 / 下 滑 情 况 总 数 如 不 可 能 在 N 天 白 天 里 ( 含 第 N 天 白 天 结 束 时 ) 爬 出 深 为 L 的 井, 则 应 输 出 0 样 例 : 输 入 : 27 3 输 出 : 6 解 释 : 输 入 指 明 井 深 为 27 蜗 牛 掉 下 去 后, 在 第 3 天 白 天 爬 出 了 井 一 共 有 6 种 可 能 的 上 升 / 下 滑 情 况 组 合 : ( 9, -1) (10, -1) =27 (10, -1) ( 9, -1) =27 (10, -1) (10, -1) =27 (10, -1) (10, -1) >27 ( 第 3 天 白 天 未 结 束 时, 爬 出 了 井 ) (10, -1) (10, -2) =27 (10, -2) (10, -1) =27 样 例 2 输 入 : 5 4 输 出 : 5033 样 例 3 输 入 : 输 出 :

107 时 间 限 制 : 1000ms 8.2. 关 键 思 路 这 道 题 大 概 是 这 次 复 赛 中 最 水 的 题 目, 是 一 道 简 单 的 dp 设 状 态 f(i, j) 表 示 蜗 牛 用 i 天 爬 出 深 度 为 j 的 井 的 情 况 总 数, 注 意 到 爬 升 和 下 滑 的 尺 数 分 别 只 有 10 和 5, 故 而 可 以 枚 举 爬 升 和 下 滑 的 尺 数, 从 第 i 天 的 情 况 推 出 第 i + 1 天 的 情 况 总 数, 在 O(10 * 5 * N * L) 的 复 杂 度 下 完 成 计 算 在 枚 举 下 滑 的 尺 数 时 要 注 意, 蜗 牛 下 滑 到 井 底 后 不 会 再 下 滑 ; 此 外 最 后 一 天 一 定 是 在 白 天 爬 出, 所 以 只 爬 升 不 下 滑 因 为 方 案 数 比 较 大, 这 道 题 需 要 高 精 度 运 算 此 外 如 果 把 dp 写 成 记 忆 化 搜 索 的 形 式, 极 端 数 据 下 ( 如 L = 100, N = 300) 会 爆 栈, 需 要 手 动 扩 栈 ; 在 G++ 和 VC++ 下 扩 栈 方 式 不 一 致, 这 里 不 再 多 述 下 面 给 出 两 种 dp 写 法 的 标 程 复 赛 第 二 场 第 四 题 : 午 餐 聚 会 9.1. 题 目 题 目 描 述 : 随 着 百 度 公 司 业 务 规 模 的 不 断 扩 大, 员 工 人 数 数 量 激 增 为 适 应 互 联 网 的 快 速 变 化, 保 持 公 司 的 灵 活 性, 原 来 的 一 个 部 门 被 划 分 为 好 几 个 小 组 便 于 组 织 和 管 理 划 分 成 几 个 小 组 后, 基 本 保 证 了 组 内 员 工 的 协 作 性 和 灵 活 性, 然 而 不 同 组 之 间 的 员 工 由 于 业 务 上 无 太 多 联 系, 致 使 组 与 组 之 间 的 员 工 相 对 生 疏 为 加 强 公 司 团 队 的 整 体 性, 促 进 不 同 组 之 间 经 验 的 分 享, 增 进 不 同 组 之 间 员 工 的 交 流, 公 司 决 定 在 同 一 部 门 不 同 组 之 间 开 展 午 餐 聚 会 活 动 操 作 方 法 很 简 单 : 每 次 从 每 个 组 中 各 随 机 选 出 一 名 员 工 一 起 吃 午 饭 假 设 这 个 部 门 有 N 个 组, 那 么 每 次 参 加 午 餐 聚 会 的 人 数 就 为 N 注 意, 如 果 这 N 个 人 的 组 合 已 经 出 现 过 一 次, 则 需 要 重 新 随 机 选 取 如 果 某 次 聚 会 后, 部 门 中 任 意 两 个 不 同 组 的 员 工 都 曾 一 同 参 加 过 午 餐 聚 会, 表 明 认 识 交 流 的 目 的 已 经 达 到, 因 此 不 再 继 续 举 行 午 餐 聚 会 由 于 每 次 参 加 聚 会 的 人 选 是 随 机 确 定 的, 总 的 聚 会 次 数 可 能 很 小, 也 可 能 很 大 为 了 做 预 算, 你 需 要 计 算 出 聚 会 次 数 的 最 小 值 和 最 大 值, 并 给 出 最 小 值 对 应 的 方 案 输 入 格 式 : 第 一 行 为 一 个 正 整 数, 即 该 部 门 的 组 数 N(N<=6), 接 下 来 的 N 行, 每 行 包 含 一 个 正 整 数 i, 代 表 该 组 的 员 工 数 (i<=10) 输 出 格 式 : 输 出 第 一 行 包 含 两 个 数 min 和 max, 其 中 min 为 最 小 聚 会 次 数,max 为 最 大 聚 会 次 数 以 下 min 行 描 述 了 聚 会 次 数 最 小 的 方 案, 其 中 每 行 描 述 一 次 聚 会, 包 含 n 个 参 加 聚 会 的 员 工 代 号, 从 左 到 右 依 次 代 表 第 一 组 第 二 组 第 三 组 的 组 员 编 号 ( 每 组 的 各 组 员 编 号 为 0 到 n-1) 样 例 输 入 :

108 2 2 2 样 例 输 出 : 时 间 限 制 : 5000ms 9.2. 关 键 思 路 首 先, 本 弱 菜 水 平 有 限, 无 法 给 出 完 整 解 法, 下 面 给 出 部 分 解 法 以 及 本 人 的 一 些 想 法 题 意 : 有 N(N<=6) 组 人, 每 组 Ki(Ki<=10) 人 同 组 内 的 人 互 相 认 识, 不 同 组 的 人 只 能 通 过 聚 会 认 识 每 次 聚 会 选 N 个 人, 每 组 1 人 聚 会 之 前 这 N 个 人 不 能 都 互 相 认 识 聚 会 结 束 后 这 N 个 人 便 互 相 认 识 当 所 有 人 互 相 认 识 后 便 不 再 举 行 聚 会 现 在 要 安 排 一 些 聚 会, 使 得 所 有 人 互 相 认 识, 求 聚 会 次 数 的 最 小 值 和 最 大 值, 并 给 出 最 小 值 时 的 方 案 关 于 最 大 值 首 先 给 出 最 大 值 的 答 案 : 证 明 : 我 们 把 第 i 组 编 号 为 j 的 人 记 做 i j 假 设 最 后 一 对 互 相 认 识 的 人 是 (a b,p q ), 那 么 (a b,p q ) 能 且 只 能 在 最 后 一 次 聚 会 出 现 则, 前 面 所 有 的 聚 会 只 要 不 出 现 (a b,p q ), 即 可 任 意 组 合 此 时 前 面 聚 会 次 数 的 最 大 值 等 于 a b 和 p q 不 同 时 出 现 的 所 有 聚 会 方 案 数 那 么 不 出 现 a b 的 聚 会 方 案 数 : 不 出 现 p q 的 聚 会 方 案 数 : 不 出 现 a b 和 p q 的 聚 会 方 案 数 : 108

109 根 据 容 斥 原 理 :a b 和 p q 不 同 时 出 现 的 所 有 聚 会 方 案 数 = 于 是 在 (a b,p q ) 最 后 出 现 的 前 提 下, 有 Ans_max = 因 为 是 定 值, 要 使 Ans_max 最 大, 只 需 使 最 小, 即 最 大 即 可 关 于 最 小 值 求 解 复 杂 度 简 要 分 析 已 知 聚 会 的 组 合 有 种 可 能, 对 于 极 限 数 据 有 S = = 10 6, 而 ans_min 的 值 ( 亦 即 搜 索 的 深 度 d) 有 可 能 达 到 几 十 甚 至 更 大, 那 么 复 杂 度 粗 略 估 计 就 是, 所 以 必 须 要 有 强 力 的 剪 枝 和 优 化 在 这 里 我 把 数 据 分 为 两 类 处 理 N<=3 的 情 况, 此 时 可 直 接 构 造 解 N = 1 时,ans_min = ans_max = 0; N = 2 时,ans_min = K1*K2; N = 3 时,ans_min = max{ki*kj 1<=i<j<=3}; 这 里 要 讲 一 下 关 于 N = 3 时 最 小 聚 会 次 数 方 案 的 构 造 不 妨 令 K3 和 K2 分 别 是 最 大 值 和 次 大 值 我 们 先 构 造 出 第 二 组 和 第 三 组 的 所 有 组 合 S = { (2 i, 3 j ) 0<=i<K2, 0<=j<K3 }, 然 后 把 第 一 组 加 进 来 对 于 1 0, 我 们 从 先 前 的 组 合 S 里 面 选 出 K3 个 组 合, 使 得 这 K3 个 组 合 覆 盖 0 K2-1, 0 K3-1; 然 后 对 于 对 于 1 1, 我 们 再 从 剩 下 的 组 合 里 面 选 出 K3 个 组 合, 使 得 这 K3 个 组 合 覆 盖 0 K2-1, 0 K3-1, 一 直 进 行 下 去 由 于 K1*K3<=K2*k3, 所 以 S 中 可 能 还 有 剩 余, 此 时 把 1 0 和 剩 下 的 组 合 重 新 组 合 成 三 人 组 即 可 由 于 采 用 构 造 法, 因 此 对 于 N<=3 的 情 况 的 解 可 以 秒 出 N>=4 的 情 况 这 种 情 况 下, 本 代 码 做 的 很 不 好, 没 有 想 出 较 好 的 解 法 109

110 下 面 谈 谈 关 于 这 种 情 况 的 一 点 想 法 一 次 聚 会 的 状 态 表 示 因 为 Ki<=10, 所 以 我 们 对 每 组 人 员 按 照 0..Ki-1 编 号, 那 么 每 人 的 编 号 都 是 个 位 数, 因 此 可 以 用 一 个 N 位 的 十 进 制 数 表 示 一 次 聚 会 的 组 合 例 如 有 N = 3,K1 = 2,K2=3,K3=4, 那 么 第 一 组 选 0 号, 第 二 组 1 号, 第 三 组 2 号 的 一 次 聚 会 可 以 表 示 为 012. 一 个 极 其 暴 力 的 做 法 设 总 人 数 为 sum, 则 对 每 个 人 从 0-sum 开 始 编 号 建 立 sum*sum 关 系 的 矩 阵, 相 互 认 识 用 1 表 示, 不 相 互 认 识 用 0 表 示 先 获 取 所 有 的 聚 会 组 合 存 放 到 state[] 里 面 搜 索 到 每 一 层 时 枚 举 所 有 没 用 过 的 组 合, 并 更 新 关 系 矩 阵, 接 着 继 续 递 归 搜 索 若 当 前 递 归 深 度 大 于 已 知 的 最 小 值 则 剪 枝 ; 当 所 有 人 都 相 互 认 识 停 止 搜 索, 更 新 最 小 解 该 方 法 纯 暴 力, 处 理 的 数 据 规 模 很 有 限 复 赛 第 二 场 第 五 题 : 玉 树 驰 援 题 目 题 目 描 述 : 4 小 时 以 前 : 青 海 玉 树 发 生 强 烈 地 震, 大 量 房 屋 倒 塌, 人 员 伤 亡 惨 重 灾 区 急 需 救 援 2 小 时 以 前 : 政 府 迅 速 成 立 救 灾 指 挥 中 心 全 国 各 地 情 系 玉 树, 纷 纷 筹 集 救 援 物 资 1 小 时 以 前 : 指 挥 中 心 将 若 干 与 玉 树 有 直 接 或 间 接 道 路 交 通 的 地 区 作 为 集 散 点 救 援 物 资 分 批 就 近 到 达 集 散 点 后, 再 由 汽 车 运 进 灾 区 一 批 物 资 有 一 个 唯 一 的 编 号, 并 由 若 干 个 集 装 箱 组 成 集 散 点 已 有 不 同 数 量 的 汽 车 在 等 候, 指 挥 中 心 可 以 根 据 需 要 进 行 运 输 调 度 汽 车 装 卸 物 资 的 时 间 可 忽 略 不 计 一 辆 汽 车 一 次 最 多 只 能 运 1 个 集 装 箱 30 分 钟 以 前 : 部 分 道 路 由 于 损 坏 和 堵 塞, 汽 车 通 行 需 要 较 长 的 时 间 ; 部 分 道 路 情 况 更 加 严 重, 已 经 不 具 备 通 车 条 件 指 挥 中 心 决 定 修 复 和 疏 通 道 路, 使 道 路 恢 复 通 车, 或 缩 短 通 行 时 间 施 工 需 要 一 定 的 时 间, 而 且 要 封 闭 道 路, 即 在 此 过 程 中 不 能 有 汽 车 在 该 道 路 上 行 驶 足 够 数 量 的 施 工 队 已 经 待 命, 可 以 随 时 对 多 条 道 路 进 行 施 工 现 在 (2010/4/14 11:49): 你 被 紧 急 征 召 到 指 挥 中 心 你 的 任 务 是 调 度 物 资 运 输 和 道 路 施 工, 在 最 短 的 时 间 内 将 所 有 物 资 运 送 到 玉 树 灾 区 输 入 格 式 : 输 入 由 三 部 分 信 息 组 成, 依 次 为 交 通 信 息 汽 车 初 始 分 布 信 息 和 物 资 就 绪 信 息 相 邻 部 分 之 间 用 一 个 空 行 (\n) 隔 开 第 一 部 分 : 玉 树 周 边 的 交 通 信 息 每 行 描 述 一 条 道 路, 格 式 如 下 : 地 点 A 地 点 B 该 道 路 施 工 所 需 小 时 数 (t0) 施 工 前 行 驶 所 需 小 时 数 (t1) 施 工 后 行 驶 所 需 小 时 数 (t2) 值 间 以 一 个 空 格 隔 开 道 路 总 数 不 超 过 256 条, 任 意 两 地 间 最 多 只 有 一 条 双 向 道 路 直 达 地 110

111 点 名 为 英 文 字 母 和 数 字 组 成 的 字 符 串, 长 度 不 超 过 7 字 节 玉 树 的 地 点 名 为 Yushu t0, t1, t2 为 整 数 如 果 t1 = -1, 表 示 该 条 道 路 在 施 工 完 成 前 无 法 通 车 ; 其 它 情 况 下,t0,t1, t2 均 大 于 0 且 不 大 于 24 一 个 空 行 之 后, 是 第 二 部 分 : 汽 车 初 始 分 布 信 息 每 行 描 述 某 个 集 散 点 初 始 时 有 多 少 汽 车 在 等 候, 格 式 如 下 : 地 点 数 量 值 间 以 一 个 空 格 隔 开 集 散 点 总 数 不 超 过 64, 单 个 集 散 点 汽 车 的 初 始 数 量 不 超 过 1024 一 个 空 行 之 后, 是 第 三 部 分 : 物 资 就 绪 信 息 每 行 描 述 一 批 物 资 在 何 时 何 地 就 绪, 格 式 如 下 : yyyy/mm/dd HH:MM arrive 地 点 物 资 编 号 集 装 箱 数 量 值 间 用 一 个 空 格 隔 开 其 中,yyyy/mm/dd HH:MM 的 时 间 格 式 含 义 为 : 年 / 月 / 日 时 : 分 物 资 编 号 为 英 文 字 母 和 数 字 组 成 的 字 符 串, 长 度 不 超 过 7 字 节 一 批 物 资 的 集 装 箱 数 量 不 超 过 2048 最 后 一 部 分 以 文 件 结 束 符 结 尾 输 入 保 证 所 有 物 资 可 以 在 有 限 时 间 内 运 到 玉 树 输 出 格 式 : 你 的 程 序 应 当 按 时 间 顺 序 在 标 准 输 出 上 打 印 你 下 达 执 行 的 指 令 每 条 指 令 一 行 ( 不 超 过 255 字 节, 以 \n 结 尾 ), 每 行 各 值 间 用 一 个 空 格 隔 开 指 令 格 式 具 体 如 下 : 道 路 施 工 指 令 yyyy/mm/dd HH:MM fix 地 点 A 地 点 B 该 指 令 表 示 在 指 定 时 间 开 始 对 地 点 A 和 地 点 B 的 直 达 道 路 上 进 行 施 工 一 条 道 路 不 得 重 复 施 工 货 物 运 输 指 令 yyyy/mm/dd HH:MM trans 地 点 A 地 点 B 物 资 编 号 : 本 指 令 运 输 的 集 装 箱 数 量 该 指 令 表 示 在 指 定 时 间 开 始 将 某 种 指 定 数 量 的 物 资 从 地 点 A 运 输 到 地 点 B 地 点 A 和 地 点 B 必 须 有 直 达 道 路 集 装 箱 数 量 应 为 正 整 数 空 车 移 动 指 令 yyyy/mm/dd HH:MM move 地 点 A 地 点 B 本 指 令 调 动 的 汽 车 数 量 该 指 令 表 示 在 指 定 时 间 开 始 将 指 定 数 量 汽 车 从 地 点 A 调 度 到 地 点 B 地 点 A 和 地 点 B 必 须 有 直 达 道 路 汽 车 数 量 应 为 正 整 数 注 意 : 所 有 指 令 涉 及 到 的 时 间 不 得 早 于 2010/4/14 11:49( 但 可 以 相 等 ), 所 有 指 令 一 旦 下 达 就 不 能 取 消 或 中 断 样 例 输 入 : Yushu A Yushu A A2 A Yushu 3 A1 40 A2 5 A /4/14 11:59 arrive A2 G1 10 样 例 输 出 : 2010/4/14 11:49 fix Yushu A2 2010/4/14 11:49 move A3 A /4/14 13:59 trans A2 Yushu G1:5 2010/4/14 20:49 trans A2 Yushu G1:5 时 间 限 制 : 111

112 120000ms 关 键 思 路 本 题 并 未 要 求 给 出 最 优 解, 而 是 依 据 各 选 手 提 交 程 序 运 行 结 果 来 综 合 给 分, 故 在 此 给 出 一 种 可 行 解 道 路 总 数 不 超 过 256 条, 则 点 的 总 数 也 不 超 过 256 条, 首 先 以 玉 树 为 源 点 做 一 遍 SPFA 求 出 每 点 到 的 最 少 时 间, 边 的 权 值 取 t1, 通 过 此 时 间 来 估 计 所 有 物 资 送 达 所 需 的 最 长 时 间, 估 计 函 数 可 以 为 : 对 每 批 物 资 有 f(i)=c_i*dis[c_src]/max(1,tot_car/tot_sup)+time[i], C_i 为 该 物 资 的 集 装 箱 数,dis[c_src] 为 其 降 落 点 的 到 玉 树 的 距 离,tot_car 为 汽 车 总 数, tot_sup 为 物 资 总 数,time[i] 为 其 到 达 时 间, 记 录 max_f_pre 为 max{f(i);1<=i<=tot_sup}; 再 以 修 复 后 的 边 权 做 一 遍, 记 录 max_f_aft, 若 max_f_aft<=max_f_pre+max{t0} 则 一 开 始 就 直 接 修 复 所 有 道 路, 否 则 不 修 复 判 断 完 是 否 修 复 后, 开 始 对 车 辆 运 输 情 况 决 策 按 物 资 到 达 的 时 间 排 序, 每 次 让 所 有 空 余 车 辆 来 运 输 该 物 资, 对 每 一 辆 要 执 行 运 输 的 车 做 SPFA 来 判 断 他 的 路 线, 执 行 完 毕 后 对 每 辆 车 标 记 其 空 闲 的 时 刻 及 地 点, 每 次 记 录 各 车 辆 的 运 行 情 况 保 存, 运 输 完 所 有 物 资 后 按 时 间 排 序 并 输 出 决 赛 : 植 物 大 战 僵 尸 题 目 : 题 目 描 述 112

113 这 是 植 物 大 战 僵 尸 里 面 的 一 款 小 游 戏 我 是 僵 尸 endless 模 式, 根 据 植 物 布 局, 我 们 合 理 的 安 排 僵 尸 攻 击 植 物, 直 到 吃 光 每 行 最 左 边 的 大 脑 每 派 出 一 个 僵 尸, 将 会 花 费 你 的 太 阳 ( 购 买 僵 尸 的 货 币 ), 我 们 目 标 是 就 是 用 最 少 的 太 阳 通 过 给 定 的 一 组 关 卡 题 目 简 化 和 细 节 说 明 植 物 的 脸 都 朝 右, 僵 尸 脸 都 朝 左, 僵 尸 是 从 最 右 面 攻 过 来 的 ; 僵 尸 不 是 慢 悠 悠 走 的, 而 是 一 次 走 一 格 或 者 两 格 ; 僵 尸 前 面 有 植 物, 必 须 吃 完 植 物 后 才 能 前 进, 除 非 植 物 被 梯 子 僵 尸 架 了 个 梯 子 ; 僵 尸 跟 植 物 ( 大 脑 ) 在 同 个 格 子 的 时 候, 僵 尸 才 可 以 吃 植 物 ( 大 脑 ); 大 脑 的 血 量 为 1, 僵 尸 咬 一 口 就 吃 掉 吃 完 大 脑 后, 僵 尸 消 失 ; 地 图 上 布 满 了 植 物 ( 没 有 空 位 ), 僵 尸 从 地 图 最 右 边 开 始 攻 击 ; 一 个 僵 尸 只 会 攻 击 同 行 的 植 物, 而 且 永 远 在 这 一 行 上 ; 没 有 特 殊 说 明, 植 物 的 攻 击 都 只 对 同 一 行 上 的 僵 尸 有 效 ; 有 些 植 物 会 攻 击 旁 边 行 的 僵 尸, 如 磁 铁 蘑 菇 ( 请 参 考 磁 铁 蘑 菇 的 说 明 ); 有 些 植 物 会 受 到 旁 边 行 的 僵 尸 影 响, 比 如 胆 小 蘑 菇 ( 请 参 考 胆 小 蘑 菇 的 说 明 ); 铁 桶 僵 尸, 橄 榄 球 僵 尸 和 梯 子 僵 尸 在 被 植 物 攻 击 的 时 候 由 铁 桶, 铁 帽 子, 梯 子 先 承 受 攻 击, 最 后 才 轮 到 僵 尸 本 体 承 受 攻 击 如 果 周 围 有 磁 铁 蘑 菇, 这 三 样 都 会 被 磁 铁 蘑 菇 吸 走, 被 吸 走 后 就 是 本 体 直 接 被 攻 击 吸 走 后 的 铁 器 将 消 失 ; 植 物 选 中 一 格 攻 击, 发 现 该 格 有 很 多 僵 尸, 而 自 己 只 能 攻 击 一 个, 没 有 特 殊 说 明, 选 择 先 放 入 的 僵 尸 如 果 这 些 僵 尸 是 同 一 时 刻 放 入 的, 选 择 先 出 现 在 输 入 文 件 的 僵 尸 模 拟 器 细 节 我 们 模 拟 器 分, 植 物, 僵 尸, 子 弹 来 设 计 植 物 攻 击 僵 尸 有 几 种 方 式 1 直 接 攻 击 僵 尸, 比 如 窝 瓜, 地 雷, 食 人 花, 磁 铁 蘑 菇 等, 这 种 靠 自 身 能 力 攻 击 僵 尸, 在 攻 击 的 瞬 间 就 会 对 僵 尸 造 成 伤 害 2 选 择 发 射 子 弹, 发 射 子 弹 的 行 为 是 不 会 让 僵 尸 立 即 扣 血, 而 是 等 到 判 断 子 弹 是 否 能 够 打 击 到 僵 尸 时, 才 会 扣 僵 尸 的 血 我 们 的 模 拟 器 将 地 图 变 成 一 个 Array[Row][Col] 的 矩 阵, 僵 尸 的 行 走 速 度 是 1/s 或 者 2/s 只 会 从 Array[Row] 走 到 Array[Row][i-1] 或 者 Array[Row][i-2] 速 度 为 2 的 僵 尸, 如 果 前 面 有 植 物 挡 住, 只 会 前 进 一 格 ; 同 理 子 弹 的 也 是 一 样 113

114 其 它 模 拟 细 节 1 这 个 游 戏 每 1 秒 检 测 一 次, 生 成 该 帧 的 状 态 图, 然 后 开 始 判 断 ; 2 每 帧 的 状 态 生 成 之 后, 判 断 伤 害 顺 序 为 ; 1 检 查 每 个 僵 尸 吃 植 物 ( 大 脑 ); 2 检 查 每 个 植 物 是 否 要 攻 击 僵 尸 ( 直 接 攻 击, 或 者 发 射 炮 弹 ); 3 检 查 每 枚 炮 弹 是 否 打 击 到 僵 尸 ; 3 僵 尸 吃 植 物, 植 物 死 亡 时, 将 立 即 从 植 物 列 表 删 除 ; 同 理 炮 弹 打 到 僵 尸, 或 者 僵 尸 死 亡, 也 都 会 立 即 从 对 应 的 链 表 中 删 除 极 端 例 子 : 当 植 物 和 僵 尸 都 只 剩 一 滴 血 的 时 候, 由 于 僵 尸 先 咬 植 物, 所 以 植 物 死 了, 僵 尸 不 被 攻 击 ; 4 植 物 发 射 炮 弹 的 时 候, 炮 弹 的 起 始 位 置 为 植 物 所 在 位 置, 下 一 秒 开 始 移 动 植 物 数 据 植 物 的 伤 害, 攻 击 性 弹 药 碰 到 僵 尸 后 都 造 成 1 的 伤 害 僵 尸 数 据 僵 尸 吃 植 物 每 秒 2 格 血 输 入 输 出 现 在 假 设 我 们 每 个 游 戏 场 景 都 是 在 ROW*COL 的 方 格 中 满 植 物, 僵 尸 只 能 放 置 在 最 右 面 一 列 的 方 格 中, 并 发 起 进 攻 地 图 上 放 满 植 物 每 个 方 格 中 的 可 以 同 时 存 在 多 个 僵 尸 输 入 : 输 入 由 标 准 输 入 给 出 第 一 行 为 1 个 整 数 M(0<M< ), 第 一 个 表 示 下 面 这 些 关 卡 你 总 共 只 能 用 M 的 太 阳 ; 第 二 行 也 是 1 个 整 数 N(0<N<100000), 表 示 下 面 有 N 个 case; 第 三 行 开 始 为 N 个 case 的 具 体 信 息, 每 个 case 第 一 行 为 2 个 整 数 Row,Col 其 中 Row 表 示 多 少 行,Col 表 示 多 少 列 (1<=Row<=10000, 1<=Col<=10000) 接 下 来 一 共 跟 着 Row 行, 并 用 代 号 标 识 每 行 的 植 物 类 型, 并 且 用 空 格 隔 开 输 出 : 结 果 需 要 输 出 到 标 准 输 出 对 于 每 个 关 卡, 第 一 行 为 一 个 整 数 K, 表 示 本 关 使 用 的 僵 尸 数, 接 下 来 k 行 表 示 每 个 僵 尸 的 布 局, 每 行 有 3 单 词 来 表 示 一 个 僵 尸 的 信 息, 以 空 格 隔 开, 分 别 表 示 僵 尸 代 号 (ID), 行 (r), 时 间 (time) 它 们 表 示 在 时 间 time 的 时 候 把 一 个 僵 尸 放 到 第 r 行 的 最 右 边 上. 对 于 放 置 时 间 相 同 的 僵 尸, 植 物 攻 击 顺 序 和 输 出 中 的 顺 序 一 致 的 时 间 是 整 数, 从 0 开 始 计 算 我 们 要 求 输 出 的 行 按 僵 尸 先 后 放 置 的 时 间, 顺 序 一 致 如 果 你 无 法 解 出 本 关, 又 不 想 浪 费 太 阳, 请 输 出 1 行 0; 如 果 你 输 出 了 僵 尸, 那 么 即 使 这 个 僵 尸 是 过 关 之 后 放 置 的, 都 要 计 算 它 的 花 费 在 桌 面 上 有 一 个 模 拟 器, 填 上 你 的 输 入 输 出 文 件 它 可 以 帮 忙 计 算 出 你 总 的 花 费 评 判 标 准 我 们 评 判 程 序 会 运 行 多 个 输 入, 然 后 我 们 会 统 计 你 的 解 决 方 案 购 买 僵 尸 的 总 开 销 1 通 过 关 卡 最 多 的 获 胜 ; 2 关 卡 数 一 样, 根 据 开 销 由 小 到 大 进 行 排 序, 决 定 谁 获 胜 如 果 花 费 购 买 僵 尸 的 开 销 相 同, 那 么 会 以 总 的 游 戏 的 运 行 时 间 为 标 准, 游 戏 运 行 总 时 间 少 的 程 序 获 胜, 每 关 游 戏 运 行 时 间 指 顺 利 过 关 的 时 间 而 不 是 程 序 执 行 时 间 注 意 事 项 1 如 果 僵 尸 放 置 的 位 置 不 在 地 图 上, 那 这 个 僵 尸 会 被 认 为 无 效 的, 同 时 相 应 的 花 费 依 然 会 被 扣 除 ; 2 如 果 僵 尸 的 代 号 错 误 ( 注 意 大 小 写 和 连 字 符 ), 那 么 这 个 僵 尸 会 被 认 为 是 非 法 的, 不 进 行 任 何 操 作, 同 时 会 按 照 最 贵 的 橄 榄 球 僵 尸 扣 除 175; 3 如 果 程 序 出 现 异 常 情 况 或 者 程 序 本 身 没 有 完 成 全 部 的 关 卡, 那 么 排 名 的 时 候 会 以 通 过 的 114

115 关 卡 数 为 准 ; 4 如 果 在 某 一 关 植 物 已 经 全 部 被 消 灭, 但 是 还 有 僵 尸 被 放 置 到 地 图 上, 这 些 僵 尸 的 花 费 依 然 会 被 计 算 ; 5 如 果 花 费 的 太 阳 数 超 过 数 据 的 给 定 值, 模 拟 器 在 放 置 僵 尸 花 费 超 过 现 在 太 阳 数 的 时 候 结 束 游 戏, 以 此 时 的 结 果 作 为 最 后 结 果 Sample Input Potato-Mine Potato-Mine Potato-Mine Potato-Mine Potato-Mine 5 2 Potato-Mine Potato-Mine Potato-Mine Potato-Mine Potato-Mine Potato-Mine Potato-Mine Potato-Mine Potato-Mine Potato-Mine 5 2 Peashooter Wall-Nut Peashooter Wall-Nut Peashooter Wall-Nut Peashooter Wall-Nut Peashooter Wall-Nut Sample Output 5 Pole 0 0 Pole 1 0 Pole 2 0 Pole 3 0 Pole Imp 0 0 Imp 1 0 Imp 2 0 Imp 3 0 Imp 4 0 Pole 0 1 Pole 1 1 Pole 2 1 Pole 3 1 Pole Pole

116 Pole 1 0 Pole 2 0 Pole 3 0 Pole 4 0 输 入 输 出 说 明 第 一 关 : 每 列 都 是 土 豆 雷, 我 们 都 用 撑 杆 跳 的 过 去 如 果 你 派 小 僵 尸 过 去, 那 么 僵 尸 会 全 砸 死, 虽 然 植 物 也 全 被 消 灭 了, 但 是 你 还 是 没 过 关, 还 需 要 派 小 僵 尸, 花 费 更 多 关 键 思 路 此 题 作 为 百 度 之 星 2010 的 决 赛 题 目, 要 求 选 手 在 8 至 10 个 小 时 内 完 成 僵 尸 大 战 植 物 小 游 戏 的 模 拟 这 个 游 戏 模 式 在 植 物 大 战 僵 尸 中 异 常 风 靡, 从 一 个 守 备 者 转 向 一 个 攻 击 者, 就 更 需 要 玩 家 了 解 各 种 僵 尸 以 及 植 物 的 特 性, 寻 找 突 破 口 通 过 关 卡 这 道 题 本 身 和 是 该 游 戏 模 式 的 简 化 : 1 没 有 了 向 日 葵, 阳 光 是 一 开 始 就 给 够 了 2 植 物 众 多 的 攻 击 模 式 都 有 了 简 化 3 没 有 减 速 4 僵 尸 模 式 比 较 单 一 我 们 把 整 个 游 戏 分 为 两 个 部 分 : 1 模 拟 器 2 计 算 器 ( 一 ) 模 拟 器 : 模 拟 器 应 该 是 这 道 题 目 的 重 头 戏, 如 何 在 短 时 间 内 就 能 写 出 一 份 能 实 现 要 求 的 代 码 也 是 对 每 个 人 的 考 验 不 难 看 出, 整 张 地 图 只 有 三 个 大 类 : 1 植 物 2 僵 尸 3 子 弹 对 于 植 物 来 说, 我 们 可 以 设 计 一 个 大 类 PlantObject, 共 有 属 性 包 括 : 坐 标 类 别 血 量 是 否 被 架 过 梯 子 然 后 对 于 每 种 细 分 的 植 物, 都 设 计 一 个 类, 继 承 PlantObject 比 如 对 于 食 人 花 和 磁 力 菇, 需 要 额 外 记 录 冷 却 时 间 对 于 豌 豆 射 手 小 喷 菇 以 及 胆 小 菇, 需 要 记 录 它 的 子 弹 是 否 还 在 这 样 我 们 就 设 计 好 了 植 物 的 部 分 同 理 对 于 僵 尸, 我 们 也 需 要 设 计 一 个 大 类 ZombieObject, 共 有 属 性 包 括 : 坐 标, 移 动 速 度, 本 体 血 量 对 于 细 分 的 僵 尸 种 类, 在 记 录 其 额 外 信 息, 比 如 防 具 的 血 量, 是 否 撑 杆 跳 过, 是 否 放 过 梯 子 等 等 僵 尸 部 分 也 如 此 设 计 好 子 弹 部 分 也 只 需 记 录 这 个 子 弹 的 坐 标, 以 及 是 从 哪 个 植 物 发 出 的 即 可 接 下 来 的 就 是 模 拟 器 的 设 计 了, 我 们 来 再 看 一 下 题 目 中 给 出 的 模 拟 器 实 现 细 节 : 1 这 个 游 戏 每 1 秒 检 测 一 次, 生 成 该 帧 的 状 态 图, 然 后 开 始 判 断 ; 2 每 帧 的 状 态 生 成 之 后, 判 断 伤 害 顺 序 为 ; 1 检 查 每 个 僵 尸 吃 植 物 ( 大 脑 ); 2 检 查 每 个 植 物 是 否 要 攻 击 僵 尸 ( 直 接 攻 击, 或 者 发 射 炮 弹 ); 3 检 查 每 枚 炮 弹 是 否 打 击 到 僵 尸 ; 4 僵 尸 吃 植 物, 植 物 死 亡 时, 将 立 即 从 植 物 列 表 删 除 ; 同 理 炮 弹 打 到 僵 尸, 或 者 僵 尸 死 亡, 也 都 会 立 即 从 对 应 的 链 表 中 删 除 极 端 例 子 : 当 植 物 和 僵 尸 都 只 剩 一 滴 血 的 时 116

117 候, 由 于 僵 尸 先 咬 植 物, 所 以 植 物 死 了, 僵 尸 不 被 攻 击 ; 5 植 物 发 射 炮 弹 的 时 候, 炮 弹 的 起 始 位 置 为 植 物 所 在 位 置, 下 一 秒 开 始 移 动 好 像 只 需 要 按 照 题 意 进 行 模 拟, 但 是 还 有 很 多 细 节 要 处 理 : 模 拟 僵 尸 的 动 作 : 先 考 虑 移 动, 移 动 到 能 移 动 到 的 最 近 的 植 物 处 如 果 移 动 到 的 地 方 存 在 植 物, 就 要 分 好 情 况 了 : 如 果 僵 尸 是 有 杆 的 撑 杆 僵 尸? 如 果 植 物 上 面 有 梯 子? 模 拟 植 物 的 动 作 : 如 果 是 普 通 的 攻 击 型 植 物, 先 判 断 他 能 否 攻 击 : 胆 小 菇 胆 小 了? 上 次 的 子 弹 还 没 有 攻 击 到? 本 行 没 有 僵 尸? 如 果 是 食 人 花, 即 时 消 灭 面 前 的 一 个 僵 尸, 进 入 CD 如 果 是 土 豆 地 雷, 即 时 消 灭 本 格 的 所 有 僵 尸 ( 地 雷 血 量 无 限 不 怕 咬 ) 如 果 是 窝 瓜, 看 他 左 中 右 三 格 是 否 有 僵 尸, 优 先 消 灭 最 左 边 的 如 果 是 CD 好 的 磁 力 菇, 就 要 按 照 磁 力 菇 的 规 则 进 行 判 定 它 要 吸 哪 一 件 防 具 模 拟 子 弹 的 动 作 : 子 弹 前 进 到 能 移 动 到 的 最 近 的 僵 尸 / 梯 子 处 攻 击 僵 尸 / 梯 子, 子 弹 消 失, 对 应 的 植 物 可 以 下 一 次 攻 击 综 上, 模 拟 器 设 计 起 来 是 不 难 的, 但 非 常 考 验 你 的 编 程 功 底, 以 及 需 要 一 些 OOP 的 技 巧 来 简 化 你 的 工 程 量 但 实 现 模 拟 器 并 不 是 这 道 题 目 的 重 点 ( 二 ) 计 算 器 重 头 戏 来 了, 你 要 怎 么 样 分 配 僵 尸 以 求 最 小 的 阳 光 消 耗 来 吃 掉 每 一 行 的 脑 子? 比 较 明 显 的 结 论 : 只 有 地 雷 和 窝 瓜 具 有 面 杀 伤 的 能 力 每 一 行 之 间 是 近 似 于 独 立 的 ( 磁 力 菇 与 胆 小 菇 除 外 ) 有 了 这 两 条 理 论 基 础, 我 们 可 以 很 好 的 设 计 一 些 直 观 的 想 法 相 同 速 度 的 僵 尸 尽 可 能 在 相 近 的 时 刻 出 发 路 障 僵 尸 和 橄 榄 球 僵 尸 是 绝 对 的 主 力 等 等 所 以 需 要 对 每 一 行 的 火 力 做 一 个 大 致 的 估 价, 再 大 致 的 对 这 一 行 作 一 个 战 力 的 分 配, 再 用 模 拟 器 进 行 模 拟 看 最 后 的 结 果 如 何 这 里 就 不 方 便 进 行 详 细 的 展 开 了 最 后 提 一 件 有 趣 的 事, 据 说 当 年 这 道 题 的 得 分 第 四 名 的 选 手, 提 交 的 计 算 代 码 只 有 不 到 80 行, 他 采 用 了 最 直 观 最 暴 力 的 策 略, 每 行 平 均 大 量 撒 路 障 僵 尸, 再 穿 插 些 其 他 僵 尸, 取 得 了 出 乎 意 料 的 效 果 117

118 118

119 119

120 百 度 之 星 2011 初 赛 第 一 场 第 一 题 图 标 排 列 1.1. 题 目 描 述 : 百 度 应 用 平 台 上 有 很 多 有 趣 的 应 用, 每 个 应 用 都 由 一 个 开 发 者 开 发, 每 个 开 发 者 可 能 开 发 一 个 或 多 个 应 用 百 度 的 工 程 师 们 想 把 应 用 尽 可 能 好 的 推 荐 给 用 户 研 究 发 现, 同 一 个 开 发 者 开 发 的 程 序 的 图 标 有 很 大 的 相 似 性 如 果 把 同 一 个 开 发 者 开 发 的 应 用 放 在 一 起, 用 户 很 快 就 会 厌 倦 相 似 的 图 标, 如 果 把 这 些 图 标 穿 插 摆 放 效 果 就 会 好 很 多 现 在 工 程 师 想 给 用 户 推 荐 来 自 m 个 开 发 者 的 n 个 应 用, 在 推 荐 的 时 候 这 些 应 用 的 图 标 将 排 成 整 齐 的 一 行 展 示 给 用 户, 相 邻 两 个 图 标 之 间 的 距 离 正 好 是 1, 工 程 师 们 想 让 这 些 图 标 尽 可 能 的 穿 插 摆 放 为 了 衡 量 穿 插 摆 放 的 效 果, 给 每 个 图 标 定 义 一 个 分 离 度, 分 离 度 的 值 是 指 当 前 图 标 和 它 左 边 最 近 的 来 自 同 一 个 开 发 者 的 图 标 之 间 的 距 离 如 果 一 个 图 标 左 边 没 有 来 自 同 一 个 开 发 者 的 图 标, 则 分 离 度 为 0 所 有 图 标 穿 插 摆 放 效 果 的 值 定 义 为 所 有 图 标 的 分 离 度 之 和 已 知 每 个 开 发 者 开 发 的 应 用 个 数, 请 帮 助 百 度 的 工 程 师 找 到 图 标 穿 插 摆 放 效 果 的 最 大 值 输 入 描 述 输 入 的 第 一 行 包 含 两 个 整 数 n 和 m, 用 一 个 空 格 分 隔, 分 别 表 示 应 用 的 个 数 和 开 发 者 的 个 数 第 二 行 包 含 m 个 正 整 数, 相 邻 两 个 数 之 间 用 一 个 空 格 分 隔, 表 示 每 个 开 发 者 开 发 的 应 用 个 数, 这 些 整 数 之 和 必 然 等 于 n 输 出 描 述 输 出 一 个 整 数, 表 示 图 标 穿 插 摆 放 效 果 的 最 大 值 样 例 输 入 : 样 例 输 出 15 提 示 对 于 20% 的 数 据,n 10; 对 于 40% 的 数 据,n 100 对 于 100% 的 数 据,1 m n 100,

121 1.2. 关 键 思 路 : 单 独 考 虑 每 个 开 发 者 的 图 标, 如 下 图 ABCD 为 某 开 发 者 的 图 标,'.' 为 其 他 开 发 者 的 图 标...A...B..C...D... 可 以 发 现 这 个 开 发 者 的 分 离 度 为 dis(a,b)+dis(b,c)+dis(c,d)=dis(a,d) 也 就 是 说 对 于 同 一 个 开 发 者, 只 关 心 他 最 左 和 最 右 的 位 置 然 后 对 于 不 同 的 开 发 者, 可 以 证 明 只 要 让 前 m 个 图 标 和 后 m 个 图 标 分 别 有 所 有 人 的 图 标 即 可 对 于 只 有 一 个 图 标 的 开 发 者, 把 他 的 图 标 扔 中 间 就 可 以 了 121

122 初 赛 第 一 场 第 二 题 : 篮 球 场 2.1. 题 目 : 题 目 描 述 : 百 度 公 司 有 一 块 长 a 米 宽 b 米 的 矩 形 空 地, 空 地 的 左 上 角 坐 标 为 (0,0), 右 下 角 坐 标 为 (a,b) 空 地 上 长 着 n 株 灌 木, 每 株 灌 木 都 非 常 小 现 在 百 度 公 司 准 备 清 理 掉 其 中 的 一 些 灌 木, 在 空 地 上 修 建 两 个 长 28 米 宽 15 米 的 篮 球 场 球 场 必 须 完 全 修 建 在 空 地 内 部 ( 边 缘 可 以 和 空 地 的 边 缘 重 合 ) 且 球 场 边 缘 必 须 与 空 地 边 缘 平 行, 两 个 篮 球 场 不 允 许 重 叠 ( 不 考 虑 边 缘 ) 在 清 理 灌 木 的 时 候, 只 有 球 场 内 部 的 灌 木 需 要 清 理 掉, 球 场 外 部 和 边 缘 的 灌 木 不 用 清 理 请 帮 助 百 度 公 司 找 到 一 种 球 场 的 建 设 方 案, 使 得 需 要 清 理 的 灌 木 最 少 注 意 : 在 最 优 方 案 中 球 场 的 左 上 角 坐 标 可 能 是 实 数 输 入 描 述 输 入 包 含 多 组 数 据 每 组 数 据 的 第 一 行 包 含 两 个 整 数 a b, 表 示 空 地 的 长 和 宽 第 二 行 包 含 一 个 整 数 n, 表 示 空 地 上 灌 木 的 数 量 接 下 来 n 行 表 示 所 有 灌 木 的 坐 标, 其 中 第 i 行 包 含 两 个 整 数 xi yi, 表 示 第 i 个 灌 木 的 坐 标 为 (xi,yi) 最 后 一 组 数 据 之 后 的 一 行 为 两 个 0, 表 示 输 入 结 束 输 出 描 述 对 于 每 组 数 据, 输 出 一 个 整 数, 表 示 最 少 需 要 清 理 多 少 株 灌 木 样 例 输 入 样 例 输 出 1 提 示 空 地 灌 木 和 最 优 的 球 场 修 建 方 案 如 下 图 所 示 对 于 100% 的 数 据,30 a, b 100, 灌 木 的 坐 标 都 不 相 同 122

123 2.2. 关 键 思 路 : 显 然 把 矩 形 放 在 浮 点 数 坐 标 点 上 并 不 会 比 放 在 整 点 上 更 优 ( 可 以 旋 转 的 话 会 更 优 ), 所 以 只 用 考 虑 整 点 的 情 况 记 l[i] 表 示 放 一 个 矩 形 使 得 矩 形 在 x=i 的 左 边 或 线 上, 最 少 要 拔 多 少 棵 树 r[i],u[i],d[i] 类 似 然 后 因 为 两 个 矩 形 不 相 交 切 均 平 行 于 坐 标 轴, 故 一 定 可 以 用 一 条 平 行 坐 标 轴 的 直 线 分 开 故 ans=min{l[i]+r[i], u[i]+d[i]} 即 可 初 赛 第 一 场 第 三 题 : 度 度 熊 大 战 僵 尸 3.1. 题 目 : 僵 尸 最 近 老 在 百 度 大 厦 附 近 出 没, 因 此 公 司 派 出 了 度 度 熊 去 消 灭 他 度 度 熊 有 n 件 武 器, 第 i 件 武 器 有 物 理 攻 击 力 Ai 和 魔 法 攻 击 力 Bi 在 某 个 时 刻 t, 武 器 能 造 成 的 伤 害 为 Ai+ Bi *t 僵 尸 有 一 个 初 始 血 量 值 H, 受 到 武 器 的 攻 击 后, 血 量 会 减 去 武 器 的 当 前 伤 害 值 如 果 某 个 时 刻 僵 尸 的 血 量 值 为 负, 则 僵 尸 将 原 地 满 血 复 活 为 血 量 值 H 因 此 为 了 消 灭 僵 尸, 度 度 熊 的 最 后 一 击, 必 须 恰 好 使 僵 尸 的 血 量 为 0 从 时 刻 1 开 始 的 每 个 整 数 时 刻, 度 度 熊 可 以 从 自 己 的 武 器 中 挑 选 一 个 武 器 攻 击 僵 尸 一 次, 也 可 以 不 攻 击 僵 尸 一 件 武 器 可 以 在 不 同 的 时 刻 使 用 多 次 由 于 度 度 熊 武 器 的 限 制, 不 是 每 个 血 量 的 僵 尸 都 能 杀 死 度 度 熊 希 望 能 知 道 能 杀 死 的 僵 尸 中 第 k 小 的 血 量 值 是 多 少 输 入 描 述 输 入 的 第 一 行 包 含 两 个 整 数 n,k, 分 别 表 示 度 度 熊 拥 有 的 武 器 数 和 要 求 的 血 量 是 第 几 小 的 接 下 来 n 行 表 示 度 度 熊 拥 有 的 武 器, 其 中 第 i 行 包 含 两 个 整 数 Ai,Bi, 表 示 第 i 个 武 器 的 物 理 和 魔 法 攻 击 力 输 出 描 述 输 出 包 含 一 个 整 数, 表 示 度 度 熊 能 杀 死 的 僵 尸 中 第 k 小 的 血 量 值 样 例 输 入 样 例 输 出 15 提 示 度 度 熊 能 杀 死 的 僵 尸 中 前 8 小 的 血 量 值 依 次 为 4,7, 8, 10, 11, 13, 14, 15 对 于 100% 的 数 据,1 n 10,1 k 50,000,0 Ai, Bi 10,

124 3.2. 关 键 思 路 : BFS, 状 态 为 当 前 数, 最 后 一 次 攻 击 的 时 间, 最 后 一 次 用 的 哪 个 武 器 初 赛 第 二 场 第 一 题 圆 环 1.1. 题 目 : 一 个 圆 环 上 有 n 个 位 置, 这 n 个 位 置 按 顺 时 针 依 次 标 号 为 1, 2,, n 初 始 时 圆 环 的 每 个 位 置 上 都 有 一 个 1 至 n 之 间 的 整 数, 且 每 个 整 数 只 出 现 一 次 任 何 时 刻, 你 可 以 将 圆 环 上 的 数 全 部 逆 时 针 旋 转 一 个 位 置, 即 第 i 个 位 置 上 的 数 变 为 原 来 第 i + 1 个 位 置 上 的 数, 第 n 个 位 置 上 的 数 变 为 原 来 第 1 个 位 置 上 的 数 也 可 以 将 圆 环 上 的 数 全 部 顺 时 针 旋 转 一 个 位 置, 即 第 i 个 位 置 上 的 数 变 为 原 来 第 i 1 个 位 置 上 的 数, 第 1 个 位 置 上 的 数 变 为 原 来 第 n 个 位 置 上 的 数 另 有 一 个 装 置, 可 以 交 换 圆 环 上 第 a 个 位 置 和 第 b 个 位 置 上 的 数 下 图 给 出 了 三 种 操 作 的 示 例, 圆 环 上 有 6 个 位 置, 初 始 数 字 分 别 为 1, 2, 4, 3, 5, 6, 能 交 换 第 2 个 和 第 3 个 位 置 上 的 数 经 过 一 次 逆 时 针 旋 转 后 变 为 2, 4, 3, 5, 6, 1, 交 换 后 变 为 2, 3, 4, 5, 6, 1, 再 经 过 一 次 顺 时 针 旋 转 后 变 为 1, 2, 3, 4, 5, 6 请 问 通 过 旋 转 和 交 换, 能 否 使 得 第 i 个 位 置 上 的 数 正 好 是 i 请 问 通 过 旋 转 和 交 换, 能 否 使 得 第 i 个 位 置 上 的 数 正 好 是 i 输 入 输 入 包 含 多 组 数 据 每 组 数 据 的 第 一 行 包 含 一 个 整 数 n, 表 示 圆 环 上 的 数 字 个 数 第 二 行 包 含 两 个 整 数 a, b(1 a < b n), 表 示 可 以 交 换 圆 环 上 第 a 个 位 置 和 第 b 个 位 置 上 的 数 接 下 来 n 行 描 述 圆 环 上 每 个 位 置 的 初 始 值, 其 中 第 i 行 包 含 一 个 整 数 ai, 表 示 初 始 时 刻 第 i 个 位 置 上 的 数 最 后 一 组 数 据 之 后 的 一 行 为 一 个 0, 表 示 输 入 结 束 输 出 对 于 每 个 测 试 用 例, 输 出 一 行, 如 果 能 满 足 要 求, 这 行 中 应 只 包 含 一 个 单 词 Yes, 如 果 不 能 满 足 要 求, 这 行 中 应 只 包 含 一 个 单 词 No 样 例 输 入

125 样 例 输 出 Yes No 提 示 对 于 100% 的 数 据,1 n 1, 关 键 思 路 : 相 当 于 可 以 交 换 任 意 i 和 (i+b-a)%n 的 值, 故 只 要 看 b-a 形 成 的 全 部 剩 余 系 是 否 可 以 排 为 有 序 即 可 初 赛 第 二 场 第 二 题 : 园 艺 布 置 2.1. 题 目 : 题 目 描 述 : 近 期, 百 度 采 纳 了 员 工 们 的 提 议, 计 划 在 总 部 大 楼 内 部 种 植 园 艺, 以 提 供 更 加 温 馨 的 工 作 环 境 公 司 将 园 艺 设 计 的 任 务 交 给 了 度 度 熊 同 学 公 司 总 部 大 楼 内 部 的 构 造 可 以 分 为 n 个 区 域, 编 号 为 0, 1,, n 1, 其 中 区 域 i 与 i + 1 是 相 邻 的 (0 i < n 1) 根 据 员 工 的 投 票 和 反 馈, 度 度 熊 拿 到 了 一 份 数 据, 表 明 在 区 域 i 种 植 园 艺 可 以 获 得 员 工 的 满 意 度 为 Ai 度 度 熊 希 望 园 艺 的 布 置 方 案 满 足 条 件 : 1. 至 少 覆 盖 m 个 区 域 ; 2. 布 置 园 艺 的 区 域 是 连 续 的 请 帮 他 找 到 一 种 满 足 条 件 的 方 案, 使 布 置 园 艺 区 域 的 员 工 的 满 意 度 的 平 均 值 最 大 输 入 输 入 的 第 一 行 包 含 两 个 整 数 n 和 m, 分 别 表 示 总 区 域 数 和 至 少 覆 盖 的 区 域 数 第 二 行 包 含 n 个 整 数 A0, A1,, An 1, 依 次 表 示 在 每 个 区 域 种 植 园 艺 可 以 获 得 员 工 的 满 意 度 输 出 输 出 一 行, 表 示 员 工 的 平 均 满 意 度 的 最 大 值 如 果 这 个 数 是 一 个 整 数, 则 直 接 按 整 数 格 式 输 出 ; 否 则, 请 用 最 简 分 数 表 示, 分 子 分 母 以 / 分 割, 格 式 见 样 例 样 例 输 入 样 例 输 入

126 样 例 输 入 样 例 输 出 样 例 输 出 1 3 样 例 输 出 2 11/2 提 示 样 例 2 的 正 确 答 案 为 11/2, 尽 管 22/4 数 值 也 相 同, 但 由 于 没 有 化 简, 所 以 是 错 误 的 对 于 100% 的 数 据,1 m n 106,1 Ai 关 键 思 路 : 首 先 考 虑 如 下 问 题 : 给 定 一 个 序 列 和 一 个 数 x, 问 能 否 从 序 列 中 找 到 连 续 一 段 使 得 平 均 值 不 小 于 x 且 这 一 段 的 长 度 不 小 于 m 只 要 将 序 列 中 每 个 数 都 减 去 x, 就 变 为 找 长 度 不 小 于 m 的 一 段 使 得 其 和 不 小 于 0 对 于 上 述 问 题, 可 以 用 部 分 和 的 思 想, 一 方 面 记 录 当 前 的 前 缀 和 为 多 少, 以 方 便 记 录 前 面 的 数 的 前 缀 和 的 最 小 值 是 多 少, 只 要 其 差 大 于 等 于 0 即 可 所 以 可 以 二 分 答 案, 然 后 用 上 述 方 法 验 证 初 赛 第 二 场 第 三 题 : 数 据 还 原 3.1. 题 目 : 度 度 熊 近 日 开 发 出 一 种 新 型 随 机 数 生 成 算 法, 方 法 是 使 用 一 个 质 数 P 和 n 个 非 负 整 数 A0, A1,, An-1, 生 成 第 m 个 随 机 数 的 公 式 为 通 过 适 当 的 选 取 参 数 Ai, 度 度 熊 发 现 这 种 随 机 数 生 成 的 方 法 具 备 一 种 神 秘 的 性 质, 并 帮 助 他 完 成 了 多 项 研 究 度 度 熊 准 备 在 一 个 新 环 境 中 进 行 他 的 下 一 次 实 验, 他 让 他 的 助 手 去 取 他 桌 上 写 着 n 个 整 数 A0, A1,, An-1 的 纸 条 以 产 生 新 的 随 机 数 据, 取 回 后 度 度 熊 发 现 助 手 取 回 的 不 是 写 着 参 数 的 纸 条, 而 是 他 上 一 次 实 验 时 记 录 下 来 的 随 机 数 rands, rands+1,, rands+n-1, 而 数 的 个 数 正 好 也 是 n 个 现 在 度 度 熊 已 经 没 有 时 间 等 他 的 助 手 再 回 去 取 写 着 参 数 的 纸 条 了, 你 能 帮 度 度 熊 生 成 接 下 来 的 x 个 随 机 数 ( 即 rands+n, rands+n+1,, rands+n+x-1) 让 他 继 续 他 的 实 验 么? 输 入 输 入 的 第 一 行 包 含 4 个 非 负 整 数 n, P,s, x, 相 邻 两 个 整 数 间 用 一 个 空 格 分 隔 第 二 行 包 含 n 个 整 数 rands, rands+1,, rands+n-1, 表 示 度 度 熊 上 一 次 实 验 生 成 的 随 机 数 126

127 输 出 输 出 一 行, 包 含 x 个 非 负 整 数 rands+n, rands+n+1,, rands+n+x-1, 相 邻 的 两 个 整 数 间 用 一 个 空 格 分 隔, 表 示 接 下 来 生 成 的 x 个 随 机 数 样 例 输 入 样 例 输 出 提 示 对 于 100% 的 数 据,1 n, s, x 1000, s + x + n P < 10^9,P 为 质 数 3.2. 关 键 思 路 : 百 度 高 阶 等 差 数 列 按 定 义 逆 向 还 原 即 可 复 赛 第 一 题 跳 跃 1.1. 题 目 : 度 度 熊 最 近 迷 上 了 一 个 电 脑 游 戏, 游 戏 中 有 这 样 一 个 场 景 : 在 一 片 高 低 错 落 的 山 地 中, 度 度 熊 控 制 的 人 127

128 物 从 左 向 右 做 若 干 次 跳 跃, 由 起 点 一 直 跳 到 终 点 经 过 度 度 熊 最 近 对 这 个 游 戏 的 研 究, 他 发 现 游 戏 中 能 站 立 的 地 点 只 有 n + 1 个, 可 以 标 号 为 0, 1,, n 其 中 0 为 起 点,n 为 终 点 在 跳 跃 时 只 能 从 左 向 右 跳 跃, 从 点 i 跳 跃 到 点 j 的 水 平 距 离 为 j i 点 i 有 高 度 值 hi, 对 于 从 点 i 到 点 j 的 直 接 跳 跃, 其 水 平 距 离 不 能 超 过 点 i 的 高 度, 而 且 在 点 i 到 点 j 之 间 不 能 出 现 高 度 值 同 时 大 于 等 于 hi 和 hj 的 点 ( 例 如 h1=3, h2=4, h3=2, 则 不 能 从 点 1 直 接 跳 到 点 3, 因 为 点 2 的 高 度 值 h2 既 大 于 等 于 h1, 又 大 于 等 于 h3) 如 果 hi > hj, 则 花 费 的 体 力 值 为 0, 否 则 花 费 的 体 力 值 为 hj hi 由 于 体 力 值 在 游 戏 中 很 有 用, 度 度 熊 希 望 尽 量 在 这 个 场 景 节 省 体 力 他 已 经 知 道 了 每 个 点 的 高 度 值, 请 你 帮 助 度 度 熊 计 算 一 下 最 少 需 要 多 少 体 力 输 入 描 述 输 入 包 含 一 组 数 据 第 一 行 包 含 一 个 正 整 数 n, 表 示 场 景 中 起 点 与 终 点 的 水 平 距 离 第 二 行 包 含 n + 1 个 正 整 数, 其 中 第 i + 1 个 整 数 为 hi, 表 示 点 i 的 高 度 值 输 出 描 述 输 出 一 行, 包 含 一 个 正 整 数, 表 示 至 少 需 要 耗 费 的 体 力 值 样 例 输 入 样 例 输 出 3 提 示 对 于 30% 的 数 据,1 n 3000 对 于 100% 的 数 据,1 n 100,000,1 hi 关 键 思 路 : 复 杂 度 NlogN dp[i] 表 示 从 i 节 点 跳 到 n 节 点 的 最 小 花 费, 从 后 往 前 更 新 dp[n]=0 对 于 任 意 一 个 i, 如 果 存 在 i<j<k<=i+h[i]&&h[i]<h[j]<h[k] 这 样 的 情 况, 从 i 跳 到 j 再 跳 到 k 的 花 费 等 于 直 接 从 i 跳 到 k 的 花 费, 而 且 j 点 的 可 跳 范 围 更 大 所 以 在 (i,i+h[i]] 范 围 内, 所 有 比 i 点 高 的 节 点, 选 择 第 一 个 比 i 高 的 节 点 j 是 最 优 的 j 是 i 右 边 第 一 个 比 i 高 的 点, 对 于 j<k<=i+h[i]&&h[k]<=h[j],k 不 能 跳 所 以 对 于 i,rmq+ 二 分 找 到 (i,i+h[i]] 范 围 内 的 第 一 个 比 i 高 的 点 j 如 果 存 在 这 样 的 j, 更 新 dp[i]=dp[j]+h[j]-h[i], 查 找 (i,j) 内 dp 数 组 最 小 值 dp[k], 更 新 dp[i]=min(dp[i],dp[k]) 如 果 不 存 在 这 样 的 j, 查 找 (i,i+h[i]] 内 dp 数 组 最 小 值 dp[k], 更 新 dp[i]=dp[k] 用 线 段 树 实 现 点 更 新 区 间 查 询, 复 杂 度 为 O(nlogn) 输 出 dp[0] 128

129 复 赛 第 二 题 : 股 票 代 码 2.1. 题 目 : 题 目 描 述 : 百 度 公 司 在 纳 斯 达 克 上 市 的 股 票 代 码 是 bidu, 度 度 熊 为 了 制 作 股 票 价 格 的 显 示 屏, 希 望 在 一 个 矩 形 液 晶 屏 上 显 示 bidu 字 样 的 图 标 图 标 可 以 看 作 由 一 个 13 * 6 的 矩 形 表 格 组 成, 其 中 每 个 单 元 格 的 尺 寸 以 及 颜 色 请 参 照 下 图, 度 度 熊 使 用 a, b 两 个 参 数 来 控 制 字 体 的 粗 细 和 大 小, 图 中 显 示 的 是 a=1, b=2 的 例 子, 占 用 16*7 个 单 元 格 液 晶 屏 的 分 辨 率 为 w * h, 在 摆 放 图 标 的 时 候, 度 度 熊 发 现 液 晶 屏 有 一 个 尺 寸 为 p * q 像 素 的 损 坏 部 分, 其 中 损 坏 的 像 素 称 为 坏 点 坏 点 无 法 点 亮, 只 能 显 示 黑 色 为 了 不 影 响 显 示 效 果, 他 决 定 在 摆 放 图 标 时 一 定 要 满 足 下 述 条 件 : 1. 图 标 中 所 有 橙 色 区 域 必 须 正 常 显 示, 也 就 是 不 可 与 坏 点 有 交 集, 并 且 不 会 超 出 液 晶 屏 的 显 示 范 围 2. 图 标 及 显 示 屏 均 不 可 翻 转 或 旋 转 请 你 实 现 一 个 程 序, 帮 助 度 度 熊 计 算 满 足 条 件 的 图 标 摆 放 位 置 一 共 有 多 少 种 输 入 描 述 输 入 包 含 一 组 数 据 第 一 行 包 含 8 个 整 数 w, h, a, b, s, t,p, q, 以 空 格 分 割, 表 示 液 晶 屏 的 宽 ( 左 右 包 含 的 像 素 数 ) 为 w 液 晶 屏 的 高 ( 上 下 包 含 的 像 素 数 ) 为 h 控 制 显 示 的 两 个 参 数 为 a 和 b 坏 点 区 域 距 左 边 s 个 像 素 坏 点 区 域 距 上 边 t 个 像 素 坏 点 区 域 宽 p 坏 点 区 域 高 q 输 出 描 述 第 一 行 包 含 一 个 整 数, 表 示 图 标 可 以 摆 放 的 位 置 个 数 样 例 输 入 样 例 输 出 1 提 示 以 最 左 上 角 的 单 元 格 坐 标 为 (0,0), 最 右 下 角 的 单 元 格 坐 标 为 (16,7), 那 么 坏 格 的 坐 标 为 (8,4) 图 标 以 (0,0) 为 左 上 角, 恰 好 可 以 放 进 液 晶 屏 对 于 40% 的 测 试 数 据,0 < w, h 104; 对 于 100% 的 测 试 数 据,0 < w, h 109,b >a > 0,10a + 3b w,3a + 2b h,0 s < s + p w,0 t < t + q h 129

130 2.2. 关 键 思 路 : 由 于 Bidu 图 标 的 格 子 数 目 较 少, 可 以 采 用 如 下 思 路 : 首 先 计 算 出 不 能 左 右 移 动, 只 能 沿 着 左 边 缘 上 下 移 动 的 方 案 数 ; 在 考 虑 左 右 移 动 时, 我 们 可 以 发 现, 只 有 当 坏 点 矩 形 边 缘 跨 越 bidu 图 标 某 个 边 缘 时, 方 案 数 才 会 发 生 改 变, 否 则 均 与 上 一 状 态 方 案 数 相 同 因 此 当 遇 到 这 种 跨 越 情 况 时, 我 们 重 新 计 算 方 案 数 即 可 Bidu 只 有 45 个 格 子, 坏 点 矩 形 共 有 垂 直 方 向 边 缘, 因 此 至 多 会 跨 越 45*4=180 次 复 赛 第 三 题 : 数 据 校 验 3.1. 题 目 : 最 近 度 度 熊 研 究 出 了 一 种 字 符 串 压 缩 的 方 法, 基 本 想 法 是 每 个 串, 都 用 其 他 串 的 片 段 的 组 合 来 表 示 比 如 有 三 个 串 abce, abcde, ced, 第 一 个 串 abce 可 以 看 成 第 二 个 串 的 1 至 3 个 字 符 abc 加 上 第 二 个 串 的 第 5 个 字 符 e 组 成 第 三 个 串 ced 可 以 看 成 第 一 个 串 的 3 至 4 个 字 符 ce 加 上 第 二 个 串 的 第 4 个 字 符 d 组 成 如 果 把 字 符 串 从 1 开 始 编 号, 每 个 字 符 串 的 字 符 位 置 也 从 1 开 始 编 号, 用 三 元 组 (d, s, t) 表 示 编 号 为 d 的 串 中, 从 s 字 符 开 始, 到 t 字 符 结 束 的 子 串, 那 么 每 个 串 都 可 以 用 一 系 列 三 元 组 表 示 例 如, 对 于 上 面 的 三 个 串, 第 一 个 串 可 以 表 示 为 (2, 1, 3) + (2, 5, 5), 第 三 个 串 可 以 表 示 为 (1, 3, 4)+(2, 4, 4) 在 使 用 这 种 方 法 表 示 了 这 些 串 之 后, 度 度 熊 还 保 存 了 这 些 串 的 一 部 分 大 小 关 系 如 果 串 A 在 字 典 序 中 排 在 串 B 前 面, 则 认 为 A < B 比 较 A 和 B 的 大 小 关 系 时, 可 以 从 左 到 右 同 时 扫 描 两 个 串, 知 道 找 到 第 一 个 不 同 的 字 母, 此 时 字 母 小 的 比 较 小, 如 果 扫 描 到 其 中 的 一 个 串 结 束 还 没 有 找 到 不 同 的 字 母, 则 长 度 短 的 比 较 小 比 如 : abc < abd, ab < abcd 现 在 度 度 熊 有 压 缩 后 的 三 元 组 信 息, 以 及 一 些 比 较 的 结 果, 想 校 验 这 些 信 息 是 否 正 确 度 度 熊 的 校 验 方 法 很 简 单, 就 是 找 是 否 存 在 一 个 字 符 串 的 序 列, 能 压 缩 成 给 定 的 三 元 组 信 息, 并 且 这 些 串 的 比 较 的 结 果 和 给 定 的 比 较 结 果 一 致 输 入 描 述 输 入 包 含 多 组 数 据 每 组 数 据 的 第 一 行 包 含 一 个 整 数 n, 表 示 字 符 串 的 个 数 接 下 来 n 块, 每 块 描 述 一 个 压 缩 后 的 字 符 串 每 块 的 第 一 行 包 含 一 个 整 数 Ki, 表 示 这 个 字 符 串 由 Ki 个 三 元 组 表 示 接 下 来 Ki 行 描 述 这 些 三 元 组, 其 中 第 j 行 包 含 三 个 整 数 dj, sj, tj, 表 示 第 j 个 三 元 组 为 (dj, sj,tj) 接 下 来 一 行 包 含 一 个 整 数 m, 表 示 比 较 过 的 字 符 串 对 接 下 来 m 行, 每 行 两 个 正 整 数 x, y, 表 示 第 x 个 字 符 串 小 于 第 y 个 字 符 串 相 邻 两 组 数 据 之 间 包 含 一 个 空 行, 最 后 一 组 数 据 后 包 含 一 个 整 数 0, 表 示 输 入 结 束 输 出 描 述 对 于 每 组 数 据, 输 出 一 行, 如 果 能 满 足 要 求, 这 行 中 应 只 包 含 一 个 单 词 Yes, 如 果 不 能 满 足 要 求, 这 行 中 应 只 包 含 一 个 单 词 No 样 例 输 入

131 样 例 输 出 Yes No 提 示 第 一 组 样 例, 原 来 的 3 个 字 符 串 为 abce, abcde, ced 由 于 字 符 串 的 内 容 可 以 是 中 文 或 其 他 文 字, 所 以 可 以 认 为 可 用 字 符 集 足 够 大 每 个 测 试 点 的 case 数 <=10 对 于 20% 的 测 试 数 据, 所 有 串 长 度 5,n 5,m 10; 对 于 40% 的 测 试 数 据, 所 有 串 长 度 10,n 30,m 100; 对 于 100% 的 测 试 数 据, 所 有 串 长 度 20,n 200,m 5000; 3.2. 关 键 思 路 : 通 过 三 元 组 关 系, 用 并 查 集 维 护 字 符 间 的 相 等 关 系 ; 根 据 字 典 序 关 系, 从 左 至 右 扫 描 两 个 字 符 串, 找 到 第 一 个 不 相 等 的 字 符, 将 这 两 个 字 符 对 应 的 并 查 集 建 立 一 条 有 向 边 ; 求 有 向 图 求 强 连 通 分 量, 如 果 没 有 环 则 方 案 Yes; 有 环 则 将 同 一 连 通 分 量 内 的 字 符 合 并 为 一 个 并 查 集, 重 新 建 图 做 强 连 通 建 图 时 出 现 矛 盾 则 方 案 No 时 间 复 杂 度 : 共 4000 个 字 符,n 为 4000,O(n^2) 131

132 决 赛 第 一 题 德 州 扑 克 游 戏 1.1. 题 目 : 一 背 景 本 次 比 赛 的 内 容 是 在 选 手 编 写 的 程 序 之 间 进 行 德 州 扑 克 游 戏 本 文 介 绍 德 州 扑 克 的 游 戏 规 则 二 游 戏 工 具 德 州 扑 克 使 用 一 副 普 通 的 扑 克 牌 去 掉 大 小 王 牌 之 后 的 52 张 牌 进 行 游 戏 这 52 张 牌 分 为 4 个 花 色 : 黑 桃 (S) 红 桃 (H) 梅 花 (C) 方 块 (D), 每 个 花 色 包 含 13 张 点 数 不 同 的 牌, 从 小 到 大 依 次 为 J Q K A, 其 中 J Q K 分 别 表 示 点,A 比 较 特 殊, 可 以 当 作 14 点, 也 可 以 当 作 1 点 注 意 花 色 没 有 大 小 顺 序 为 了 描 述 方 便, 我 们 用 点 数 + 花 色 的 形 式 来 描 述 一 张 扑 克, 其 中 10 用 T 表 示 即 3S 表 示 黑 桃 3,TC 表 示 梅 花 10,AD 表 示 方 块 A 三 游 戏 玩 家 游 戏 可 以 由 2 至 6 个 玩 家 参 与 所 有 玩 家 按 照 系 统 随 机 的 顺 序 围 坐 在 一 张 圆 桌 旁, 从 圆 桌 的 正 上 方 向 下 看, 每 个 玩 家 的 顺 时 针 方 向 的 玩 家 称 为 该 玩 家 的 下 家, 逆 时 针 方 向 的 玩 家 称 为 该 玩 家 的 上 家 从 开 始 玩 游 戏 一 直 到 游 戏 结 束 称 为 一 轮, 每 一 轮 的 座 位 不 变, 不 同 轮 的 座 位 可 能 不 同 在 每 一 轮 的 开 始, 每 个 玩 家 都 会 得 到 数 量 为 1000 的 筹 码, 之 后 玩 家 需 要 使 用 这 些 筹 码 下 注 以 尽 量 赢 取 其 他 玩 家 的 筹 码, 如 果 在 一 手 ( 见 游 戏 进 程 ) 结 束 后 玩 家 手 中 的 剩 余 筹 码 为 0( 见 游 戏 进 程 ), 则 玩 家 无 法 继 续 进 行 游 戏, 被 迫 出 局 每 一 轮 游 戏, 先 出 局 的 玩 家 会 获 得 较 少 的 分 数, 后 出 局 的 玩 家 获 得 较 多 的 分 数, 同 时 出 局 的 玩 家 将 获 得 相 同 的 分 数, 当 游 戏 中 只 剩 下 1 个 玩 家 时, 一 轮 游 戏 结 束 每 一 阶 段 的 比 赛 都 根 据 选 手 的 程 序 所 获 得 的 分 数 排 名, 详 细 说 明 见 赛 制 规 则 部 分 四 游 戏 进 程 每 一 轮 游 戏 分 为 很 多 手, 每 手 牌 是 一 个 相 对 独 立 的 过 程 每 手 牌 都 会 有 一 个 庄 家, 第 一 手 牌 的 庄 家 由 系 统 随 机 分 配, 之 后 每 一 手 的 庄 家 都 是 上 一 手 庄 家 的 下 家, 即 玩 家 按 照 顺 时 针 顺 序 轮 流 担 任 庄 家 对 于 每 手 牌, 都 规 定 一 个 最 小 下 注 额, 初 始 时 为 2, 当 每 个 玩 家 都 当 过 一 次 庄 家 时, 最 小 下 注 额 加 2, 当 每 个 玩 家 再 当 过 一 次 庄 家 时, 最 小 下 注 额 再 加 2, 依 此 类 推 每 手 牌 的 过 程 如 下 : 1. 洗 牌 : 系 统 自 动 将 所 有 52 张 牌 打 乱 顺 序 2. 盲 注 : 庄 家 的 下 家 和 庄 家 下 家 的 下 家 必 须 下 盲 注, 即 在 得 到 牌 之 前 下 注 这 是 为 了 保 证 每 个 获 胜 的 牌 面 都 能 赢 得 一 些 筹 码 如 果 牌 桌 上 玩 家 多 于 2 人, 则 庄 家 的 下 家 下 小 盲 注, 数 额 等 于 最 小 下 注 额 下 小 盲 注 玩 家 的 下 手 下 大 盲 注, 数 额 等 于 最 小 下 注 额 的 2 倍 ; 如 果 牌 桌 上 只 有 2 人 进 行 游 戏, 则 庄 家 下 小 盲 注, 庄 家 的 下 家 下 大 盲 注 如 果 应 当 下 盲 注 的 玩 家 的 剩 余 筹 码 不 足 上 述 的 盲 注 数 额, 则 该 玩 家 必 须 下 所 有 筹 码 3. 发 底 牌 : 下 盲 注 后, 系 统 给 每 个 玩 家 发 两 张 牌, 只 有 玩 家 自 己 可 以 看 到 是 什 么 牌, 别 人 无 法 看 到 这 些 牌 被 称 作 为 底 牌 132

133 4. 第 一 次 下 注 : 从 下 大 盲 注 玩 家 的 下 家 开 始, 沿 顺 时 针 方 向 依 次 下 注 每 个 玩 家 可 以 选 择 弃 牌 让 牌 跟 注 或 加 注 对 于 各 种 下 注 方 法 以 及 每 轮 下 注 应 当 如 何 结 束, 将 在 后 面 的 下 注 系 统 中 详 细 介 绍 5. 发 翻 牌 : 第 一 次 下 注 完 成 后, 系 统 在 圆 桌 中 央 发 三 张 公 共 牌, 所 有 人 都 可 以 看 到 这 些 牌 是 什 么 这 三 张 牌 称 为 翻 牌 6. 第 二 次 下 注 : 发 完 翻 牌 后 进 行 第 二 次 下 注 由 庄 家 的 下 家 首 先 下 注 其 他 流 程 与 第 一 次 下 注 完 全 一 样 7. 发 转 牌 : 在 第 二 次 下 注 后, 系 统 在 圆 桌 中 央 发 第 四 张 公 共 牌, 所 有 人 能 看 到 是 什 么 牌, 这 张 牌 叫 做 转 牌 8. 第 三 次 下 注 : 这 一 次 下 注 与 第 二 次 下 注 流 程 完 全 相 同 9. 发 河 牌 : 随 后, 系 统 在 圆 桌 中 央 发 第 五 张 公 共 牌, 所 有 人 能 看 到 时 什 么 牌, 这 张 牌 叫 做 河 牌 10. 第 四 次 下 注 : 这 是 最 后 一 次 下 注, 和 第 二 三 次 下 注 流 程 一 样 11. 摊 牌 : 在 最 后 一 次 下 注 后, 所 有 未 弃 牌 ( 详 见 下 注 系 统 ) 的 玩 家 翻 开 自 己 的 牌, 系 统 根 据 玩 家 的 组 合 牌 大 小 分 配 筹 码, 具 体 分 配 规 则 见 下 注 系 统 的 筹 码 分 配 12. 提 前 结 束 : 在 任 何 一 次 下 注 过 程 中, 如 果 只 剩 下 一 个 玩 家 未 弃 牌, 则 本 手 游 戏 提 前 结 束, 未 弃 牌 的 玩 家 获 得 所 有 筹 码 五 下 注 系 统 基 本 概 念 下 注 额 : 每 手 游 戏 中, 玩 家 会 跟 随 游 戏 进 程, 分 别 逐 步 增 加 自 己 的 下 注 筹 码 数 量, 玩 家 在 一 手 游 戏 中 下 注 的 筹 码 总 数 量 称 为 该 玩 家 的 下 注 额 最 高 下 注 玩 家 : 下 注 额 最 高 的 第 一 个 玩 家 称 为 最 高 下 注 玩 家 玩 家 下 盲 注 时 不 成 为 最 高 下 注 玩 家, 第 一 个 跟 注 或 加 注 的 玩 家 成 为 最 高 下 注 玩 家 当 前 最 高 下 注 额 : 在 大 小 盲 注 下 完 后, 当 前 最 高 下 注 额 为 大 盲 注 的 筹 码 数 在 出 现 了 最 高 下 注 玩 家 之 后, 当 前 最 高 下 注 额 为 最 高 下 注 玩 家 的 下 注 额 初 始 筹 码 : 每 手 游 戏 开 始 前, 玩 家 持 有 的 筹 码 剩 余 筹 码 : 每 手 游 戏 中, 玩 家 剩 余 筹 码 的 数 量 玩 家 的 下 注 额 + 剩 余 筹 码 = 初 始 筹 码 下 注 规 则 下 注 顺 序 : 第 一 次 下 注, 由 下 大 盲 注 玩 家 的 下 家 首 先 下 注, 然 后 其 他 玩 家 按 照 顺 时 针 顺 序 依 次 下 注 第 二 三 四 次 下 注, 由 庄 家 的 下 家 首 先 下 注, 然 后 其 他 玩 家 按 照 顺 时 针 顺 序 依 次 下 注 下 注 : 每 个 剩 余 筹 码 大 于 零 的 玩 家 在 下 注 时 可 以 选 择 弃 牌 让 牌 跟 注 或 加 注 弃 牌 : 弃 牌 是 决 定 放 弃 本 手 游 戏, 以 后 不 再 下 注, 直 到 新 的 一 手 牌 开 始 弃 牌 的 玩 家 不 参 与 筹 码 分 配, 弃 牌 前 下 注 的 筹 码 将 用 于 筹 码 分 配, 玩 家 保 留 剩 余 筹 码 让 牌 : 玩 家 下 注 时, 如 果 他 当 前 的 下 注 额 已 经 等 于 当 前 最 高 下 注 额, 则 他 可 以 选 择 不 加 注 而 留 在 游 戏 中 第 一 个 让 牌 的 玩 家 成 为 最 高 下 注 玩 家 跟 注 : 将 自 己 的 下 注 额 提 升 至 当 前 最 高 下 注 额, 若 剩 余 筹 码 不 足, 则 将 下 注 额 提 升 至 初 始 筹 码 的 数 量 133

134 加 注 : 将 下 注 额 提 升 至 当 前 最 高 下 注 额, 同 时 再 追 加 下 注 一 定 数 量 的 筹 码 玩 家 在 加 注 之 后 成 为 最 新 的 最 高 下 注 玩 家 追 加 的 筹 码 数 量 需 要 大 于 或 等 于 最 小 下 注 额, 若 剩 余 筹 码 不 足, 则 不 能 选 择 加 注 下 注 结 束 条 件 : 在 重 新 轮 转 到 最 高 下 注 玩 家 时, 一 次 下 注 结 束 即 在 最 高 下 注 玩 家 下 注 后 一 圈 内 无 人 加 注 时, 此 次 下 注 结 束 选 择 权 与 下 注 结 束 : 选 择 权 是 对 下 注 结 束 条 件 的 另 一 种 理 解 方 法 下 注 开 始 时, 所 有 玩 家 具 有 选 择 权, 当 一 个 玩 家 弃 牌 让 牌 或 跟 牌 时, 他 失 去 选 择 权 ; 当 一 个 玩 家 加 注 时, 他 失 去 选 择 权, 所 有 其 他 未 弃 牌 并 且 无 选 择 权 的 玩 家 重 新 获 得 选 择 权 当 所 有 玩 家 都 不 具 有 选 择 权 时, 下 注 结 束 这 种 理 解 方 式 与 前 面 根 据 最 高 下 注 玩 家 定 义 的 下 注 结 束 条 件 是 没 有 矛 盾 的 筹 码 分 配 : 在 第 四 次 下 注 后, 游 戏 会 进 根 据 玩 家 的 组 合 牌 大 小 分 配 筹 码, 牌 面 大 小 见 下 一 节 描 述 分 配 过 程 如 下 : 1. 所 有 未 弃 牌 的 玩 家 参 与 筹 码 分 配 2. 选 择 下 注 额 最 小 的 玩 家 ( 最 小 玩 家 ), 从 所 有 玩 家 当 前 的 下 注 筹 码 中 分 别 取 出 与 最 小 玩 家 的 当 前 下 注 筹 码 相 等 的 数 量 3. 将 取 出 的 这 些 筹 码 分 配 给 当 前 参 与 分 配 的 玩 家 中 牌 面 最 大 的 玩 家, 如 果 出 现 多 个 玩 家 牌 面 最 大, 则 平 均 分 配 对 于 不 能 均 分 的 情 况, 在 牌 面 最 大 的 玩 家 中, 由 庄 家 下 家 位 置 开 始, 按 顺 时 针 顺 序 每 人 分 配 一 个 筹 码, 直 到 分 完 为 止 4. 当 前 剩 下 的 下 注 筹 码 为 0 的 玩 家 退 出 筹 码 分 配 5. 重 复 2, 3, 4, 直 到 所 有 下 注 的 筹 码 都 分 配 完 毕 6. 每 手 牌 结 束 后, 玩 家 持 有 的 筹 码 数 量 为 : 剩 余 筹 码 + 分 配 到 的 筹 码 7. 六 牌 面 大 小 当 一 手 牌 结 束, 摊 牌 时, 所 有 未 弃 牌 的 玩 家 将 手 中 的 牌 翻 开, 比 较 牌 的 大 小 系 统 自 动 从 玩 家 手 中 的 2 张 牌 和 5 张 公 共 牌 中 选 出 5 张 构 成 一 幅 最 大 的 牌 面 这 5 张 牌 可 能 构 成 不 同 的 组 合, 组 合 的 大 小 顺 序 依 次 为 : 同 花 顺 四 张 葫 芦 同 花 顺 子 三 张 两 对 一 对 杂 牌 组 合 的 规 则 和 相 同 组 合 中 的 牌 的 大 小 如 下 : 1. 同 花 顺 : 五 张 牌 花 色 相 同, 并 且 构 成 顺 子 ( 即 点 数 相 连 ) 例 如 :AD KD QD JD TD 由 于 A 可 以 看 成 14 点 或 1 点, 所 以 5H 4H 3H 2H AH 也 是 同 花 顺, 但 4H 3H 2H AH KH 不 是 同 花 顺 两 个 同 花 顺 比 较 时, 只 比 较 点 数 最 大 的 牌, 如 KD QD JD TD 9D 比 5H 4H 3H 2H AH 大, 因 为 K 比 5 大 而 AD KD QD JD TD 比 KD QD JD TD 9D 大, 因 为 A 比 K 大 最 大 点 数 的 牌 相 同 时 认 为 大 小 相 同, 如 5H 4H 3H 2H AH 和 5C 4C 3C 2C AC 大 小 相 同 2. 四 张 : 有 四 张 点 数 相 同 的 牌, 再 加 上 另 一 张 牌 例 如 :9S 9H 9C 9D 5S 两 个 四 张 比 大 小 时 首 先 比 较 四 张 相 同 的 牌 的 点 数 大 小, 如 果 点 数 相 同 再 比 较 剩 下 的 一 张 牌, 此 时 如 果 剩 下 的 一 张 牌 大 小 相 同 就 认 为 两 个 四 张 大 小 相 同 3. 葫 芦 : 三 张 点 数 相 同 的 牌, 加 上 另 两 张 点 数 相 同 的 牌 例 如 :9S 9H 9C 5H 5S 大 小 比 较 为 首 先 比 较 三 张 的 大 小, 再 比 较 两 张 的 大 小 4. 同 花 : 五 张 牌 同 花, 但 不 是 顺 子 例 如 :AH KH TH 5H 2H 比 较 大 小 为 按 5 张 牌 从 大 到 小 的 顺 序 依 次 比 较 5. 顺 子 : 五 张 牌 点 数 相 连, 但 是 不 同 花 例 如 :JH TS 9S 8D 7D 比 较 大 小 的 规 则 与 同 花 顺 相 同 6. 三 张 : 三 张 点 数 相 同 的 牌, 加 上 另 两 张 点 数 不 同 的 牌 例 如 :9S 9H 9C TH 4D 比 较 大 小 时 首 先 比 较 三 张 的 大 小, 然 后 按 从 大 到 小 的 顺 序 依 次 比 较 剩 下 的 两 张 牌 134

135 7. 两 对 : 两 对 相 同 的 牌 加 上 一 张 散 牌 例 如 :9H 9C 8S 8D 5S 比 较 大 小 时 首 先 比 较 点 数 较 大 的 对, 再 比 较 点 数 较 小 的 对, 最 后 比 较 散 牌 8. 一 对 : 一 对 相 同 的 牌 加 上 三 张 散 牌 例 如 :6S 6C QD TD 7S 比 较 时 首 先 比 较 对, 然 后 按 从 大 到 小 的 顺 序 依 次 比 较 剩 下 的 三 张 牌 9. 杂 牌 : 五 张 散 牌 例 如 :KH QC TD 8D 2H 比 较 大 小 时 按 从 大 到 小 的 顺 序 依 次 比 较 1.2. 关 键 思 路 : 这 题 比 较 灵 活, 在 比 赛 这 么 短 的 时 间 内 也 没 办 法 实 现 太 复 杂 的 AI, 只 能 根 据 自 己 的 经 验 和 感 觉 设 计 策 略 一 个 可 行 的 思 路 是, 我 们 可 以 根 据 手 牌 和 公 共 牌 计 算 一 个 分 数, 描 叙 自 己 最 终 可 能 得 到 的 组 合 的 优 劣 程 度 的 期 望, 根 据 这 个 分 数 我 们 去 决 定 跟 还 是 不 跟 更 细 致 我 们 还 可 以 纳 入 当 前 有 多 少 玩 家 还 在 跟 牌, 各 个 玩 家 的 经 济 状 况 等 条 件 综 合 考 虑 事 实 上 这 不 仅 是 写 一 个 AI, 也 是 选 手 之 间 的 博 弈, 揣 度 其 它 选 手 可 能 的 策 略 比 如 有 人 的 策 略 是 前 15 把 直 接 弃 牌 存 活 下 来, 后 面 随 机 跟 牌 碰 运 气, 这 样 简 单 的 策 略 最 终 也 取 得 了 第 五 的 成 绩, 当 然 这 也 和 运 气 有 关 在 编 码 调 试 的 过 程 中, 百 度 还 为 大 家 提 供 了 三 个 测 试 AI, 一 个 是 全 跟, 一 个 是 全 弃, 还 有 一 个 是 百 度 员 工 实 现 的 AI 百 度 之 星 2012 初 赛 第 一 场 第 一 题 : 1.1. 题 目 : Baidu 年 会 安 排 了 一 场 时 装 秀 节 目 N 名 员 工 将 依 次 身 穿 盛 装 上 台 表 演 表 演 的 顺 序 是 通 过 一 种 画 线 抽 签 的 方 式 决 定 的 135

136 首 先, 员 工 们 在 一 张 白 纸 上 画 下 N 条 平 行 的 竖 线 在 竖 线 的 上 方 从 左 到 右 依 次 写 下 1 至 N 代 表 员 工 的 编 号 ; 在 竖 线 的 下 方 也 从 左 到 右 依 次 写 下 1 至 N 代 表 出 场 表 演 的 次 序 接 着, 员 工 们 随 意 在 两 条 相 邻 的 竖 线 间 添 加 垂 直 于 竖 线 的 横 线 段 最 后, 每 位 员 工 的 出 场 顺 序 是 按 如 下 规 则 决 定 的 : 每 位 员 工 从 自 己 的 编 号 开 始 用 手 指 沿 竖 线 向 下 划, 每 当 遇 到 横 线 就 沿 横 线 移 动 到 相 邻 的 竖 线 上 去, 直 到 手 指 到 达 竖 线 下 方 的 出 场 次 序 编 号 这 时 手 指 指 向 的 136

137 编 号 就 是 该 员 工 的 出 场 次 序 例 如 在 下 图 的 例 子 中, 度 度 熊 将 第 二 名 出 场, 第 一 名 出 场 的 是 员 工 4 员 工 在 画 横 线 时, 会 避 免 在 同 一 位 置 重 复 画 线, 并 且 避 免 两 条 相 邻 的 横 线 连 在 一 起 即 下 图 所 示 的 情 况 是 不 会 出 现 的 : 给 定 一 种 画 线 的 方 案, 员 工 编 号 为 K 的 度 度 熊 想 知 道 自 己 是 不 是 第 一 位 出 场 表 演 的 如 果 不 是, 度 度 熊 想 知 道 自 己 能 不 能 通 过 增 加 一 条 横 线 段 来 使 得 自 己 变 成 第 一 位 出 场 表 演 输 入 数 据 : 为 了 描 述 方 便, 我 们 规 定 写 有 员 工 编 号 的 方 向 是 y 轴 正 方 向 ( 即 上 文 中 的 竖 线 上 方 ), 写 有 出 场 次 序 的 方 向 是 y 轴 负 方 向 ( 即 上 文 中 的 竖 线 下 方 ) 竖 线 沿 x 轴 方 向 ( 即 上 文 中 从 左 到 右 ) 依 次 编 号 1 至 N 于 是, 每 条 横 线 的 位 置 都 可 以 由 一 个 三 元 组 <xl, xr, y> 确 定, 其 中 xl, xr 是 横 线 左 右 两 个 端 点 所 在 竖 线 的 编 号,y 是 横 线 的 高 度 输 入 第 一 行 是 一 个 整 数 T(T <= 50), 代 表 测 试 数 据 的 组 数 137

138 每 组 数 据 的 第 一 行 包 含 三 个 整 数 N, M,K( 1<=N<=100, 0<=M<=1000, 1<=K<=N), 分 别 代 表 参 与 表 演 的 员 工 人 数 画 下 的 横 线 数 目 以 及 度 度 熊 的 员 工 编 号 每 组 数 据 的 第 2~M+1 行 每 行 包 含 3 个 整 数, xl, xr, y, (1 <= xl < N, xr = xl + 1, 0 <= y <= 1,000,000), 描 述 了 一 条 横 线 的 位 置 输 出 数 据 : 对 于 每 组 数 据 输 出 一 行 Yes 或 者 No, 表 示 度 度 熊 能 否 通 过 增 加 一 条 横 线 段 来 使 得 自 己 变 成 第 一 位 出 场 表 演 如 果 度 度 熊 已 经 是 第 一 位 出 场 表 演, 也 输 出 Yes 注 意, 尽 管 输 入 数 据 中 员 工 画 的 横 线 高 度 都 是 整 数, 但 是 度 度 熊 可 以 在 任 意 实 数 高 度 画 横 线 此 外, 度 度 熊 和 员 工 一 样, 在 画 横 线 时 需 要 避 免 在 同 一 位 置 重 复 画 线, 也 要 避 免 两 条 相 邻 的 横 线 连 在 一 起 评 分 标 准 : 程 序 输 出 结 果 是 否 正 确 1.2. 关 键 思 路 : 根 据 作 用 效 果 易 分 析 出, 题 目 中 的 横 线 起 的 作 用 是 交 换 相 邻 两 条 竖 线 上 的 人 的 出 场 次 序 所 以 建 造 初 始 次 序 序 列 后, 根 据 横 线 的 坐 标 从 大 到 小 模 拟 交 换 即 可 这 样 可 以 得 到 最 终 的 次 序 序 列 即 为 结 果, 如 果 度 度 熊 是 第 一 个 出 场 自 然 输 出 yes 如 果 在 出 场 次 序 的 交 换 过 程 中 俩 个 人 相 邻, 因 为 可 以 画 实 数 高 度 的 线, 必 然 添 一 条 线 可 以 交 换 两 人 的 次 序 所 以 统 计 跟 度 度 熊 相 邻 的 人 中 是 否 出 现 过 最 终 第 一 个 出 场 的 人, 如 果 有 也 是 yes 其 他 情 况 是 no 初 赛 第 一 场 第 二 题 : 小 小 度 刷 礼 品 2.1. 题 目 一 年 一 度 的 百 度 之 星 又 开 始 了, 这 次 参 赛 人 数 创 下 了 吉 尼 斯 世 界 纪 录, 于 是 百 度 之 星 决 定 奖 励 一 部 分 人 : 所 有 资 格 赛 提 交 ID 以 x 结 尾 的 参 赛 选 手 将 得 到 精 美 礼 品 一 份 小 小 度 同 学 非 常 想 得 到 这 份 礼 品, 于 是 他 就 连 续 狂 交 了 很 多 次, 提 交 ID 从 a 连 续 到 b, 他 想 问 问 你 他 能 得 到 多 少 份 礼 品, 你 能 帮 帮 他 吗? 输 入 第 一 行 一 个 正 整 数 T 表 示 数 据 组 数 ; 接 下 去 T 行, 每 行 三 个 正 整 数 x,a,b (0 <=x <= 1018, 1 <= a,b <= 1018,a <= b) 输 出 T 行, 每 行 为 对 应 的 数 据 情 况 下, 小 小 度 得 到 的 礼 品 数 样 例 输 入 138

139 样 例 输 出 思 路 : 先 不 妨 设 x 有 len 位, 则 对 于 符 合 要 求 的 数 字, 其 最 低 len 位 是 确 定 的 ( 即 x), 所 以 剩 下 位 的 每 一 种 可 能 便 对 应 一 个 符 合 要 求 的 数 字 如 果 a%10^len>x, 则 说 明 以 a/10^len 作 为 较 高 位 不 在 范 围 内 ; 如 果 b%10^len<x, 则 说 明 以 b/10^len 作 为 较 高 位 不 在 范 围 内 将 a 与 b 的 较 低 len 位 截 去, 判 断 边 界 条 件 后 ( 当 前 的 a,b 作 为 较 高 位 是 否 在 范 围 内, 不 在 则 对 应 将 其 加 减 1), 此 时 从 a 到 b 每 一 个 数 字 都 对 应 一 个 符 合 要 求 的 数 字, 所 以 b-a+1 即 为 答 案 初 赛 第 一 场 第 三 题 : 集 合 的 交 并 3.1. 题 目 描 述 : 对 于 一 个 闭 区 间 集 合 {A1,A2 AK}(K>1,Ai Aj{i j}), 我 们 定 义 其 权 值 其 中 X 表 示 X 区 间 的 长 度 ; 如 果 X 为 空 集 X =0 当 然, 如 果 这 些 闭 区 间 没 有 交 集 则 权 值 为 0 给 定 N 个 各 不 相 同 的 闭 区 间, 请 你 从 中 找 出 若 干 个 ( 至 少 2 个 ) 区 间 使 其 权 值 最 大 输 入 数 据 : 第 一 行 一 个 整 数 N (2 <= N <= 10 5 ) 接 下 来 N 行 每 行 两 个 整 数 l r(1<=l<=r<=10 6 ), 表 示 闭 区 间 的 两 个 端 点 输 出 数 据 : 最 大 权 值 例 如, 对 于 : 其 输 出 结 果 是 : 24 评 分 标 准 : 程 序 输 出 结 果 是 否 正 确 139

140 3.2. 关 键 思 路 : 首 先, 显 而 易 见 地, 选 出 的 所 有 区 间 必 须 有 交 集, 否 则 W 必 为 0 然 后, 若 对 于 多 于 两 个 相 交 区 间 的 并, 其 中 必 须 有 两 个 区 间 的 并 能 够 完 全 覆 盖 整 个 区 间 若 不 然, 则 这 两 个 区 间 有 未 覆 盖 的 子 区 间, 与 所 有 集 合 相 交 矛 盾 所 以 对 于 每 种 多 于 两 个 区 间 的 选 择, 只 需 选 中 其 中 两 个 区 间 便 能 获 得 同 样 的 并 集 与 交 集 第 一 题 度 度 熊 就 是 要 刷 排 名 第 一 1.1. 题 目 : 一 天 度 度 熊 在 Baidu 游 戏 大 厅 中 发 现 了 一 个 隐 藏 的 神 奇 游 戏, 叫 做 度 度 熊 的 逆 袭 度 度 熊 很 好 奇 到 底 是 什 么 情 况, 于 是 就 进 入 了 游 戏 这 个 游 戏 很 神 奇, 游 戏 会 给 出 n 个 数 Ai, 度 度 熊 可 以 任 意 从 中 选 取 一 些 数, 一 个 数 可 以 选 任 意 多 次 选 好 之 后 度 度 熊 得 到 的 分 数 为 度 度 熊 选 出 的 数 的 Xor( 异 或 ) 值 度 度 熊 顿 时 产 生 了 兴 趣, 决 心 要 刷 至 Ranklist 的 第 一 名 但 是 度 度 熊 犯 难 了, 度 度 熊 不 知 道 自 己 给 出 的 方 案 是 不 是 最 好 的, 于 是 度 度 熊 找 到 了 你, 希 望 你 告 诉 他 对 于 某 个 回 合, 度 度 熊 能 得 到 的 最 高 分 和 第 二 高 分 是 多 少? 输 入 第 1 行 1 个 数 n, 接 下 来 1 行 n 个 整 数 表 示 Ai, (0<=Ai<231) 1<=n<=105 输 出 输 出 一 行 两 个 数, 表 示 度 度 熊 能 够 得 到 的 最 高 分 和 第 二 高 分 为 多 少 样 例 输 入 样 例 输 出 关 键 思 路 : 显 然, 题 目 中 所 说 的 一 个 数 可 以 选 任 意 多 次 是 没 有 意 义 的, 因 为 一 个 数 与 自 己 的 异 或 值 为 0. 另 外 由 于 数 组 A 中 的 数 最 大 为 230, 换 算 成 2 进 制 最 多 8 位, 也 就 是 说 最 后 的 异 或 值 不 可 能 大 于 255! 有 以 上 分 析, 有 一 个 很 显 然 的 做 法, 用 一 个 数 组 mk[],mk[i] 表 示 数 字 i 可 以 用 某 些 数 的 异 或 值 来 表 示 那 么 初 始 的 时 候 只 有 0 然 后, 每 次 扫 一 遍 数 组 A, 看 看 有 没 有 新 的 值 加 入, 直 到 没 有 新 的 只 加 入, 循 环 结 束! 然 后 从 255 到 0 扫 一 边 找 出 最 大 值 和 次 大 值! 140

141 第 二 题 : 度 度 熊 的 礼 物 2.1. 题 目 : 题 目 描 述 : 度 度 熊 拥 有 一 个 自 己 的 Baidu 空 间, 度 度 熊 时 不 时 会 给 空 间 朋 友 赠 送 礼 物, 以 增 加 度 度 熊 与 朋 友 之 间 的 友 谊 值 度 度 熊 在 偶 然 的 机 会 下 得 到 了 两 种 超 级 礼 物, 于 是 决 定 给 每 位 朋 友 赠 送 一 件 超 级 礼 物 不 同 类 型 的 朋 友 在 收 到 不 同 的 礼 物 所 能 达 到 的 开 心 值 是 不 一 样 的 开 心 值 衡 量 标 准 是 这 样 的 : 每 种 超 级 礼 物 都 拥 有 两 个 属 性 (A, B), 每 个 朋 友 也 有 两 种 属 性 (X, Y), 如 果 该 朋 友 收 到 这 个 超 级 礼 物, 则 这 个 朋 友 得 到 的 开 心 值 为 A*X + B*Y 由 于 拥 有 超 级 礼 物 的 个 数 限 制, 度 度 熊 很 好 奇 如 何 分 配 这 些 超 级 礼 物, 才 能 使 好 友 的 开 心 值 总 和 最 大 呢? 输 入 第 一 行 n 表 示 度 度 熊 的 好 友 个 数 接 下 来 n 行 每 行 两 个 整 数 表 示 度 度 熊 好 朋 友 的 两 种 属 性 值 Xi, Yi 接 下 来 2 行, 每 行 三 个 整 数 ki, Ai, Bi, 表 示 度 度 熊 拥 有 第 i 种 超 级 礼 物 的 个 数 以 及 两 个 属 性 值 1<=n<=1000, 0<=Xi,Yi, Ai, Bi 1+k2>=n 输 出 输 出 一 行 一 个 值 表 示 好 友 开 心 值 总 和 的 最 大 值 样 例 输 入 样 例 输 出 118 提 示 送 给 第 一 种 礼 物 的 人 有 1,3,4, 送 给 第 二 种 礼 物 的 人 有 2 保 证 数 据 不 会 爆 int 2.2. 关 键 思 路 : 贪 心 算 法 : 在 两 种 礼 物 都 有 的 时 候 计 算 一 下 给 朋 友 哪 个 开 心 值 高 就 给 哪 一 个 ; 141

142 在 仅 剩 一 种 礼 物 的 时 候, 就 假 设 把 这 种 礼 物 给 这 个 朋 友, 然 后 再 调 整 前 i 个 朋 友 的 礼 物 顺 序, 使 得 开 心 值 增 加 最 多 1 首 先, 显 然 在 给 第 一 个 朋 友 的 时 候, 两 种 礼 物 都 有, 哪 个 开 心 值 高 就 给 那 个 ; 2 然 后, 假 设 按 照 这 种 方 法 给 了 前 k 个 朋 友 礼 物, 使 得 前 k 个 朋 友 的 开 心 值 最 高 那 么, 如 果 能 证 明 按 照 这 种 方 法 给 第 k+1 个 朋 友 的 时 候 也 能 取 得 最 优 值, 那 么 有 归 纳 法 就 可 以 得 知 该 算 法 的 正 确 性! 1) 假 设 在 给 第 k+1 个 朋 友 的 时 候 两 种 礼 物 都 有, 那 么, 由 于 前 k 个 已 经 取 得 最 优 值, 而 且 第 k+1 个 也 取 得 最 优 值, 显 然 可 以 取 得 前 k+1 的 最 优 值 ; 2) 假 设 在 给 第 k+1 个 朋 友 的 时 候 仅 剩 一 种 礼 物 其 实 我 们 是 想 比 较 给 第 k+1 个 朋 友 当 前 仅 剩 的 一 种 礼 物, 和 另 一 种 礼 物 的 开 心 值 哪 个 比 较 高, 但 是 由 于 没 有 另 一 种 礼 物 了, 所 以 唯 一 的 可 能 性 就 是 将 当 前 的 礼 物 与 前 面 某 个 朋 友 的 交 换 然 后, 找 到 这 样 的 一 个 最 优 值, 这 样 就 能 保 证 前 k+1 个 朋 友 的 开 心 值 一 定 最 高 ( 其 实 有 人 还 有 一 些 疑 问, 会 不 会 有 连 锁 交 换? 绝 对 不 会 有! 可 以 自 己 想 一 下 ) 综 上, 有 归 纳 法 可 知 贪 心 算 法 的 正 确 性!!! 第 三 题 : 网 页 聚 类 3.1. 题 目 : 描 述 有 N(N <= 1000) 个 网 页, 我 们 想 按 照 它 们 的 相 似 度 或 差 异 度, 把 它 们 聚 成 K(2 <= K <= N) 个 类 每 个 网 页 都 具 有 一 些 属 性, 简 单 起 见 我 们 认 为 每 个 网 页 只 有 三 个 属 性 :x y z 归 一 化 之 后, 这 三 个 属 性 的 取 值 范 围 都 是 [0,1] 两 个 网 页 i j 的 差 异 度 如 下 定 义 :s(i,j) = (x_j-x_i)^2 + (y_j-y_i)^2 + (z_j-z_i)^2 请 求 出 最 大 的 t, 每 个 类 至 少 包 含 一 个 网 页, 并 且 其 中 任 意 两 个 位 于 不 同 类 中 的 网 页 的 差 异 度 都 至 少 为 t 输 入 第 一 行 包 含 两 个 整 数 N 和 K, 后 面 N 行 每 行 三 个 实 数, 分 别 为 x y z 输 出 最 大 的 t 的 值, 使 用 四 舍 五 入 在 小 数 点 后 保 留 六 位 小 数 样 例 输 入 样 例 输 出

143 3.2. 关 键 思 路 : 由 题 意 可 知 两 个 网 页 的 差 异 度 的 范 围 为 [0,3], 且 若 存 在 x 个 聚 类 满 足 差 异 度 条 件, 将 它 们 中 的 任 意 几 个 合 并 后 仍 会 满 足 条 件, 所 以 只 需 二 分 t 的 值, 对 于 当 前 t, 利 用 bfs 将 差 异 值 小 于 t 的 归 为 一 类, 判 断 是 否 可 以 有 k 个 不 同 聚 类 即 可 第 四 题 小 王 子 的 表 演 4.1. 题 目 : 为 了 庆 祝 女 王 的 生 日, 王 宫 前 的 广 场 上 正 举 行 着 一 场 神 枪 手 的 表 演 赛 这 些 神 枪 手 中 包 括 军 队 里 的 射 击 天 才, 山 中 的 顶 级 猎 人, 异 国 的 神 奇 牛 仔 来 自 五 湖 四 海 的 高 手 汇 聚 一 堂 在 比 赛 中 技 压 群 雄 的 人, 不 仅 仅 能 给 女 王 的 生 日 添 上 华 丽 的 祝 福, 还 能 够 获 得 无 上 的 荣 誉 比 赛 的 规 则 很 简 单 场 中 存 在 着 N 个 靶 子, 每 个 枪 手 允 许 在 场 内 任 何 一 点 向 任 意 方 向 射 击 一 次, 穿 透 最 多 靶 子 数 目 的 枪 手 就 是 胜 利 者 从 广 场 的 平 面 图 来 看, 每 个 靶 子 都 可 以 被 认 为 是 一 个 点, 并 且 第 i 个 靶 子 的 运 动 轨 迹 是 以 点 (xi,yi) 为 起 点, 点 (xi+ai,yi+bi) 为 终 点 的 线 段 发 令 枪 响 的 那 一 刻, 每 个 靶 子 同 时 从 起 点 到 终 点 开 始 匀 速 运 动 虽 然 靶 子 各 自 的 速 度 不 尽 相 同, 但 是 所 有 的 靶 子 将 会 在 10 秒 后 同 时 到 达 终 点, 选 手 必 须 在 这 10 秒 之 内 ( 包 含 开 始 和 结 束 的 瞬 间 ) 进 行 射 击 子 弹 的 速 度 可 以 认 为 是 无 穷 大 并 且 射 击 场 没 有 边 界 小 王 子 偷 偷 地 也 报 名 参 加 的 这 次 比 赛, 希 望 能 在 母 亲 的 生 日 上 表 现 出 自 己 的 成 长 聪 明 的 小 王 子 早 就 通 过 观 察 把 所 有 靶 子 的 运 动 情 况 强 记 在 心, 那 么, 小 王 子 最 完 美 的 射 击 究 竟 能 够 穿 透 多 少 靶 子 呢? 输 入 第 一 行 只 有 一 个 整 数,N, (1<=N<=50) 之 后 每 一 行 包 含 4 个 整 数,xi,yi,ai,bi, 分 别 表 示 第 i 的 靶 子 运 动 轨 迹 的 起 点 (xi,yi), 以 及 方 向 (ai,bi), 假 设 这 些 整 数 的 绝 对 值 都 不 大 于 1000 输 出 只 需 要 输 出 一 个 整 数, 表 示 最 优 情 况 下 小 王 子 一 发 子 弹 能 够 击 穿 的 靶 子 数 目 样 例 输 入 样 例 输 出 143

144 4 提 示 两 个 靶 子 可 能 会 在 某 些 时 刻 重 叠 在 一 起, 此 时 它 们 不 会 发 生 碰 撞 而 是 沿 着 各 自 的 轨 迹 继 续 运 动 下 去 数 据 中 没 有 两 个 运 动 完 全 相 同 的 靶 子 4.2. 关 键 思 路 : N 只 有 50, 枚 举 3 个 点 共 线 的 情 况, 计 算 共 线 时 间, 及 其 他 点 的 位 置, 统 计 有 多 少 点 共 线 应 该 就 可 以, n^4 复 赛 第 一 题 蛛 网 1.1. 题 目 存 在 如 下 图 所 示 的 蛛 网, 该 蛛 网 有 N 条 经 线, 顺 时 针 标 记 为 1..N 相 邻 两 条 经 线 之 间 分 布 着 K 层 纬 线, 从 中 心 开 始 往 外 分 别 计 为 1..K, 每 两 层 相 邻 纬 线 之 间 的 距 离 固 定 为 D( 此 距 离 是 指 在 经 线 上 从 一 条 纬 线 走 到 相 邻 纬 线 的 距 离, 而 非 两 条 纬 线 在 空 间 上 的 最 短 距 离 ) 从 蛛 网 中 心 到 第 i 条 经 线 第 1 层 纬 线 的 距 离 为 Li, 经 线 i 与 经 线 i+1 之 间 的 第 j 层 纬 线 长 度 为 Xj,i 现 在 蛛 网 上 有 M 个 经 纬 交 错 的 点 上 有 食 物 ( 图 中 的 小 红 点 ) 求 问 蜘 蛛 从 图 中 任 意 一 点 出 发, 经 过 每 条 经 线 至 多 1 次 的 情 况 下 ( 即 一 旦 离 开 了 某 条 经 线, 就 不 能 再 次 回 到 该 经 线 上, 除 非 出 发 点 在 该 经 线 上, 则 可 以 在 最 后 回 到 该 经 线 上 来 ; 蛛 网 中 心 不 属 于 任 何 经 线 的 一 部 分 ), 将 所 有 食 物 全 部 收 集 起 来 并 回 到 出 发 点 需 要 经 过 的 最 短 路 程 在 同 一 经 线 上 移 动 时 可 以 反 复 经 过 该 经 线 上 的 每 一 条 边 无 数 次, 蛛 丝 没 有 方 向 下 图 中 蓝 色 的 边 为 经 线 144

145 输 入 第 1 行 :4 个 正 整 数,N,K,D,M 第 2 行 :N 个 整 数, 第 i 个 数 表 示 Li 第 3..K+2 行 : 每 行 N 个 整 数, 第 j+2 行 第 i 个 数 表 示 Xj,i 第 K+3..K+M+2 行 : 每 行 M 个 正 整 数 x,y, 表 示 经 线 x 的 第 y 层 处 有 食 物 5 <= N <= 150,000 1 <= K <= 50 2 <= M <= NK 1 <= D, Li, Xj,i <= 10,000 输 出 第 1 行 :1 个 整 数, 表 示 最 短 的 移 动 路 程 样 例 输 入 样 例 输 出 24 提 示 蛛 网 上 的 边 不 一 定 是 一 条 直 线, 因 此 其 长 度 不 会 受 到 平 面 / 立 体 空 间 的 约 束 最 开 始 选 择 位 置 时 所 在 的 经 线 记 为 未 被 走 过, 当 且 仅 当 从 其 他 经 线 或 者 中 心 点 移 动 过 来 的 时 候 才 记 为 经 过 某 条 经 线 红 色 路 线 为 样 例 移 动 路 径 145

146 输 入 / 输 出 可 能 很 大, 推 荐 使 用 scanf/printf 1.2. 思 路 : 根 据 题 意, 分 析 得 知 只 能 到 达 某 一 个 经 度 一 次 并 在 该 经 度 上 一 次 性 取 完 所 有 食 物, 具 有 很 强 的 阶 段 性, 采 用 动 态 规 划 算 法 解 决 该 问 题 设 状 态 f[i][j] 为 在 已 经 取 完 前 i 个 经 度 上 取 完 所 有 食 物 以 后 从 第 j 个 纬 度 出 发 到 达 下 一 个 经 度 的 最 小 代 价, 因 为 要 形 成 一 条 环 路, 则 枚 举 从 第 n 个 经 度 的 第 s 个 维 度 出 发 到 达 第 1 个 经 度 的 对 于 第 i 个 经 度 而 言, 若 该 精 度 上 没 有 食 物, 则 从 上 一 个 经 度 上 转 移 纬 度 和 在 当 前 经 度 上 转 移 纬 度 等 价, 但 是 注 意 到 每 一 个 经 度 的 L[i] 不 同, 所 以 可 能 导 致 从 上 个 经 度 第 0 个 纬 度 转 移 到 当 前 经 度 某 个 纬 度, 或 者 从 上 个 经 度 某 个 纬 度 转 移 到 当 前 经 度 第 0 个 纬 度 更 优, 所 以 要 做 针 对 于 第 0 个 纬 度 的 最 优 化 若 该 经 度 上 有 至 少 一 个 食 物, 那 么 从 上 一 个 经 度 的 任 一 个 纬 度 转 移 一 定 会 保 证 取 完 所 有 食 物 的 最 小 代 价 在 纬 度 最 高 的 食 物 或 者 纬 度 最 低 的 食 物 上 的 一 种 情 况, 然 后 从 这 两 个 点 转 移 到 n+1 个 纬 度 上, 取 两 个 点 的 最 小 值 转 移 到 每 个 纬 度 最 终 状 态 即 为 f[n][s], 取 所 有 s 的 情 况 中 f[n][s] 的 最 小 值 即 为 答 案 146

上海市本科教学质量年度报告

上海市本科教学质量年度报告 上 海 市 本 科 教 学 质 量 年 度 报 告 数 据 内 涵 说 明 V2.0 版 上 海 市 教 委 高 教 处 上 海 喆 思 (2015.07.02) 目 录 一 基 本 统 计 挃 标 说 明... 4 二 挃 标 解 释... 4 1. 全 日 制 在 校 本 科 生 数 及 占 在 校 生 总 数 的 比 例 ( 学 年 )... 4 2. 当 年 本 科 招 生 与 业 总 数

More information

台南市立崇明國民中學九十五學年度第一學期第一次模擬考國文科試卷

台南市立崇明國民中學九十五學年度第一學期第一次模擬考國文科試卷 台 南 市 立 崇 明 國 民 中 學 九 十 九 學 年 度 第 一 學 期 三 年 級 第 二 次 模 擬 考 國 文 科 試 卷 範 圍 〆 第 三 冊 命 題 教 師 〆 張 蘭 芳 * 本 試 卷 共 3 張 5 頁 請 將 答 案 以 2B 鉛 筆 直 接 劃 於 電 腦 答 案 卡 上 一 選 擇 題 1. 下 列 中 的 注 音 寫 成 國 字 之 後, 哪 一 組 的 字 形 相

More information

附件1.FIT)

附件1.FIT) 附 件 : 上 海 市 科 技 创 新 人 才 激 励 政 策 操 作 指 南 上 海 市 科 技 创 新 人 才 激 励 政 策 操 作 指 南 2011 年 1 月 国 有 企 业 科 技 创 新 激 励 操 作 指 南 附 件 : 上 海 市 科 技 创 新 人 才 激 励 政 策 操 作 指 南 目 录 1. 人 才 引 进 132 1.1 上 海 市 户 籍 及 居 住 证 132 1.2

More information

北魏山东佛教文化个案研究

北魏山东佛教文化个案研究 北 魏 山 东 佛 教 文 化 个 案 研 究 一 北 魏 时 期 佛 教 在 山 东 的 传 播 与 发 展 以 滨 州 博 兴 龙 华 寺 为 代 表 社 会 背 景 北 魏 佛 教 的 发 展 是 伴 随 着 佛 教 的 中 国 化 即 汉 化 的 过 程 而 不 断 发 展 的, 同 时 也 带 有 北 魏 统 治 者 作 为 少 数 民 族 的 本 身 特 色 自 汉 通 西 域, 佛 教

More information

23 10 18 5 1997 12 1 (1) (7) (16) (25) (35) (37) (44) (48) (51) (54) ( ) (58) (69) (74) (77) (89) (94) (98) (100) (107) (113) (117) (121) (126) " 37 38 ( ) ( ) ( ) ( ) 300 1 500 200 1938 1 30 15 8 1937

More information

毛主席的猪

毛主席的猪 在 孔 孟 之 乡 掘 孔 孟 后 裔 的 坟, 在 生 产 队 的 田 里 放 毛 主 席 的 猪, 也 只 有 知 青 才 有 这 " 特 权 " 吟 了 < 血 色 黄 昏 >, 叹 了 < 蹉 跎 岁 月 >, 再 哼 一 哼 知 青 生 活 中 那 千 韵 百 律 的 曲 曲 小 调 儿, 也 别 有 一 番 滋 味 在 心 头 扒 坟 梁 平 扒 坟, 是 当 地 老 百 姓 的 叫 法

More information

Microsoft Word - HERBRECIPES《中國藥膳》.doc

Microsoft Word - HERBRECIPES《中國藥膳》.doc 中 國 藥 膳 僅 供 參 考, 請 勿 亂 服 若 欲 服 用, 自 行 負 責 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 藥 膳 系 列 總 目 錄 第 一 章 總 論 第 一 節 簡 介 第 二 節 特 點 1. 注 重 整 體, 辯 證 施 食 2. 防 治 兼 宜, 效 果 顯 著 3. 良 藥 可 口, 服 食 方 便 第 三 節 藥 膳 內 容 與 分 類

More information

循经指压疗法

循经指压疗法 循 经 指 压 疗 法 陈 玉 琴 0 自 序 我 没 有 进 过 医 学 院, 更 没 有 学 过 解 剖 学 我 是 一 个 自 学 中 医 的 人, 思 考 问 题 本 着 简 单 化 和 直 观 的 原 则 循 经 指 压 健 康 疗 法 就 是 我 二 十 年 实 践 的 心 得 体 会 愿 以 此 作 向 资 深 的 中 医 师 请 教, 尤 其 是 中 医 大 的 教 师, 如 果 你

More information

从 因 人 设 事 谈 起 一 部 文 学 作 品 ( 尤 其 是 长 篇 小 说 ) 的 结 构 至 关 重 要, 因 为 它 是 文 本 整 体 的 组 织 方 式 和 内 部 构 造, 既 是 形 式 又 是 内 容 ; 乃 是 表 达 主 题 最 有 效 的 艺 术 手 段 元 代 戏 曲

从 因 人 设 事 谈 起 一 部 文 学 作 品 ( 尤 其 是 长 篇 小 说 ) 的 结 构 至 关 重 要, 因 为 它 是 文 本 整 体 的 组 织 方 式 和 内 部 构 造, 既 是 形 式 又 是 内 容 ; 乃 是 表 达 主 题 最 有 效 的 艺 术 手 段 元 代 戏 曲 凤 头 猪 肚 豹 尾 凤 头 猪 肚 豹 尾 谈 死 水 微 澜 的 结 构 艺 术 艾 芦 摘 要 : 论 文 从 死 水 微 澜 的 人 物 和 场 景 描 写 入 手, 具 体 地 分 析 了 这 部 长 篇 小 说 的 艺 术 结 构, 同 时 针 对 以 往 研 究 者 的 某 些 观 点 提 出 了 不 同 的 见 解 ; 认 为 作 品 以 精 粹 见 长, 以 少 胜 多, 由 小

More information



 辽 宁 时 代 万 恒 控 股 集 团 有 限 公 司 大 事 记 (2009 年 ) 集 团 办 公 室 编 辑 1 一 2009 年 组 织 沿 革 ( 一 ) 集 团 总 部 组 织 机 构 ( 部 门 设 置 ) 图 示 辽 宁 时 代 万 恒 控 股 集 团 有 限 公 司 监 事 会 董 事 会 党 委 董 事 会 秘 书 经 理 层 工 会 纪 委 信 办 企 审 财 国 党 监 息

More information

2 34 2 41 2 39 37

2 34 2 41 2 39 37 2 34 2 41 2 39 37 1955 64 14 1957 4 2 1972 3 1 138 7 20 79 8 7 28 66 14 60 25 2 9 79 17 12 189 190 6 43 1 138 1 2 166 174 145 163 468 31 34 358 1118 131 132 513 514 865 58 292 37 21 1 142 232 244

More information

行政院及各所屬機出國報告

行政院及各所屬機出國報告 臺 北 市 政 府 所 屬 各 機 關 因 公 出 國 人 員 出 國 報 告 書 出 國 類 別 :( 教 育 考 察 ) 臺 北 市 95 年 度 高 職 國 文 科 教 學 輔 導 團 大 陸 參 訪 考 察 報 告 書 服 務 機 關 : 臺 北 市 政 府 教 育 局 臺 北 市 政 府 研 考 會 編 號 欄 出 國 人 員 : 林 騰 蛟 副 局 長 ( 其 他 如 團 員 名 冊 )

More information

新时期共青团工作实务全书(一百七十一)

新时期共青团工作实务全书(一百七十一) .......... 2001... 2001... 80... 2002... 2001......... 2002... I "... " "............... 2002... 2003...... II 2002 3 28 33 21 10 10 0531-2073834 20 13 1 2 20 13 10 50 10 1 2 3 1 10 2 50 3 10 100 61

More information

Microsoft Word - 2015司考真?行政法勘?大表.doc

Microsoft Word - 2015司考真?行政法勘?大表.doc 真 题 书 页 数 P220 P240 P241 P251 题 目 第 6 题 2015 司 考 真 题 行 政 法 与 行 政 诉 讼 法 勘 误 表 格 更 改 内 容 分 析 更 改 为 : 程 序 正 当 原 则 的 内 容 包 括 : 行 政 公 开 ; 公 众 参 与 和 公 务 回 避 选 项 A 中, 环 保 局 对 当 事 人 的 处 罚 听 证, 应 当 由 行 政 机 关 指

More information

优合会计考点直击卷子之财经法规答案——第八套

优合会计考点直击卷子之财经法规答案——第八套 原 题 导 航 基 础 第 一 套 第 1 题 参 考 答 案 : C 试 题 评 析 : 在 社 会 主 义 市 场 经 济 条 件 下, 会 计 的 对 象 是 社 会 再 生 产 过 程 中 主 要 以 货 币 表 现 的 经 济 活 动 第 2 题 参 考 答 案 :B 试 题 评 析 : 在 权 责 发 生 制 下, 本 期 售 货 尚 未 收 到 销 售 货 款 属 于 当 期 收 入

More information

Microsoft Word - 正文.doc

Microsoft Word - 正文.doc 3 Access 3.1 SharePoint SharePoint SharePoint 3.6 1 1.15 1 3.1 3.2 1 3.1 40 Access 3.2 2 ID / 3.3 3 3.4 3.5 3.3 / 3.4 3.5 3 41 4 / 6 3.6 3.6 5 1 40 24 3.7 3.7 6 3.8 * 3.8 2 42 Access 1.16 1 3.1 / 1 3.9

More information

臨 時 不 來 了, 主 管 就 叫 他 臨 時 寫 了 一 篇 廣 播 稿, 結 果 比 原 來 那 位 老 手 寫 得 還 好, 於 是 就 把 他 調 去 專 門 寫 稿 在 中 廣 公 司, 他 先 後 擔 任 過 中 國 廣 播 公 司 編 審 組 長 節 目 製 作 組 長 專 門 委

臨 時 不 來 了, 主 管 就 叫 他 臨 時 寫 了 一 篇 廣 播 稿, 結 果 比 原 來 那 位 老 手 寫 得 還 好, 於 是 就 把 他 調 去 專 門 寫 稿 在 中 廣 公 司, 他 先 後 擔 任 過 中 國 廣 播 公 司 編 審 組 長 節 目 製 作 組 長 專 門 委 中 文 閱 讀 與 表 達 學 期 報 告 指 導 老 師 : 施 寬 文 教 授 學 生 : 9A2C0033 陳 芳 儀 書 名 : 怒 目 少 年 壹 作 者 介 紹 王 鼎 鈞, 當 代 著 名 散 文 大 師, 山 東 省 臨 沂 市 蒼 山 縣 蘭 陵 人, 1949 年 去 台 灣,1978 年 後 移 居 美 國 紐 約 王 鼎 鈞 1925 年 出 生 於 一 個 傳 統 的 耕

More information

財團法人國家文化藝術基金會「藝文獎助發展策略研析—藝文展演空間營運模式研究計畫」

財團法人國家文化藝術基金會「藝文獎助發展策略研析—藝文展演空間營運模式研究計畫」 財 團 法 人 國 家 文 化 藝 術 基 金 會 藝 文 獎 助 發 展 策 略 研 析 藝 文 展 演 空 間 營 運 模 式 研 究 計 畫 藝 文 展 演 空 間 營 運 模 式 研 究 計 畫 淡 水 藝 術 網 絡 成 果 報 告 委 託 單 位 : 財 團 法 人 國 家 文 化 藝 術 基 金 會 執 行 單 位 : 中 華 民 國 專 業 者 都 市 改 革 組 織 計 畫 主 持

More information

<4D6963726F736F667420576F7264202D203936A455B0AAA447B4C1A5BDB8D5C344B5AAB5AAAED7A8F7>

<4D6963726F736F667420576F7264202D203936A455B0AAA447B4C1A5BDB8D5C344B5AAB5AAAED7A8F7> 臺 北 市 立 成 功 高 級 中 學 九 十 六 學 年 度 第 二 學 期 高 二 國 文 科 期 末 考 試 題 詳 解 卷 共 九 面 考 試 範 圍 一 翰 林 版 ( 四 ): 病 梅 館 記 垂 釣 睡 眠 宋 詩 選 夢 溪 筆 談 典 論 論 文 二 翰 林 版 補 充 教 材 ( 四 ): 宋 詩 選 與 吳 質 書 三 翰 林 版 語 文 練 習 ( 四 ): 病 梅 館 記

More information

(\244j\257d\276\307\274\351_201508021-C.indd_70%.pdf)

(\244j\257d\276\307\274\351_201508021-C.indd_70%.pdf) 1847-1852 1872 20 1 1896 8000 20 1896 1950 1 1896 1896 13 1900 1900 3 20 2 4 1910 1950 3 1911 1 2 3 4 1927 4 20 300 6 1906 1930 7 1911 5 1919 8 1914 9 1920 10 11 1902 200 6 12 1930 7 " # #! $! 14 15! "!

More information

senior_article_2010.pdf

senior_article_2010.pdf 我 的 家 呂 心 婕, 新 竹 市 矽 谷 雙 語 國 小 六 年 二 班 家, 是 我 休 息 的 地 方 ; 家, 是 我 念 書 的 場 所 ; 家, 其 實 是 我 最 溫 暖 的 避 風 港 和 大 部 分 的 人 一 樣, 我 的 家 也 只 是 個 小 家 庭, 家 裏 只 有 爸 爸 媽 媽 妹 妹 和 我 爸 爸 是 個 早 出 晚 歸, 回 家 還 是 要 繼 續 加 班 的

More information

K526-ML

K526-ML 目 录 C O N T E N T S 21 世 纪 的 养 生 大 趋 势 寻 找 最 自 然 的 自 我 保 健 法 1. 新 世 纪, 新 期 望, 需 要 新 的 养 生 观 点 / 2 2. 生 物 节 律 养 生 应 运 而 生 / 3 3. 注 重 生 物 节 律 养 生, 为 健 康 加 油 / 5 第 课 探 索 充 满 节 律 的 世 界 课 前 热 身 : 判 断 2 分 钟

More information

标题

标题 深 圳 关 爱 行 动 组 委 会 ( 通 报 摇 ) 深 关 爱 委 也 2013 页 1 号 绎 关 于 表 彰 第 十 届 深 圳 关 爱 行 动 先 进 集 体 先 进 个 人 和 优 秀 项 目 的 通 报 市 文 明 委 成 员 单 位 深 圳 关 爱 行 动 组 委 会 成 员 单 位 : 第 十 届 深 圳 关 爱 行 动 自 2013 年 1 月 启 动 以 来, 全 面 落 实

More information

2016年5月11日泉鲤政文【2016】46号(关于调整区政府行政权力和公共服务事项的通知).doc

2016年5月11日泉鲤政文【2016】46号(关于调整区政府行政权力和公共服务事项的通知).doc 201646 2015488 60 2015489 201623 201636 15 36 36 87 26 2100 118 213 3 1 15 2 36 3 36 2016 5 11 1 152 101 2011 1 8 20169 30 2 3 152 2011 1 8 20169 23 3 1. 2. 2007 31 3. 4. 2015488 3. 15 5. 201111 1. 2.

More information

为 进 一 步 推 进 教 育 教 学 改 革, 满 足 学 生 个 性 化 学 习 需 求, 培 养 学 生 实 践 能 力 和 创 新 创 业 素 质, 在 编 制 2016 级 专 业 人 才 培 养 方 案 指 导 意 见 中, 对 原 有 文 件 关 于 印 发 <2015 级 人 才 培

为 进 一 步 推 进 教 育 教 学 改 革, 满 足 学 生 个 性 化 学 习 需 求, 培 养 学 生 实 践 能 力 和 创 新 创 业 素 质, 在 编 制 2016 级 专 业 人 才 培 养 方 案 指 导 意 见 中, 对 原 有 文 件 关 于 印 发 <2015 级 人 才 培 教 务 2016 28 号 本 学 期, 在 学 校 深 入 开 展 两 学 一 做 学 习 教 育 活 动 的 指 引 下, 教 务 处 全 面 贯 彻 和 落 实 关 于 印 发 学 校 2016 年 十 项 重 点 工 作 责 任 分 解 表 的 通 知 ( 漳 职 院 办 2015 14 号 ) 和 漳 州 职 业 技 术 学 院 办 公 室 关 于 开 展 追 问 题 破 难 题 促 发

More information

桃園縣立平興國中100學年度第 1學期(第10018次)期末校務會議議程

桃園縣立平興國中100學年度第 1學期(第10018次)期末校務會議議程 桃 園 縣 立 平 興 國 中 102 學 年 度 第 1 學 期 ( 第 10203 次 ) 期 初 校 務 會 議 議 程 主 席 致 詞 : 一 感 謝 大 家 的 支 持 與 協 助, 個 人 能 在 我 們 的 學 校, 拿 到 教 育 界 最 高 榮 譽 師 鐸 獎, 這 是 一 種 福 份 緣 份, 託 大 家 的 福, 才 能 擁 有 這 項 殊 榮 二 得 獎 是 一 種 肯 定

More information

<4D6963726F736F667420576F7264202D20B9D8D3DA32303135C4EAC9EAB1A8D7A8D2B5BCBCCAF5C8FDBCB6B8DACEBBB5C4CDA8D6AA2E646F63>

<4D6963726F736F667420576F7264202D20B9D8D3DA32303135C4EAC9EAB1A8D7A8D2B5BCBCCAF5C8FDBCB6B8DACEBBB5C4CDA8D6AA2E646F63> 贵 州 大 学 文 件 贵 大 发 2015 40 号 贵 州 大 学 关 于 2015 年 申 报 专 业 技 术 三 级 岗 位 的 通 知 各 学 院 校 直 各 单 位 : 根 据 省 教 育 厅 省 人 力 资 源 和 社 会 保 障 厅 关 于 做 好 2015 年 省 属 高 等 学 校 专 业 技 术 三 级 岗 位 聘 用 评 议 工 作 的 通 知 ( 黔 教 师 发 2015

More information

關懷生命、永續經營

關懷生命、永續經營 桃 園 縣 蘆 竹 鄉 公 所 出 國 報 告 提 要 出 國 報 告 名 稱 : 桃 園 縣 蘆 竹 鄉 公 所 101 年 度 大 陸 地 區 殯 葬 文 化 設 施 觀 摩 考 察 頁 數 37( 含 封 面 ) 含 附 件 : 是 否 出 國 計 畫 主 辦 機 關 : 桃 園 縣 蘆 竹 鄉 公 所 聯 絡 人 : 江 婉 玉 電 話 :3520000 轉 405 e-mail:tiffiny@mail.luchu.gov.tw

More information

全國寺院宮廟基本資料調查表

全國寺院宮廟基本資料調查表 全 國 孝 院 宮 廟 基 本 資 料 ( 僅 含 宗 教 團 體 提 供 部 分 ) 本 孝 廟 基 本 資 料 係 由 本 部 轉 請 各 直 轄 市 縣 ( 市 ) 政 府 尌 轄 內 宗 教 團 體 提 供 資 料 彙 集 而 成, 調 查 期 間 為 本 (99) 年 4 月 至 7 月 中 旬, 包 含 孝 廟 3 千 餘 間, 約 佔 全 國 孝 廟 數 之 30% 除 孝 廟 基 本

More information

泰康附加意外住院津贴收入保障保险条款

泰康附加意外住院津贴收入保障保险条款 泰 康 养 老 [2011] 医 疗 保 险 058 号 泰 康 附 加 新 生 活 少 儿 意 外 津 贴 医 疗 保 险 条 款 阅 读 指 引 请 扫 描 以 查 询 验 证 条 款 本 阅 读 指 引 有 助 于 您 理 解 条 款, 对 本 附 加 合 同 内 容 的 解 释... 凡 条 款 已 有 约 定 的, 以 条 款 约 定 为 准... 您 拥 有 的 重 要 权 益 本 附

More information

实 信 用 的 原 则 " 其 中, 诚 实 信 用 原 则 是 指 民 事 主 体 进 行 民 事 活 动 时, 均 应 诚 实, 不 作 假, 不 欺 诈, 不 损 害 他 人 利 益 和 社 会 利 益, 正 当 地 行 使 权 利 和 履 行 义 务 甲 将 平 房 售 与 丙 而 未 告

实 信 用 的 原 则  其 中, 诚 实 信 用 原 则 是 指 民 事 主 体 进 行 民 事 活 动 时, 均 应 诚 实, 不 作 假, 不 欺 诈, 不 损 害 他 人 利 益 和 社 会 利 益, 正 当 地 行 使 权 利 和 履 行 义 务 甲 将 平 房 售 与 丙 而 未 告 2012 年 司 法 考 试 模 拟 试 题 及 习 题 详 细 解 析 一 单 项 选 择 题, 每 题 所 给 的 选 项 中 只 有 一 个 正 确 答 案 本 部 分 1-50 题, 每 题 1 分, 共 50 分 1 甲 有 平 房 一 间 某 日, 甲 得 知 乙 将 于 该 平 房 南 建 高 楼 一 栋, 一 旦 高 楼 建 成, 该 平 房 即 无 阳 光 可 见 次 日, 甲 将

More information

口腔衛生保健創意教學活動設計

口腔衛生保健創意教學活動設計 編 號 : 服 務 單 位 : 高 雄 市 溝 坪 國 小 附 設 幼 兒 園 職 別 : 教 師 參 加 組 別 : 幼 兒 園 教 育 部 101 年 度 口 腔 衛 生 保 健 創 意 教 學 活 動 設 計 競 賽 審 查 資 料 口 腔 衛 生 保 健 創 意 教 學 活 動 設 計 主 題 名 稱 : 寶 貝 牙 齒 我 最 棒 ㄧ 楔 子 : 位 在 偏 鄉 地 區 的 特 偏 學 校,

More information

19 20 21 22 23 24 25 产 品 出 口 企 业 当 年 减 半 缴 纳 企 业 所 得 税 的 核 准 外 商 投 资 企 业 财 产 转 让 收 益 分 期 计 入 应 纳 税 所 得 额 的 核 准 外 商 投 资 企 业 技 术 开 发 费 加 计 扣 除 的 核 准 财 政

19 20 21 22 23 24 25 产 品 出 口 企 业 当 年 减 半 缴 纳 企 业 所 得 税 的 核 准 外 商 投 资 企 业 财 产 转 让 收 益 分 期 计 入 应 纳 税 所 得 额 的 核 准 外 商 投 资 企 业 技 术 开 发 费 加 计 扣 除 的 核 准 财 政 序 号 批 次 项 目 名 称 设 定 依 据 或 备 注 1 第 一 批 2 (10 项 ) 3 2002.11 对 指 定 企 业 经 营 高 税 率 贵 重 产 品 出 口 退 税 的 对 列 名 企 业 销 售 以 出 顶 进 国 产 棉 退 ( 免 ) 税 的 对 列 名 炼 油 厂 销 售 以 产 顶 进 成 品 油 免 税 的 国 家 税 务 局 对 外 经 济 贸 易 部 关 于 明

More information

背 景 资 料 水 浒 传 写 的 是 北 宋 宣 和 年 间 (1119~1121 前 后 ) 宋 江 等 聚 众 起 义 的 故 事 全 书 描 写 北 宋 末 年 以 宋 江 为 首 的 一 百 零 八 人 在 山 东 梁 山 泊 聚 义 的 故 事 故 事 在 宋 史 和 宋 人 笔 记 里

背 景 资 料 水 浒 传 写 的 是 北 宋 宣 和 年 间 (1119~1121 前 后 ) 宋 江 等 聚 众 起 义 的 故 事 全 书 描 写 北 宋 末 年 以 宋 江 为 首 的 一 百 零 八 人 在 山 东 梁 山 泊 聚 义 的 故 事 故 事 在 宋 史 和 宋 人 笔 记 里 水 浒 传 作 者 简 介 施 耐 庵 ( 约 1296~1370) 中 国 元 末 明 初 作 家 名 子 安, 一 说 名 耳 兴 化 ( 今 江 苏 兴 化 县 ) 人, 原 籍 苏 州 相 传 施 耐 庵 是 水 浒 传 的 作 者 明 嘉 靖 十 九 年 (1540), 高 儒 百 川 书 志 载 : 忠 义 水 浒 传 100 卷 钱 塘 施 耐 庵 的 本 罗 贯 中 编 次 嘉 靖

More information

Microsoft Word - 103鐵路佐級-國文(二)

Microsoft Word - 103鐵路佐級-國文(二) 103 年 特 種 考 試 交 通 事 業 鐵 路 人 員 考 試 試 題 等 別 : 佐 級 鐵 路 人 員 考 試 類 科 : 事 務 管 理 機 械 工 程 機 檢 工 程 電 力 工 程 電 子 工 程 養 路 工 程 科 目 : 國 文 ( 包 括 公 文 格 式 用 語 ) 一 單 一 選 擇 題 : 下 列 成 語, 沒 有 錯 別 字 的 選 項 是 : 手 屈 一 指 載 罪 立

More information

学 习 贯 彻 中 央 尧 省 尧 市 纪 委 全 会 精 神 专 栏 中 国 共 产 党 第 十 八 届 中 央 纪 律 检 查 委 员 会 第 六 次 全 体 会 议 公 报 渊 2016 年 1 月 14 日 中 国 共 产 党 第 十 八 届 中 央 纪 律 检 查 委 员 会 第 六 次

学 习 贯 彻 中 央 尧 省 尧 市 纪 委 全 会 精 神 专 栏 中 国 共 产 党 第 十 八 届 中 央 纪 律 检 查 委 员 会 第 六 次 全 体 会 议 公 报 渊 2016 年 1 月 14 日 中 国 共 产 党 第 十 八 届 中 央 纪 律 检 查 委 员 会 第 六 次 内 部 资 料 注 意 保 存 渊 第 三 期 冤 中 共 六 盘 水 市 委 讲 师 团 编 2016 年 3 月 15 日 学 习 贯 彻 中 央 尧 省 尧 市 纪 委 全 会 精 神 专 辑 音 学 习 贯 彻 中 央 尧 省 尧 市 纪 委 全 会 精 神 专 栏 淫 中 国 共 产 党 第 十 八 届 中 央 纪 律 检 查 委 员 会 第 六 次 全 体 会 议 公 报 渊 2 冤 淫

More information

Microsoft Word - 临政办发12.doc

Microsoft Word - 临政办发12.doc 临 沂 市 人 民 政 府 办 公 室 文 件 临 政 办 发 2016 12 号 临 沂 市 人 民 政 府 办 公 室 关 于 印 发 临 沂 市 乡 村 教 师 支 持 计 划 (2015-2020 年 ) 实 施 细 则 的 通 知 各 县 区 人 民 政 府, 市 政 府 各 部 门 各 直 属 机 构, 临 沂 高 新 技 术 产 业 开 发 区 管 委 会, 临 沂 经 济 技 术 开

More information

中共山东省委高校工委

中共山东省委高校工委 关 于 印 发 中 共 山 东 省 委 高 校 工 委 2016 年 工 作 要 点 的 通 知 青 岛 淄 博 威 海 日 照 滨 州 市 委 高 校 工 委, 各 高 等 学 校 党 委 : 现 将 中 共 山 东 省 委 高 校 工 委 2016 年 工 作 要 点 印 发 你 们, 请 认 真 学 习 领 会, 抓 好 贯 彻 落 实 中 共 山 东 省 委 高 校 工 委 2016 年 1

More information

标题

标题 河 北 省 人 民 政 府 冀 政 函 2016 10 号 河 北 省 人 民 政 府 关 于 提 请 审 议 河 北 省 人 口 与 计 划 生 育 条 例 修 正 案 ( 草 案 ) 的 议 案 省 人 大 常 委 会 : 河 北 省 人 口 与 计 划 生 育 条 例 修 正 案 ( 草 案 ) 已 经 2016 年 2 月 23 日 省 政 府 第 76 次 常 务 会 议 通 过, 现 提

More information

目 录 第 一 部 分 国 家 知 识 产 权 局 概 况 一 主 要 职 能 二 部 门 预 算 单 位 构 成 第 二 部 分 国 家 知 识 产 权 局 2016 年 部 门 预 算 表 一 财 政 拨 款 收 支 总 表 二 一 般 公 共 预 算 支 出 表 三 一 般 公 共 预 算 基

目 录 第 一 部 分 国 家 知 识 产 权 局 概 况 一 主 要 职 能 二 部 门 预 算 单 位 构 成 第 二 部 分 国 家 知 识 产 权 局 2016 年 部 门 预 算 表 一 财 政 拨 款 收 支 总 表 二 一 般 公 共 预 算 支 出 表 三 一 般 公 共 预 算 基 国 家 知 识 产 权 局 2016 年 部 门 预 算 目 录 第 一 部 分 国 家 知 识 产 权 局 概 况 一 主 要 职 能 二 部 门 预 算 单 位 构 成 第 二 部 分 国 家 知 识 产 权 局 2016 年 部 门 预 算 表 一 财 政 拨 款 收 支 总 表 二 一 般 公 共 预 算 支 出 表 三 一 般 公 共 预 算 基 本 支 出 表 四 一 般 公 共 预 算

More information

ᄐ↓ᅯᄎ2015ᅣ↑ᄇ﾿ᅢᅤᅯ녜 ̄

ᄐ↓ᅯᄎ2015ᅣ↑ᄇ﾿ᅢᅤᅯ녜 ̄ 最 高 人 民 检 察 院 2016 年 部 门 预 算 目 录 第 一 部 分 最 高 人 民 检 察 院 概 况 一 主 要 职 能 二 单 位 构 成 第 二 部 分 最 高 人 民 检 察 院 2016 年 部 门 预 算 表 一 财 政 拨 款 收 支 总 表 二 一 般 公 共 预 算 支 出 表 三 一 般 公 共 预 算 基 本 支 出 表 四 一 般 公 共 预 算 三 公 经 费

More information

科学技术部2013年度部门预算

科学技术部2013年度部门预算 1 目 录 第 一 部 分 中 国 侨 联 概 况 一 主 要 职 能 二 部 门 预 算 单 位 构 成 第 二 部 分 中 国 侨 联 2016 年 部 门 预 算 表 一 财 政 拨 款 收 支 总 表 二 一 般 公 共 预 算 支 出 表 三 一 般 公 共 预 算 基 本 支 出 表 四 一 般 公 共 预 算 三 公 经 费 支 出 表 五 政 府 性 基 金 预 算 支 出 表 六

More information

一、二○○二年学校工作的简要回顾

一、二○○二年学校工作的简要回顾 北 华 校 字 [2016]13 号 北 华 大 学 2016 年 硕 士 研 究 生 招 生 复 试 录 取 工 作 办 法 为 做 好 我 校 2016 年 硕 士 研 究 生 招 生 复 试 录 取 工 作, 规 范 招 生 工 作 程 序, 加 强 招 生 制 度 建 设, 根 据 教 育 部 关 于 印 发 的

More information

Microsoft Word - 白俄罗斯公司法汉语译文2015年7月15日修改版.docx

Microsoft Word - 白俄罗斯公司法汉语译文2015年7月15日修改版.docx 白 俄 罗 斯 共 和 国 公 司 法 条 目 第 一 章 总 则 第 1 条 关 于 公 司 的 基 本 规 定 第 2 条 白 俄 罗 斯 共 和 国 关 于 公 司 的 立 法 第 3 条 本 法 的 适 用 范 围 第 4 条 公 司 的 名 称 和 住 所 第 5 条 公 司 的 责 任 第 6 条 公 司 的 代 表 处 和 分 公 司 第 7 条 子 公 司 第 8 条 附 属 公 司

More information

第 一 部 分 中 国 气 象 局 职 责 及 概 况 一 主 要 职 责 ( 一 ) 拟 定 气 象 工 作 的 方 针 政 策 法 律 法 规 发 展 战 略 和 长 远 规 划 ; 制 定 发 布 气 象 工 作 的 规 章 制 度 技 术 标 准 和 规 范 并 监 督 实 施 ; 承 担

第 一 部 分 中 国 气 象 局 职 责 及 概 况 一 主 要 职 责 ( 一 ) 拟 定 气 象 工 作 的 方 针 政 策 法 律 法 规 发 展 战 略 和 长 远 规 划 ; 制 定 发 布 气 象 工 作 的 规 章 制 度 技 术 标 准 和 规 范 并 监 督 实 施 ; 承 担 中 国 气 象 局 2016 年 部 门 预 算 目 录 第 一 部 分 中 国 气 象 局 职 责 及 概 况 一 主 要 职 责 二 机 构 设 置 第 二 部 分 中 国 气 象 局 2016 年 部 门 预 算 表 一 财 政 拨 款 收 支 总 表 二 一 般 公 共 预 算 支 出 表 三 一 般 公 共 预 算 基 本 支 出 表 四 一 般 公 共 预 算 三 公 经 费 支 出 表

More information

数学与统计学院教师支部“两学一做”学习教育实施计划

数学与统计学院教师支部“两学一做”学习教育实施计划 数 学 与 统 计 学 院 教 师 支 部 两 学 一 做 学 习 教 育 实 施 计 划 根 据 中 共 中 央 办 公 厅 关 于 在 全 体 党 员 中 开 展 学 党 章 党 规 学 系 列 讲 话, 做 合 格 党 员 学 习 教 育 方 案 的 精 神 和 普 院 党 发 2016 13 号 文 件 关 于 印 发 < 在 全 校 党 员 中 开 展 学 党 章 党 规 学 系 列 讲

More information

无 锡 职 业 技 术 学 院 国 有 资 产 管 理 办 法 第 一 章 总 则 第 一 条 为 加 强 学 校 国 有 资 产 管 理, 合 理 配 置 和 有 效 使 用 国 有 资 产, 确 保 国 有 资 产 安 全 与 完 整, 保 障 和 促 进 学 校 各 项 事 业 发 展, 根

无 锡 职 业 技 术 学 院 国 有 资 产 管 理 办 法 第 一 章 总 则 第 一 条 为 加 强 学 校 国 有 资 产 管 理, 合 理 配 置 和 有 效 使 用 国 有 资 产, 确 保 国 有 资 产 安 全 与 完 整, 保 障 和 促 进 学 校 各 项 事 业 发 展, 根 无 锡 职 业 技 术 学 院 文 件 锡 职 院 资 2016 2 号 关 于 印 发 无 锡 职 业 技 术 学 院 国 有 资 产 管 理 办 法 的 通 知 各 部 门 各 院 部 : 现 将 无 锡 职 业 技 术 学 院 国 有 资 产 管 理 办 法 印 发 给 你 们, 请 遵 照 执 行 无 锡 职 业 技 术 学 院 2016 年 3 月 28 日 - 1 - 无 锡 职 业 技

More information

省安委会2015冬防工作方案.doc

省安委会2015冬防工作方案.doc 山 东 省 人 民 政 府 安 全 生 产 委 员 会 文 件 鲁 安 发 2015 39 号 山 东 省 人 民 政 府 安 全 生 产 委 员 会 关 于 印 发 2015 年 全 省 冬 春 火 灾 防 控 工 作 方 案 的 通 知 各 市 人 民 政 府 县 ( 市 区 ) 人 民 政 府, 省 政 府 各 部 门 各 直 属 机 构, 各 大 企 业, 各 高 等 院 校 : 为 切 实

More information

南 昌 大 学 人 力 资 源 工 作 简 讯 2015 年 第 2 期 ( 总 第 27 期 ) 目 录 1 人 力 资 源 综 合 信 息 2 人 员 调 配 及 机 构 编 制 管 理 信 息 3 劳 资 工 作 信 息 4 师 资 管 理 信 息 5 高 层 次 人 才 及 队 伍 建 设

南 昌 大 学 人 力 资 源 工 作 简 讯 2015 年 第 2 期 ( 总 第 27 期 ) 目 录 1 人 力 资 源 综 合 信 息 2 人 员 调 配 及 机 构 编 制 管 理 信 息 3 劳 资 工 作 信 息 4 师 资 管 理 信 息 5 高 层 次 人 才 及 队 伍 建 设 人 力 资 源 工 作 简 讯 2015 年 第 2 期 ( 总 第 27 期 ) 南 昌 大 学 人 事 处 2015 年 7 月 南 昌 大 学 人 力 资 源 工 作 简 讯 2015 年 第 2 期 ( 总 第 27 期 ) 目 录 1 人 力 资 源 综 合 信 息 2 人 员 调 配 及 机 构 编 制 管 理 信 息 3 劳 资 工 作 信 息 4 师 资 管 理 信 息 5 高 层

More information

国家邮政局2010年部门预算

国家邮政局2010年部门预算 国 家 邮 政 局 部 门 预 算 (2015 年 ) 1 目 录 第 一 部 分 国 家 邮 政 局 概 况 一 主 要 职 能 二 部 门 预 算 单 位 构 成 第 二 部 分 国 家 邮 政 局 2015 年 部 门 预 算 表 一 财 政 拨 款 收 支 总 表 二 一 般 公 共 预 算 支 出 表 三 一 般 公 共 预 算 基 本 支 出 表 四 一 般 公 共 预 算 三 公 经

More information

国家邮政局2010年部门预算

国家邮政局2010年部门预算 浙 江 省 邮 政 管 理 局 部 门 预 算 (2015 年 ) 1 目 录 第 一 部 分 浙 江 省 邮 政 管 理 局 概 况 一 主 要 职 能 二 部 门 预 算 单 位 构 成 第 二 部 分 浙 江 省 邮 政 管 理 局 2015 年 部 门 预 算 表 一 财 政 拨 款 收 支 总 表 二 一 般 公 共 预 算 支 出 表 三 一 般 公 共 预 算 基 本 支 出 表 四

More information

11韶关市人力资源和社会保障局权责清单

11韶关市人力资源和社会保障局权责清单 社 会 保 障 局 权 责 清 单 ( 2015年 版 ) 韶 关 市 人 民 政 府 前 言 编 制 权 责 清 单 是 国 家 省 市 部 署 的 一 项 重 大 改 革 任 务 2015 年 8 月, 市 委 办 和 市 政 府 办 联 合 印 发 关 于 推 行 市 县 政 府 工 作 部 门 权 责 清 单 制 度 有 关 工 作 的 通 知 对 权 责 清 单 工 作 进 行 了 部 署

More information

三亚市政府投资建设项目代建制管理工作介绍

三亚市政府投资建设项目代建制管理工作介绍 三 亚 市 发 展 和 改 革 委 员 会 2015 年 9 月 一 代 建 制 的 定 义 二 代 建 范 围 规 定 三 代 建 单 位 入 库 资 格 及 要 求 四 代 建 单 位 的 职 责 七 代 建 单 位 管 理 费 拨 付 和 计 算 五 代 建 项 目 组 织 实 施 程 序 六 资 金 管 理 与 监 督 八 项 目 前 期 费 用 及 工 程 款 拨 付 九 代 建 项 目

More information

<4D6963726F736F667420576F7264202D20C9FABBB7B9FAD6D832303135CBB6CABFB8B4CAD4B7BDB0B8312E646F63>

<4D6963726F736F667420576F7264202D20C9FABBB7B9FAD6D832303135CBB6CABFB8B4CAD4B7BDB0B8312E646F63> 生 物 地 质 与 环 境 地 质 国 家 重 点 实 验 室 2015 年 硕 士 研 究 生 招 生 复 试 录 取 工 作 方 案 为 了 保 证 我 室 本 年 度 硕 士 研 究 生 复 试 录 取 工 作 顺 利 进 行, 根 据 教 育 部 关 于 印 发 的 通 知 ( 教 学 2014 13 号 ) 和

More information

目 录 一 部 门 职 责... 1 二 预 算 编 报 范 围... 3 三 2013 年 部 门 预 算 报 表 及 情 况 说 明... 5 收 支 预 算 总 表 及 情 况 说 明... 5 收 入 预 算 表 及 情 况 说 明... 7 支 出 预 算 表 及 情 况 说 明... 1

目 录 一 部 门 职 责... 1 二 预 算 编 报 范 围... 3 三 2013 年 部 门 预 算 报 表 及 情 况 说 明... 5 收 支 预 算 总 表 及 情 况 说 明... 5 收 入 预 算 表 及 情 况 说 明... 7 支 出 预 算 表 及 情 况 说 明... 1 教 育 部 2013 年 部 门 预 算 二 〇 一 三 年 四 月 十 八 日 目 录 一 部 门 职 责... 1 二 预 算 编 报 范 围... 3 三 2013 年 部 门 预 算 报 表 及 情 况 说 明... 5 收 支 预 算 总 表 及 情 况 说 明... 5 收 入 预 算 表 及 情 况 说 明... 7 支 出 预 算 表 及 情 况 说 明... 11 财 政 拨 款

More information

标题

标题 前 言 规 章 制 度 是 指 一 个 集 体 为 了 一 个 共 同 的 目 标, 要 求 成 员 共 同 遵 守 的 规 则, 法 规, 也 是 这 个 集 体 按 一 定 程 序 办 事 的 规 章, 具 有 一 定 的 约 束 力 和 强 制 性 建 立 建 全 规 章 制 度 能 保 证 各 项 工 作 有 秩 序 有 成 效 地 进 行, 使 工 作 科 学 化 规 范 化, 提 高 工

More information

目 录 一 重 要 提 示... 3 二 公 司 主 要 财 务 数 据 和 股 东 变 化... 3 三 重 要 事 项... 6 四 附 录... 11 2 / 22

目 录 一 重 要 提 示... 3 二 公 司 主 要 财 务 数 据 和 股 东 变 化... 3 三 重 要 事 项... 6 四 附 录... 11 2 / 22 梅 花 生 物 科 技 集 团 股 份 有 限 公 司 600873 2014 年 第 三 季 度 报 告 目 录 一 重 要 提 示... 3 二 公 司 主 要 财 务 数 据 和 股 东 变 化... 3 三 重 要 事 项... 6 四 附 录... 11 2 / 22 一 重 要 提 示 1.1 公 司 董 事 会 监 事 会 及 董 事 监 事 高 级 管 理 人 员 保 证 季 度 报

More information

目 录 引 言... 3 第 一 部 分 电 价 水 平 基 本 情 况...4 一 上 网 电 价...4 二 输 配 电 价...6 三 销 售 电 价...9 四 政 府 性 基 金 和 附 加...12 第 二 部 分 电 价 政 策 执 行 情 况...13 一 电 价 水 平 调 整 情

目 录 引 言... 3 第 一 部 分 电 价 水 平 基 本 情 况...4 一 上 网 电 价...4 二 输 配 电 价...6 三 销 售 电 价...9 四 政 府 性 基 金 和 附 加...12 第 二 部 分 电 价 政 策 执 行 情 况...13 一 电 价 水 平 调 整 情 2008 年 度 电 价 执 行 情 况 监 管 报 告 国 家 电 力 监 管 委 员 会 二 九 年 十 月 目 录 引 言... 3 第 一 部 分 电 价 水 平 基 本 情 况...4 一 上 网 电 价...4 二 输 配 电 价...6 三 销 售 电 价...9 四 政 府 性 基 金 和 附 加...12 第 二 部 分 电 价 政 策 执 行 情 况...13 一 电 价 水 平

More information

西安邮电学院本科教学工作简报

西安邮电学院本科教学工作简报 西 安 邮 电 学 院 本 科 教 学 工 作 简 报 (2011 年 第 一 期 ) 西 安 邮 电 学 院 教 务 处 2011 年 7 月 本 期 要 目 教 学 新 闻 王 曙 燕 教 授 荣 获 陕 西 省 教 学 名 师 称 号 2010 2011 年 中 央 财 政 专 项 资 金 项 目 使 用 及 申 报 情 况 人 民 邮 电 出 版 社 西 安 邮 电 学 院 教 材 出 版

More information

密 级:

密  级: 中 国 保 监 会 部 门 预 算 (2016 年 ) 二 O 一 六 年 四 月 目 录 第 一 部 分 部 门 概 况 一 主 要 职 责 二 预 算 编 报 范 围 三 部 门 预 算 单 位 构 成 第 二 部 分 2016 年 部 门 预 算 表 格 一 财 政 拨 款 收 支 总 表 二 一 般 公 共 预 算 支 出 表 三 一 般 公 共 预 算 基 本 支 出 表 四 一 般 公

More information

市六届人大--次

市六届人大--次 市 六 届 人 大 七 次 会 议 文 件 (20 20) 附 件 清 远 市 2015 年 预 算 执 行 情 况 和 2016 年 预 算 草 案 附 件 目 录 一 一 般 公 共 预 算 1-80 ( 一 )2015 年 清 远 市 本 级 一 般 公 共 预 算 执 行 情 况 和 2016 年 预 算 草 案 1-10 ( 二 )201 2015 年 一 般 公 共 预 算 执 行 情

More information

目 录 前 言 第 一 章 近 年 来 合 同 行 政 监 管 及 相 关 工 作 改 革 创 新 情 况 第 二 章 2014 年 合 同 行 政 监 管 及 相 关 工 作 情 况 第 一 节 合 同 格 式 条 款 监 管 一 银 行 业 电 信 业 合 同 格 式 条 款 专 项 整 治 二

目 录 前 言 第 一 章 近 年 来 合 同 行 政 监 管 及 相 关 工 作 改 革 创 新 情 况 第 二 章 2014 年 合 同 行 政 监 管 及 相 关 工 作 情 况 第 一 节 合 同 格 式 条 款 监 管 一 银 行 业 电 信 业 合 同 格 式 条 款 专 项 整 治 二 合 同 行 政 监 管 及 相 关 工 作 年 度 报 告 (2014 年 ) 国 家 工 商 行 政 管 理 总 局 市 场 规 范 管 理 司 目 录 前 言 第 一 章 近 年 来 合 同 行 政 监 管 及 相 关 工 作 改 革 创 新 情 况 第 二 章 2014 年 合 同 行 政 监 管 及 相 关 工 作 情 况 第 一 节 合 同 格 式 条 款 监 管 一 银 行 业 电 信

More information

中国文联部门预算

中国文联部门预算 中 国 文 联 部 门 预 算 (2016 年 ) 二 〇 一 六 年 四 月 目 录 第 一 部 分 : 中 国 文 学 艺 术 界 联 合 会 基 本 情 况 一 主 要 职 责 二 部 门 预 算 单 位 构 成 第 二 部 分 :2016 年 部 门 预 算 表 格 一 财 政 拨 款 收 支 总 表 二 一 般 公 共 预 算 支 出 表 三 一 般 公 共 预 算 基 本 支 出 表 四

More information

( 十 ) 其 他 会 计 工 作 第 四 条 单 位 不 得 任 用 ( 聘 用 ) 不 具 备 会 计 从 业 资 格 的 人 员 从 事 会 计 工 作 不 具 备 会 计 从 业 资 格 的 人 员, 不 得 从 事 会 计 工 作, 不 得 参 加 会 计 专 业 技 术 资 格 考 试

( 十 ) 其 他 会 计 工 作 第 四 条 单 位 不 得 任 用 ( 聘 用 ) 不 具 备 会 计 从 业 资 格 的 人 员 从 事 会 计 工 作 不 具 备 会 计 从 业 资 格 的 人 员, 不 得 从 事 会 计 工 作, 不 得 参 加 会 计 专 业 技 术 资 格 考 试 会 计 从 业 资 格 管 理 办 法 (2012 年 12 月 6 日 中 华 人 民 共 和 国 财 政 部 令 第 73 号 公 布 根 据 2016 年 5 月 11 日 财 政 部 关 于 修 改 < 会 计 从 业 资 格 管 理 办 法 > 的 决 定 修 改 ) 第 一 章 总 则 第 一 条 为 了 加 强 会 计 从 业 资 格 管 理, 规 范 会 计 人 员 行 为, 根 据

More information

附 件 : 顺 德 区 2015 年 高 中 阶 段 学 校 招 生 考 试 工 作 意 见 根 据 佛 山 市 顺 德 区 教 育 事 业 发 展 十 二 五 规 划 2015 年 顺 德 区 教 育 工 作 意 见 的 文 件 精 神 和 上 级 教 育 主 管 部 门 工 作 要 求, 结 合

附 件 : 顺 德 区 2015 年 高 中 阶 段 学 校 招 生 考 试 工 作 意 见 根 据 佛 山 市 顺 德 区 教 育 事 业 发 展 十 二 五 规 划 2015 年 顺 德 区 教 育 工 作 意 见 的 文 件 精 神 和 上 级 教 育 主 管 部 门 工 作 要 求, 结 合 主 动 公 开 佛 山 市 顺 德 区 教 育 局 文 件 顺 教 2015 23 号 顺 德 区 教 育 局 关 于 印 发 顺 德 区 2015 年 高 中 阶 段 学 校 招 生 考 试 工 作 意 见 的 通 知 各 镇 ( 街 道 ) 教 育 局 区 属 学 校 : 现 将 顺 德 区 2015 年 高 中 阶 段 学 校 招 生 考 试 工 作 意 见 印 发 给 你 们, 请 认 真

More information

<C1ACD6DDCAD0CAD0B3A1BCE0B6BDB9DCC0EDBED6C8A8D4F0C7E5B5A5A3A8B9ABCABEA3A92E786C73>

<C1ACD6DDCAD0CAD0B3A1BCE0B6BDB9DCC0EDBED6C8A8D4F0C7E5B5A5A3A8B9ABCABEA3A92E786C73> 机 构 编 制 委 员 会 办 公 室 编 2016 年 2 月 29 日 类 别 数 量 合 计 拟 调 整 后 保 留 拟 调 整 小 计 取 消 下 放 转 移 提 请 或 调 整 事 项 行 政 许 可 9 9 1 行 政 处 罚 951 951 行 政 强 制 37 37 行 政 征 收 4 4 行 政 给 付 0 0 行 政 检 查 47 47 行 政 确 认 1 1 行 政 裁 决 1

More information

Microsoft Word - Future CEDAW C CHN 7-8.doc

Microsoft Word - Future CEDAW C CHN 7-8.doc 序 言 1. 根 据 消 除 对 妇 女 一 切 形 式 歧 视 公 约 ( 简 称 公 约 ) 第 十 八 条 第 一 款 规 定, 中 华 人 民 共 和 国 向 联 合 国 秘 书 长 提 交 执 行 公 约 第 7 8 次 合 并 报 告 本 报 告 的 撰 写 遵 循 了 消 除 对 妇 女 歧 视 委 员 会 ( 简 称 消 歧 委 员 会 ) 关 于 缔 约 国 定 期 报 告 的 指

More information

本 科 生 手 册 中 南 大 学 学 生 工 作 委 员 会 秘 书 处 编 印 二 〇 一 四 年 八 月 社 会 主 义 核 心 价 值 观 富 强 民 主 文 明 和 谐 自 由 平 等 公 正 法 治 爱 国 敬 业 诚 信 友 善 校 徽 : 校 训 : 校 风 : 知 行 合 一 经 世 致 用 向 善 求 真 唯 美 有 容 目 录 一 法 律 法 规 与 上 级 制 度 1 中

More information

国家发展改革委法治机关建设规划(2013-2018年)

国家发展改革委法治机关建设规划(2013-2018年) 国 家 发 展 改 革 委 法 治 机 关 建 设 规 划 (2013-2018 年 ) 为 深 入 贯 彻 落 实 党 的 十 八 大 和 十 八 届 三 中 全 会 精 神, 巩 固 我 委 群 众 路 线 教 育 实 践 活 动 和 转 变 职 能 转 变 作 风 大 调 研 大 讨 论 大 转 变 学 习 推 进 活 动 ( 以 下 简 称 两 转 三 大 学 习 推 进 活 动 ) 成 果,

More information

烟台经济技术开发区政府采购竞争性磋商文件

烟台经济技术开发区政府采购竞争性磋商文件 目 录 第 一 部 分 邀 请 函... 3 第 二 部 分 采 购 内 容 及 相 关 要 求... 7 第 三 部 分 供 应 商 须 知... 10 第 四 部 分 合 同 文 本... 21 第 五 部 分 响 应 文 件 格 式... 28 第 一 部 分 邀 请 函 经 龙 口 市 人 民 政 府 采 购 管 理 办 公 室 批 准, 山 东 信 一 项 目 管 理 有 限 公 司 受

More information

<4D6963726F736F667420576F7264202D20342E31332D32303136C4EACCECBDF2CAD0C6D5CDA8B8DFB5C8D1A7D0A3D5D0C9FABFBCCAD4B9A4D7F7B9E6B6A82DCEC4BCFEB8E52E646F63>

<4D6963726F736F667420576F7264202D20342E31332D32303136C4EACCECBDF2CAD0C6D5CDA8B8DFB5C8D1A7D0A3D5D0C9FABFBCCAD4B9A4D7F7B9E6B6A82DCEC4BCFEB8E52E646F63> 津 招 委 高 发 2016 8 号 市 招 委 关 于 印 发 2016 年 天 津 市 普 通 高 等 学 校 招 生 考 试 工 作 规 定 的 通 知 各 普 通 高 等 学 校 区 县 招 生 委 员 会 各 有 关 单 位 : 2016 年 天 津 市 普 通 高 校 招 生 考 试 工 作, 要 深 入 贯 彻 党 的 十 八 届 三 中 四 中 五 中 全 会 精 神, 全 面 落

More information

2014 年 12 月 16 日 广 西 春 茂 投 资 股 份 有 限 公 司 ( 原 名 广 西 汽 牛 农 业 机 械 股 份 有 限 公 司, 以 下 简 称 春 茂 股 份 挂 牌 公 司 公 司 ) 召 开 2014 年 第 五 次 临 时 股 东 大 会, 通 过 向 特 定 对 象

2014 年 12 月 16 日 广 西 春 茂 投 资 股 份 有 限 公 司 ( 原 名 广 西 汽 牛 农 业 机 械 股 份 有 限 公 司, 以 下 简 称 春 茂 股 份 挂 牌 公 司 公 司 ) 召 开 2014 年 第 五 次 临 时 股 东 大 会, 通 过 向 特 定 对 象 国 海 证 券 股 份 有 限 公 司 关 于 广 西 春 茂 投 资 股 份 有 限 公 司 重 大 资 产 重 组 之 2015 年 持 续 督 导 报 告 独 立 财 务 顾 问 : 签 署 日 期 : 二 〇 一 六 年 五 月 2014 年 12 月 16 日 广 西 春 茂 投 资 股 份 有 限 公 司 ( 原 名 广 西 汽 牛 农 业 机 械 股 份 有 限 公 司, 以 下 简

More information

四、实施步骤

四、实施步骤 遂 安 教 函 2016 96 号 遂 宁 市 安 居 区 教 育 局 关 于 印 发 迎 接 四 川 省 县 域 义 务 教 育 均 衡 发 展 督 导 评 估 工 作 方 案 的 通 知 各 教 育 督 导 组, 各 中 小 学, 局 属 事 业 单 位, 机 关 各 股 室 : 为 了 顺 利 通 过 四 川 省 县 域 义 务 教 育 均 衡 发 展 督 导 评 估, 经 局 党 组 局 务

More information

Microsoft Word - 面向合格投资者公开发行公司债券上市预审核反馈意见公告(截至2015年10月8日)

Microsoft Word - 面向合格投资者公开发行公司债券上市预审核反馈意见公告(截至2015年10月8日) 面 向 合 格 投 资 者 公 开 发 行 公 司 债 券 上 市 预 审 核 反 馈 意 见 公 告 ( 截 至 2015 年 10 月 8 日 ) 日 前, 上 海 证 券 交 易 所 召 开 了 公 司 债 券 预 审 核 反 馈 会 会 议 讨 论 了 公 司 债 券 预 审 核 中 关 注 的 主 要 问 题, 形 成 了 书 面 反 馈 意 见 现 将 反 馈 意 见 公 告 如 下 :

More information

律 师 执 业 必 须 以 事 实 为 根 据, 以 法 律 为 准 绳 律 师 执 业 应 当 接 受 国 家 社 会 和 当 事 人 的 监 督 律 师 依 法 执 业 受 法 律 保 护, 任 何 组 织 和 个 人 不 得 侵 害 律 师 的 合 法 权 益 第 四 条 司 法 行 政 部

律 师 执 业 必 须 以 事 实 为 根 据, 以 法 律 为 准 绳 律 师 执 业 应 当 接 受 国 家 社 会 和 当 事 人 的 监 督 律 师 依 法 执 业 受 法 律 保 护, 任 何 组 织 和 个 人 不 得 侵 害 律 师 的 合 法 权 益 第 四 条 司 法 行 政 部 中 华 人 民 共 和 国 律 师 法 (2012 修 正 ) (1996 年 5 月 15 日 第 八 届 全 国 人 民 代 表 大 会 常 务 委 员 会 第 十 九 次 会 议 通 过 根 据 2001 年 12 月 29 日 第 九 届 全 国 人 民 代 表 大 会 常 务 委 员 会 第 二 十 五 次 会 议 关 于 修 改 中 华 人 民 共 和 国 律 师 法 的 决 定 第 一

More information

(Microsoft Word - \270t\270g\254\354\305\252\270g\274\372\300y\255p\271\2722012-2013.docx)

(Microsoft Word - \270t\270g\254\354\305\252\270g\274\372\300y\255p\271\2722012-2013.docx) 學 校 名 稱 : 學 生 姓 名 : 李 建 衡 級 別 : 五 信 (2012-2013) 詩 篇 一 一 九 篇 (9 至 16 節 ) 教 導 年 輕 人 要 全 心 全 意 遵 從 神 的 話 語 和 不 要 偏 離 神 的 命 令 這 幾 節 詩 歌 教 導 我 要 喜 愛 神 的 法 度 和 律 例, 還 要 思 索 神 的 品 格 和 緊 記 祂 的 話 語 詩 篇 一 一 九 篇

More information

自 觉 实 践 科 学 发 展 观, 扎 实 推 进 管 理 服 务 工 作 四 川 大 学 档 案 馆 ( 校 史 办 公 室 )2007 年 上 半 年 工 作 总 结 2007 年 上 半 年, 四 川 大 学 档 案 馆 ( 校 史 办 公 室 ) 在 学 校 党 委 行 政 领 导 和 上

自 觉 实 践 科 学 发 展 观, 扎 实 推 进 管 理 服 务 工 作 四 川 大 学 档 案 馆 ( 校 史 办 公 室 )2007 年 上 半 年 工 作 总 结 2007 年 上 半 年, 四 川 大 学 档 案 馆 ( 校 史 办 公 室 ) 在 学 校 党 委 行 政 领 导 和 上 四 川 大 学 档 案 管 理 与 校 史 工 作 简 报 2007 年 2 期 ( 总 第 2 期 ) 本 期 要 目 四 川 大 学 档 案 馆 ( 校 史 办 公 室 )2007 年 上 半 年 工 作 总 结 四 川 大 学 各 单 位 档 案 工 作 分 管 领 导 和 兼 职 档 案 管 理 员 名 单 2007 年 四 川 大 学 兼 职 档 案 管 理 员 业 务 培 训 会 议 圆

More information

2014

2014 目 录 第 一 部 分 国 家 知 识 产 权 局 基 本 情 况 一 主 要 职 能 二 部 门 决 算 单 位 构 成 第 二 部 分 国 家 知 识 产 权 局 2014 年 部 门 决 算 表 一 收 入 支 出 决 算 总 表 二 收 入 决 算 表 三 支 出 决 算 表 四 财 政 拨 款 收 入 支 出 决 算 总 表 五 一 般 公 共 预 算 财 政 拨 款 支 出 决 算 表

More information

招 商 证 券 股 份 有 限 公 司 2014 年 度 审 计 报 告 索 引 页 码 审 计 报 告 公 司 财 务 报 告 合 并 及 母 公 司 资 产 负 债 表 1-2 合 并 及 母 公 司 利 润 表 3 合 并 及 母 公 司 现 金 流 量 表 4 合 并 股 东 权 益 变 动 表 5-6 母 公 司 股 东 权 益 变 动 表 7-8 财 务 报 表 附 注 9-121 一

More information

第 一 部 分 广 州 市 广 播 电 视 大 学 概 况 一 学 校 的 主 要 任 务 和 业 务 范 围 根 据 市 编 委 的 批 复, 广 州 市 广 播 电 视 大 学 为 市 局 级 事 业 单 位, 归 口 市 教 育 局 管 理 主 要 承 担 以 下 任 务 : ( 一 ) 承

第 一 部 分 广 州 市 广 播 电 视 大 学 概 况 一 学 校 的 主 要 任 务 和 业 务 范 围 根 据 市 编 委 的 批 复, 广 州 市 广 播 电 视 大 学 为 市 局 级 事 业 单 位, 归 口 市 教 育 局 管 理 主 要 承 担 以 下 任 务 : ( 一 ) 承 广 州 市 广 播 电 视 大 学 2014 年 部 门 预 算 目 录 第 一 部 分 广 州 市 广 播 电 视 大 学 概 况 一 学 校 的 主 要 任 务 和 业 务 范 围 二 部 门 预 算 单 位 构 成 三 学 校 人 员 构 成 第 二 部 分 2014 年 部 门 预 算 安 排 情 况 说 明 第 三 部 分 2014 年 部 门 预 算 表 一 收 支 预 算 总 表 (

More information

Microsoft Word - 关于印发《云南保险业高级管理人员任职资格考试办法》的通知

Microsoft Word - 关于印发《云南保险业高级管理人员任职资格考试办法》的通知 中 国 保 监 会 云 南 监 管 局 文 件 云 保 监 发 2014 71 号 关 于 印 发 云 南 保 险 业 高 级 管 理 人 员 任 职 资 格 考 试 办 法 的 通 知 各 保 险 机 构 云 南 省 分 公 司, 各 保 险 专 业 中 介 机 构 : 根 据 中 国 保 监 会 监 督 管 理 委 员 会 规 范 性 文 件 制 定 管 理 办 法 ( 保 监 发 2013 101

More information

<4D6963726F736F667420576F7264202D20CBD5D6DDBFC6BCBCD1A7D4BAB8DFB5C8D1A7D0A3BDCCCAA6D7CAB8F1C8CFB6A8B9A4D7F7CAB5CAA9D2E2BCFB2E646F63>

<4D6963726F736F667420576F7264202D20CBD5D6DDBFC6BCBCD1A7D4BAB8DFB5C8D1A7D0A3BDCCCAA6D7CAB8F1C8CFB6A8B9A4D7F7CAB5CAA9D2E2BCFB2E646F63> 苏 科 2003 56 号 关 于 印 发 苏 州 科 技 学 院 2003 年 高 等 学 校 教 师 资 格 认 定 工 作 实 施 意 见 的 通 知 院 属 各 单 位 : 现 将 苏 州 科 技 学 院 2003 年 高 等 学 校 教 师 资 格 认 定 工 作 实 施 意 见 印 发 给 你 们, 请 遵 照 执 行 苏 州 科 技 学 院 ( 苏 州 科 技 大 学 筹 ) 二 00

More information

自评报告合成.doc

自评报告合成.doc 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 15.08:115.08:115.50:115.16:1 52.74% 63.59% 2003-2004 684 78 723 10902 15081 2004-2005 84 777 11718 15.081 2005-2006 92 814 12620 15.501 2006-2007 80

More information

第一部分 界定和测量歧视

第一部分   界定和测量歧视 研 究 信 息 简 报 全 国 妇 联 妇 女 研 究 所 编 2007 年 第 9 期 总 第 81 期 2007 年 9 月 7 日 编 者 按 : 自 2005 年 12 月 1 日 中 华 人 民 共 和 国 妇 女 权 益 保 障 法 施 行 以 来, 截 至 目 前, 已 有 新 疆 湖 南 黑 龙 江 江 西 陕 西 贵 州 上 海 安 徽 宁 夏 广 东 浙 江 湖 北 等 12 个

More information

2013 2013 2

2013 2013 2 2013 1 2013 2013 2 3 4 36 2013 37 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 5 2013 94,464.84 89,873.01 6,896.66 344.49 94,809.33 96,769.67 1,960.34

More information

一 前 言 2 作 為 我 國 儒 家 經 典 及 十 三 經 之 一, 孟 子 流 傳 千 年 不 輟, 足 以 證 明 其 對 中 華 文 化 的 重 要 性 與 影 響 力, 除 了 道 德 文 化 意 識 的 開 發, 也 弘 揚 仁 政 王 道 的 政 治 觀, 大 多 數 人 都 肯 定

一 前 言 2 作 為 我 國 儒 家 經 典 及 十 三 經 之 一, 孟 子 流 傳 千 年 不 輟, 足 以 證 明 其 對 中 華 文 化 的 重 要 性 與 影 響 力, 除 了 道 德 文 化 意 識 的 開 發, 也 弘 揚 仁 政 王 道 的 政 治 觀, 大 多 數 人 都 肯 定 當 經 典 遇 上 經 典 - 孟 子 與 火 鳳 燎 原 之 非 人 也 * 江 穰 峰 提 要 作 為 我 國 儒 家 經 典 及 十 三 經 之 一, 孟 子 流 傳 千 年 不 輟, 深 化 了 孔 子 思 想, 而 自 古 以 來, 許 多 學 者 嘗 試 對 孟 子 一 書 給 予 正 確 的 本 意 詮 釋 抑 或 提 出 符 合 當 代 的 新 說, 諸 家 注 疏 輩 出, 孟 子

More information

法 工 作 计 划 滨 州 市 安 全 生 产 监 督 管 理 局 2016 年 2 月 4 日 ( 此 件 主 动 公 开 ) 2

法 工 作 计 划 滨 州 市 安 全 生 产 监 督 管 理 局 2016 年 2 月 4 日 ( 此 件 主 动 公 开 ) 2 滨 州 市 安 全 生 产 监 督 管 理 局 文 件 滨 安 监 发 2016 22 号 滨 州 市 安 全 生 产 监 督 管 理 局 关 于 印 发 2016 年 度 安 全 生 产 监 管 执 法 工 作 计 划 的 通 知 各 县 ( 区 ) 安 监 局, 滨 州 经 济 技 术 开 发 区 安 监 局 高 新 区 安 监 办 北 海 经 济 开 发 区 安 监 中 心, 局 属 各 科

More information

附件3

附件3 自 治 区 住 房 城 乡 建 设 厅 行 政 执 法 公 示 事 项 总 表 序 号 执 法 权 分 类 执 法 权 名 称 1 行 政 许 可 ( 权 限 ) 建 设 工 程 施 工 企 业 勘 察 单 位 设 计 单 位 和 工 程 监 理 单 位 工 程 质 量 检 测 单 位 资 质 证 书 核 发 ( 建 设 工 程 施 工 企 业 施 工 总 承 包 资 质 序 列 二 级 资 质 及

More information

关于印发西北政法大学“十二五”

关于印发西北政法大学“十二五” 西 北 政 法 大 学 十 二 五 事 业 改 革 和 发 展 规 划 (2011 年 1 月 21 日 西 北 政 法 大 学 第 三 届 第 五 次 教 职 工 代 表 大 会 表 决 通 过 ) 十 二 五 时 期, 是 我 校 改 革 和 发 展 的 攻 坚 时 期, 也 是 实 现 把 我 校 建 成 全 国 一 流 教 学 研 究 型 政 法 大 学 目 标 的 关 键 时 期 根 据

More information

君泰所 稿纸

君泰所 稿纸 房 产 法 苑 近 期 房 地 产 市 场 政 策 汇 编 本 期 导 读 导 读 标 题 近 期 房 地 产 市 场 政 策 汇 编 一 中 央 近 期 房 地 产 市 场 政 策 回 顾 1 ( 一 )2009 年 度 1 ( 二 )2010 年 度 6 ( 三 )2011 年 度 11 二 北 京 近 期 房 地 产 市 场 政 策 回 顾 12 ( 一 )2009 年 度 12 ( 二 )2010

More information

的 权 利 义 务, 依 照 本 法 在 基 金 合 同 中 约 定 基 金 管 理 人 基 金 托 管 人 依 照 本 法 和 基 金 合 同 的 约 定, 履 行 受 托 职 责 通 过 公 开 募 集 方 式 设 立 的 基 金 ( 以 下 简 称 公 开 募 集 基 金 ) 的 基 金 份

的 权 利 义 务, 依 照 本 法 在 基 金 合 同 中 约 定 基 金 管 理 人 基 金 托 管 人 依 照 本 法 和 基 金 合 同 的 约 定, 履 行 受 托 职 责 通 过 公 开 募 集 方 式 设 立 的 基 金 ( 以 下 简 称 公 开 募 集 基 金 ) 的 基 金 份 中 华 人 民 共 和 国 证 券 投 资 基 金 法 (2015 年 修 正 ) (2003 年 10 月 28 日 第 十 届 全 国 人 民 代 表 大 会 常 务 委 员 会 第 五 次 会 议 通 过 ;2012 年 12 月 28 日 第 十 一 届 全 国 人 民 代 表 大 会 常 务 委 员 会 第 三 十 次 会 议 修 订 ; 中 华 人 民 共 和 国 主 席 令 第 七 十

More information

关 于 建 立 失 联 ( 异 常 ) 私 募 机 构 公 示 制 度 的 通 知... 169 私 募 基 金 登 记 备 案 相 关 问 题 解 答... 170 2

关 于 建 立 失 联 ( 异 常 ) 私 募 机 构 公 示 制 度 的 通 知... 169 私 募 基 金 登 记 备 案 相 关 问 题 解 答... 170 2 一 国 家 法 律... 1 中 华 人 民 共 和 国 证 券 投 资 基 金 法 (2015 年 修 正 )... 2 二 证 监 会 部 门 规 章... 37 第 105 号 令 私 募 投 资 基 金 监 督 管 理 暂 行 办 法... 38 三 协 会 自 律 规 则... 47 私 募 投 资 基 金 管 理 人 登 记 和 基 金 备 案 办 法 ( 试 行 )... 48 私 募

More information

000545C.DOC

000545C.DOC 2004[2218] 2003 12 31 2003 2003 12 31 2003 2003 2003 2003 2002 2003 2002 2003 2003 12 31 1 2 1 1 12 31 3 4 5 6 8 % 1 5 1 2 15 2 3 25 3 5 35 5 100 9 10 11 13 14 15 16 17 18 2 50% 50% 200310 < > 200310

More information

世界上最伟大的推销员.doc

世界上最伟大的推销员.doc [ ]. ............... ???? ?????? -- ? -- ? ? ? : -- -- ? -- ( ) -- ( ) - ? ( ) 1 2 3 4 7 --- -- -- 95% 5% ( ) ---- ( ) -- -- ( ) -- M -- - -- -- R ( ) 1 2 3 4 5 6 7 8 9 10 30 +3 +2 +1

More information

第 一 编 国 家 法 律 法 规 - 1 -

第 一 编 国 家 法 律 法 规 - 1 - 广 东 金 融 学 院 研 究 生 手 册 目 录 第 一 编 国 家 法 律 法 规... 1 中 华 人 民 共 和 国 学 位 条 例... 2 中 华 人 民 共 和 国 学 位 条 例 暂 行 实 施 办 法... 5 中 华 人 民 共 和 国 高 等 教 育 法... 11 普 通 高 等 学 校 学 生 管 理 规 定... 20 高 等 学 校 学 生 行 为 准 则... 28

More information

隐公(元年~十一年)

隐公(元年~十一年) 左 传 目 录 隐 公 ( 元 年 ~ 十 一 年 )--------------------- ---------------------(2 16 页 ) 桓 公 ( 元 年 ~ 十 八 年 )-------------------- --------------------(17 17 31 页 ) 庄 公 ( 元 年 ~ 三 十 二 年 )----------------- -----------------(32

More information

目 1 录 第 一 部 分 国 家 省 相 关 法 律 法 规...1 1. 中 华 人 民 共 和 国 教 育 法...2 2. 中 华 人 民 共 和 国 高 等 教 育 法...13 3. 中 华 人 民 共 和 国 学 位 条 例...24 4. 中 华 人 民 共 和 国 学 位 条 例

目 1 录 第 一 部 分 国 家 省 相 关 法 律 法 规...1 1. 中 华 人 民 共 和 国 教 育 法...2 2. 中 华 人 民 共 和 国 高 等 教 育 法...13 3. 中 华 人 民 共 和 国 学 位 条 例...24 4. 中 华 人 民 共 和 国 学 位 条 例 学 生 手 册 二 〇 一 四 年 八 月 目 1 录 第 一 部 分 国 家 省 相 关 法 律 法 规...1 1. 中 华 人 民 共 和 国 教 育 法...2 2. 中 华 人 民 共 和 国 高 等 教 育 法...13 3. 中 华 人 民 共 和 国 学 位 条 例...24 4. 中 华 人 民 共 和 国 学 位 条 例 暂 行 实 施 办 法... 27 5. 普 通 高 等

More information

<4D6963726F736F667420506F776572506F696E74202D20A5ACB355C0B8B0D1A6D2B8EAAEC6205BB0DFC5AA5D>

<4D6963726F736F667420506F776572506F696E74202D20A5ACB355C0B8B0D1A6D2B8EAAEC6205BB0DFC5AA5D> 設 計 師 : 吳 玉 蘋 上 半 身 ( 上 衣 ) 整 件 上 衣 以 紅 色 白 色 為 主, 前 後 中 心 和 腰 邊 兩 側 以 剪 接 方 式 呈 現, 前 後 中 心 和 袖 子 採 用 紅 花 色 旗 袍 布, 腰 邊 兩 側 為 白 色, 使 整 體 感 覺 看 起 來 有 律 動 感, 在 領 口 方 面 採 用 五 角 領, 使 整 件 上 衣 看 起 來 不 致 於 單 調,

More information