A141174.午枫的宝藏
普及/提高-
官方
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
午枫历经千辛万苦,终于破译了宝藏密码,打开了宝箱!
宝箱里是很多很多的金币(可以看成无穷多),午枫需要与手下的 n 名水手们分享金币。
根据大嘤帝国的传统,分配宝藏对于船长而言是一件稍不留神就会丧命的苦差事。这是由于,船长需要将每人能分到多少宝藏的决议公布,之后全体船员(包括船长)会投票决定决议是否通过。如果半数及以上船员(包括船长)投票通过,船长就能够安全地执行决议;否则,船长就会被投海杀死,由第 1 顺位继承人继承船长的职位并再次分配,再不通过就继续投海杀死并由第 2 顺位继承人继承,依此类推。
好在经过多日的相处,午枫知道手下的水手各个都是 聪明绝顶 又 贪婪 并且 相互之间如掐脖 的狠人!每个水手都会在 保证自己不被杀死 的前提下 企图获得更大的利益。
现在,午枫想要知道,如何分配给第 1,2,⋯,n 顺位继承人的金币数量,才能保证自己只需要分出去最少的金币就能保住自己的性命。
输入格式
本题单个测试点内包含多组测试数据。
输入第一行一个正整数 T,表示数据组数。
每组数据第一行一个正整数 n,表示午枫手下不包括他自己在内的水手数量。
输出格式
为了避免输出量过大,输出对每组数据进行压缩。
对于每组数据,假设午枫分配给船长的第 i 顺位继承人的金币数量为 ri,你只需要输出一行一个压缩后的非负整数 R:
R=(i=1∑ni⋅ri)mod(109+7)
可以证明序列 r1,r2,⋯,rn 唯一。
输入输出样例
输入#1
2 1 2
输出#1
0 2
说明/提示
数据范围
对于 100% 的测试数据,满足:
1≤T≤20
1≤n≤109
输入解题思路,AI测评打分。不知道怎么写?