写这篇博客,异常想吐槽。题目名竟然是“简,单,题”,但题一点也不简单qwq.
1.简
【问题描述】
一天 fateice 给了 fjzzq2002 一道简单题。
定义“n-好排列”为 1 到 n 的排列中,满足任何一个数都比前面的所有数大或者小。
比如“1 2 3 4”就是一个“4-好排列”,而“4 3 1 2”就不是一个“4-好排列”。
给出 n,求“n-好排列”个数。
fjzzq2002 一眼秒了,加了多组数据,把题目扔给了你。
良心出题人为了输出方便,加了答案对 p 取模。
【输入格式】
输入文件名为 jian.in。
第一行,一个数 T,表示数据组数。
接下来 T 行,每行两个数, n 和 p,含义如题所示。
【输出格式】
输出文件名为 jian.out
对于每组数据,一个数,表示答案。
输入:
2
233
10 233
输出:
2
46
【数据规模与约定】
对于 30% 的数据, 1 ≤ n ≤ 10;
对于 60% 的数据, 1 ≤ n ≤ 106, 1 ≤ p ≤ 109;
对于 100% 的数据, 1 ≤ n, p ≤ 1018, 1 ≤ T ≤ 104。
1 |
|
找到规律,这道题就变成了快速幂了。不过还要用快速乘,这道题p竟可以为1!!!!。
2.单
fjzzq2002 要攻打 fateice 的国家。
fateice 的国家有 n 座城市,有(n − 1)条带长度的无向路径连接城市,使城市两两连通。
现在定义城市的连通块为联邦。每一个联邦内最远的两个城市之间的距离称为联邦之间的弱
度。 fjzzq2002 手上有一个秘密武器,它可以随机轰炸一条路径使得其无法通行,也就是说
使得 fateice 的国家分成两个联邦。使用秘密武器的收益为分成的两个联邦的弱度的最大值。
fjzzq2002 的武器有点瑕疵,也就是说它是随机轰炸一条路径的,所以 fjzzq2002 想知道
他使用秘密武器的期望收益是什么。
良心出题人为了输出方便,将答案乘以(n − 1)输出。
【输入格式】
输入文件名为 dan.in。
输入文件内包含多组数据。
第一行,一个数 T,表示数据组数。
接下来 T 组数据,每组数据中:
第一行,一个数 n,表示城市数量。
接下来(n − 1)行,每行三个数 u, v, len,表示一条道路所连两个城市 u 和 v,以及它
的长度 len。
【输出格式】
输出文件名为 dan.out。
对于每组数据,输出一个数,表示 fjzzq2002 使用秘密武器的收益乘以(n − 1)后的值。
输入:
2 3 2
1 2
3 2 3
5 2
1 1
3 1 2
4 2 3
5 2 4
输出:
5 2
7
【数据规模与约定】
对于 30% 的数据, 1 ≤ n ≤ 10;
对于 60% 的数据, 1 ≤ n ≤ 103;
对于 100% 的数据, 1 ≤ n ≤ 105, 1 ≤ len ≤ 105, 1 ≤ T ≤ 10。
暴力代码(60分)
1 |
|
正解
1 |
|
暴力代码(更改后快了8s,但前几个小数据过不了了qwq)
1 |
|
树上DP
3.题
【问题描述】
fjzzq2002 和 fateice 在玩骰子,他们每个人有 1 个骰子。
他们的骰子均为均匀的 n 面,也就是说,落到每一面的概率均为1
n
。这两个骰子每面标
有一个数字,这些数字互不相同,且均为[1, X]内的正整数。
游戏规则是这样的:双方随机选择一面比较该面数字大小,大的获胜。
fjzzq2002 的骰子因为年久失修一些面的数字模糊了,于是 fjzzq2002 需要自己标上数
字,但是要遵循以下规则:
1. 所标的数字必须为[1, X]间的整数,且不能和之前标的数字以及已有的任意数字重复。
2. 允许不标数字,视为数字 0,也就是说比任何有标数字的面都小;可以在多个位置
不标数字,也就是说可以出现多个 0。
3. 标完数字后应该尽量公平,也就是说,双方获胜的概率应该尽可能接近 0.5。
请求出最公平的情况下, fjzzq2002 的胜率。如果有多种方案都公平,输出 fjzzq2002 胜
率较小时 fjzzq2002 的胜率。
【输入格式】
输入文件名为 ti.in
第一行,一个数,骰子面数 n。
第二行, n 个位于[0, X]间的数,表示 fjzzq2002 的骰子,如果数字为 0 表示该面模糊了。
第三行, n 个位于[1, X]间的数,表示 fateice 的骰子。
第四行,一个数 X,含义如题所示。
【输出格式】
一行,一个小数,表示最公平的情况下, fjzzq2002 的胜率。
输出时保留 10 位小数。
输入:
4 0
2 7 0
6 3 8 10
12
输出:
0.4375000000
【数据规模与约定】
对于 30% 的数据, 2 ≤ n ≤ 5;
对于 60% 的数据, 2 ≤ n ≤ 30;
对于另外 10% 的数据, fjzzq2002 的骰子各面均为清晰可见的。
对于 100% 的数据, 2 ≤ n ≤ 50, 2n ≤ X ≤ 108。
1 |
|
题解:
考虑两个人的骰子的数字顺序不影响,故均排序。
Fateice的数字将[1,X]分成n+1段。
我们考虑求fjzzq2002的每个数字的贡献,让贡献尽量接近n*n/2即可。
那么令𝑓_(𝑖,𝑗,𝑘)表示到第i段,当前处理了j个0,贡献为k是否可行。
本文作者:
syrsteven
最后更新: 2023年09月02日 04:06:21
本文链接: http://syrsteven.github.io/post/4d60e647.html
版权声明: 本作品采用 CC BY-NC-SA 4.0 许可协议进行许可,转载请注明出处!
最后更新: 2023年09月02日 04:06:21
本文链接: http://syrsteven.github.io/post/4d60e647.html
版权声明: 本作品采用 CC BY-NC-SA 4.0 许可协议进行许可,转载请注明出处!