Luogu P3263 [JLOI2015]有意义的字符串】的更多相关文章

Link 设\(e=\frac{b+\sqrt d}2,i=\frac{b-\sqrt d}2\). 显然\(f_n=e^n+i^n\)是一个整数,且\(f_n=(e+i)f_{n-1}+eif_{n-2}\). 递推式中的\(e+i=b,ei=\frac{b^2-d}4\),根据题目条件这两个也是整数. 因此我们可以利用矩阵快速幂求出\(f_n\bmod P\). 显然\(i\in(-1,0]\),因此\(i^n\in(-1,0]\),因此\(\lfloor e^n\rfloor\equiv…
洛谷 首先,看到\((\frac{(b+\sqrt{d})}{2})^n\),很快能够想到一元二次方程的解\(\frac{-b\pm\sqrt{\Delta}}{2a}\). 所以可以推出,\(\frac{(b+\sqrt{d})}{2}\)和\(\frac{(b-\sqrt{d})}{2}\)是\(x^2-bx+\frac{b^2-d}{4}\)的解. 方程移项得:\(x^2=b^2+\frac{d-b^2}{4}\). 所以设\(f[i]=(\frac{b+\sqrt{d}}{2})^i+(…
BZOJ_4002_[JLOI2015]有意义的字符串_矩阵乘法 Description B 君有两个好朋友,他们叫宁宁和冉冉.有一天,冉冉遇到了一个有趣的题目:输入 b;d;n,求 Input 一行三个整数 b;d;n   Output 一行一个数表示模 7528443412579576937 之后的结果. Sample Input 1 5 9 Sample Output 76 HINT 其中 0<b^2< = d<(b+1)2< = 10^18,n< = 10^18,并且…
[BZOJ4002][JLOI2015]有意义的字符串(数论,矩阵快速幂) 题面 BZOJ 洛谷 题解 发现我这种题总是做不动... 令\(A=\frac{b+\sqrt d}{2},B=\frac{b-\sqrt d}{2}\). 发现\(A+B=b,AB=\frac{b^2-d}{4}\). 要求的东西是\(A^n\),我们变成\(A^n+B^n-B^n\). 分开考虑,发现\(A^n+B^n=(A^{n-1}+B^{n-1})(A+B)-(A^{n-2}+B^{n-2})AB\),这样子前…
[BZOJ4002][JLOI2015]有意义的字符串 Description B 君有两个好朋友,他们叫宁宁和冉冉.有一天,冉冉遇到了一个有趣的题目:输入 b;d;n,求 Input 一行三个整数 b;d;n Output 一行一个数表示模 7528443412579576937 之后的结果. Sample Input 1 5 9 Sample Output 76 HINT 其中 0<b^2< = d<(b+1)2< = 10^18,n< = 10^18,并且 b mod…
4002: [JLOI2015]有意义的字符串 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1000  Solved: 436[Submit][Status][Discuss] Description B 君有两个好朋友,他们叫宁宁和冉冉.有一天,冉冉遇到了一个有趣的题目:输入 b;d;n,求     Input 一行三个整数 b;d;n   Output 一行一个数表示模 7528443412579576937 之后的结果.   Sample…
题意: 给出b,d,n,求$\lfloor(\frac{b+\sqrt{d}}{2})^n\rfloor \mod 999999999999999989$(原题是7528443412579576937). $n\leq 10^{18}$ $0<b^2\leq d<(b+1)^2\leq 10^{18}$ $b \mod 2=1$ $d \mod 4=1$ 对于20%的数据有$b=1,d=5$ 题解: 我是不知道这题跟字符串有什么关系... 场上有40%的数据是$n\leq 5$然而我们都没搞出…
题意 求$\left \lfloor \left( \frac{b+\sqrt{d}}{2} \right)^n \right \rfloor \pmod {7528443412579576937} \(,\)\left( 0 \le n \le 10^{18}, 0 < b^2 \le d < (b+1)^2 \le 10^{18}, b \mbox{ mod } 2 = 1, d \mbox{ mod } 4=1 \right) $ 分析 发现这个并不好算,而如果是\(\left( \fr…
据说这两场加起来只要170= =而这是最简单的题目了QAQ 看到$(\frac {b + \sqrt {d} } {2} )^n$,第一反应是共轭根式$(\frac {b - \sqrt {d} } {2} )^n$ 首先有$(\frac {b + \sqrt {d} } {2} )^n + (\frac {b - \sqrt {d} } {2} )^n$为整数 由高中课本知识可知,上式其实是一个三项递推数列的通项公式,而数列的递推式非常简单 $$f[x] = b * f[x - 1] - \f…
这个题... #include <bits/stdc++.h> #define rep(i, a, b) for (int i = a; i <= b; i++) #define drep(i, a, b) for (int i = a; i >= b; i--) #define REP(i, a, b) for (int i = a; i < b; i++) #define mp make_pair #define pb push_back #define clr(x) m…