洛谷 2953 [USACO09OPEN]牛的数字游戏Cow Digit Game 题目描述 Bessie is playing a number game against Farmer John, and she wants you to help her achieve victory. Game i starts with an integer N_i (1 <= N_i <= 1,000,000). Bessie goes first, and then the two players…
题目背景 国王1带大家到了数字王国的中心:三角圣地. 题目描述 不是说三角形是最稳定的图形嘛,数字王国的中心便是由一个倒三角构成.这个倒三角的顶端有一排数字,分别是1 ~ N.1 ~ N可以交换位置.之后的每一行的数字都是上一行相邻两个数字相加得到的.这样下来,最底端就是一个比较大的数字啦!数字王国称这个数字为"基".国王1希望"基"越大越好,可是每次都自己去做加法太繁琐了,他希望你能帮他通过编程计算出这个数的最大值.但是这个值可能很大,所以请你输出它mod 100…
题面 解题思路 手推可以得出,最后每个数字的贡献其实就是第n行杨辉三角数,然后直接卢卡斯直接算(今天才找到lucas定理时间复杂度是log n,log以模数为底).代码略麻烦,不想改了. 代码 #include<iostream> #include<cstdio> #include<cstring> #define LL long long using namespace std; const int MAXN = 1000005; const int mod = 10…
传送门 考虑最上面每个位置的数对答案的贡献 然后就很容易发现: 如果有n层,位置 i 的数对答案的贡献就是C( n-1,i ) 然后就有很显然的贪心做法: 越大的数放越中间,这样它的贡献就会尽可能的大 然后考虑算C( i,j ) 因为n很大,模数很小 所以要用lucas定理求C C(n,m)= C(n/mo,m/mo)*C(n%mo,m%mo) 当C比较小的时候可以直接用阶乘和阶乘逆元算出 #include<iostream> #include<cstdio> #include&l…
题目说了很清楚,此题找规律,那么就找规律. 我们观察数列. 令k表示数列的第k个数. 三角形数:1 3 6 10 15 两项相减:1 2 3 4 5 再次相减:1 1 1 1 1 四边形数:1 4 9 16 25 两项相减:1 3 5 7 9 再次相减:2 2 2 2 2 ---- 仔细看,第n形数的\(a_k = \sum_{1}^{k}1+(n-2)(k-1)\) ∴\(a_k = [2 + (k-1)(n-2)]k / 2\) ∴\(2a_k = [2 + (k-1)(n-2)]k\) ∴…
题目背景 国王1带大家到了数字王国的中心:三角圣地. 题目描述 不是说三角形是最稳定的图形嘛,数字王国的中心便是由一个倒三角构成.这个倒三角的顶端有一排数字,分别是1~N.1~N可以交换位置.之后的每一行的数字都是上一行相邻两个数字相加得到的.这样下来,最底端就是一个比较大的数字啦!数字王国称这个数字为“基”.国王1希望“基”越大越好,可是每次都自己去做加法太繁琐了,他希望你能帮他通过编程计算出这个数的最大值.但是这个值可能很大,所以请你输出它mod 10007 的结果. 任务:给定N,求三角形…
题目背景 国王1带大家到了数字王国的中心:三角圣地. 题目描述 不是说三角形是最稳定的图形嘛,数字王国的中心便是由一个倒三角构成.这个倒三角的顶端有一排数字,分别是1~N.1~N可以交换位置.之后的每一行的数字都是上一行相邻两个数字相加得到的.这样下来,最底端就是一个比较大的数字啦!数字王国称这个数字为“基”.国王1希望“基”越大越好,可是每次都自己去做加法太繁琐了,他希望你能帮他通过编程计算出这个数的最大值.但是这个值可能很大,所以请你输出它mod 10007 的结果. 任务:给定N,求三角形…
题目描述 小鱼最近被要求参加一个数字游戏,要求它把看到的一串数字(长度不一定,以0结束,最多不超过100个,数字不超过2^32-1),记住了然后反着念出来(表示结束的数字0就不要念出来了).这对小鱼的那点记忆力来说实在是太难了,你也不想想小鱼的整个脑袋才多大,其中一部分还是好吃的肉!所以请你帮小鱼编程解决这个问题. 输入格式 一行内输入一串整数,以0结束,以空格间隔. 输出格式 一行内倒着输出这一串整数,以空格间隔. 输入输出样例 输入 #1 复制 3 65 23 5 34 1 30 0 输出…
[洛谷5月月赛]玩游戏(NTT,生成函数) 题面 Luogu 题解 看一下要求的是什么东西 \((a_x+b_y)^i\)的期望.期望显然是所有答案和的平均数. 所以求出所有的答案就在乘一个逆元就好了. 现在考虑怎么算上面那个东西. 对于单个的计算,我们可以用二项式定理直接展开 得到 \[\begin{aligned}\sum(a+b)^k&=\sum\sum_{i=0}^kC_k^ia^ib^{k-i}\\&=\sum_{i=0}^kC_k^i(\sum a^i)(\sum b^{k-i…
题目:https://www.luogu.org/problemnew/show/P4660 https://www.lydsy.com/JudgeOnline/problem.php?id=1168 自己一开始有这样的想法:枚举一边的手套一定选到 S 集合,设 c = 选到 S 里每个手套的最小需要选的手套个数,则 c = 这边所有手套个数 - (S里个数最小的手套个数-1) . 设 ts = 另一边一定选到 S 集合里的至少一个手套的最小需要选的手套个数,则 ts = 不在 S 集合里的手套…