A5796 | 「TJOI2017」不勤劳的图书管理员
时间限制3s
内存限制512MB
通过 / 提交0/0
题目描述
加里敦大学有个帝国图书馆,小豆是图书馆阅览室的一个书籍管理员。
他的任务是把书排成有序的,所以无序的书让他产生厌烦,两本乱序的书会让小豆产生这两本书页数的和的厌烦度。
现在有 $n$ 本被打乱顺序的书,在接下来 $m$ 天中每天都会因为读者的阅览导致书籍顺序改变位置。因为小豆被要求在接下来的 $m$ 天中至少要整理一次图书。
小豆想知道,如果他前 $i$ 天不去整理,第 $i$ 天他的厌烦度是多少,这样他好选择厌烦度最小的那天去整理。
他的任务是把书排成有序的,所以无序的书让他产生厌烦,两本乱序的书会让小豆产生这两本书页数的和的厌烦度。
现在有 $n$ 本被打乱顺序的书,在接下来 $m$ 天中每天都会因为读者的阅览导致书籍顺序改变位置。因为小豆被要求在接下来的 $m$ 天中至少要整理一次图书。
小豆想知道,如果他前 $i$ 天不去整理,第 $i$ 天他的厌烦度是多少,这样他好选择厌烦度最小的那天去整理。
输入格式
第一行有两个数 $n, m$,表示有 $n$ 本书和 $m$ 天。
接下来 $n$ 行,每行两个数,$a_i$ 和 $v_i$,表示第 $i$ 本书本来应该放在 $a_i$ 的位置,这本书有 $v_i$ 页,保证不会有放置同一个位置的书。
接下来 $m$ 行,每行两个数,$x_j$ 和 $y_j$,表示在第 $j$ 天的第 $x_j$ 本书会和第 $y_j$ 本书会因为读者阅读交换位置。
保证 $1 \leq a_i, x_j, y_j \leq n$。
接下来 $n$ 行,每行两个数,$a_i$ 和 $v_i$,表示第 $i$ 本书本来应该放在 $a_i$ 的位置,这本书有 $v_i$ 页,保证不会有放置同一个位置的书。
接下来 $m$ 行,每行两个数,$x_j$ 和 $y_j$,表示在第 $j$ 天的第 $x_j$ 本书会和第 $y_j$ 本书会因为读者阅读交换位置。
保证 $1 \leq a_i, x_j, y_j \leq n$。
输出格式
一共 $m$ 行,每行一个数,第 $i$ 行表示前 $i$ 天不去整理,第 $i$ 天小豆的厌烦度。因为这个数可能很大,所以将结果模 $10 ^ 9 + 7$ 后输出。
输入输出样例
输入 #1
5 5 1 1 2 2 3 3 4 4 5 5 1 5 1 5 2 4 5 3 1 3
输出 #1
42 0 18 28 48
对于 $20\%$ 的数据,保证 $1 \leq n, m \leq 5000$。
对于 $100\%$ 的数据,保证 $1 \leq n, m \leq 50000, 0 \leq v_i \leq 10^5$。
对于 $100\%$ 的数据,保证 $1 \leq n, m \leq 50000, 0 \leq v_i \leq 10^5$。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?