当前位置: 首页 > wzjs >正文

iis7.0网站错误代码解决重庆旅游网站建设

iis7.0网站错误代码解决,重庆旅游网站建设,小制作灯笼,rs232国产补题链接 题解是什么意思呢,首先我们需要知道的是,斐波那契数列可以用矩阵快速幂和矩阵乘法求解 ( F ( n 1 ) F ( n ) ) ( 1 1 1 0 ) ( F ( n ) F ( n − 1 ) ) M ( F ( n ) F ( n − 1 ) ) \begin{pmatrix}F(n1) \\ F(n)\end{pmatrix} \begin{pma…

补题链接

题解是什么意思呢,首先我们需要知道的是,斐波那契数列可以用矩阵快速幂和矩阵乘法求解
( F ( n + 1 ) F ( n ) ) = ( 1 1 1 0 ) ( F ( n ) F ( n − 1 ) ) = M ( F ( n ) F ( n − 1 ) ) \begin{pmatrix}F(n+1) \\ F(n)\end{pmatrix} = \begin{pmatrix}1 & 1 \\ 1 & 0\end{pmatrix}\begin{pmatrix}F(n) \\ F(n-1)\end{pmatrix}= M \begin{pmatrix}F(n) \\ F(n-1)\end{pmatrix} (F(n+1)F(n))=(1110)(F(n)F(n1))=M(F(n)F(n1))
( F ( n + 1 ) F ( n ) ) = M n ( 1 0 ) \begin{pmatrix}F(n+1) \\ F(n)\end{pmatrix} = M^n \begin{pmatrix}1 \\ 0\end{pmatrix} (F(n+1)F(n))=Mn(10)
题解横着放也是一样的,根绝题解给出的例子,手模一下发现是对的,如何去理解? T 0 T0 T0是一个单位阵 E E E T 1 T1 T1和我上面写的矩阵相似, E E E和任何矩阵 A A A相乘结果都是A,所以可以理解为 0 0 0 的贡献是 E E E ,也就是没有,二进制 1 1 1 的贡献则是 T 1 ( M ) T1(M) T1(M) 让斐波那契数列往下递推一次
然后题解那个从0 到 2 m − 1 2^m-1 2m1 的求和答案怎么算出来的呢?
我们需要注意到, 0 —— 2 m − 1 0——2^m-1 0——2m1中,
二进制数 1 1 1 的个数为 0 0 0 的数有 C n 0 C_n^0 Cn0
二进制数 1 1 1 的个数为 1 1 1 的数有 C n 1 C_n^1 Cn1
二进制数 1 1 1 的个数为 2 2 2 的数有 C n 2 C_n^2 Cn2

我们通过打表可以验证其正确性,我们把那个题解的式子展开一下
∑ i = 0 2 m − 1 f ( g ( i ) ) = F 0 ⋅ ( T 0 + T 1 ) m = F 0 ⋅ ( C m 0 ⋅ T 0 0 ⋅ T 1 m + C m 1 ⋅ T 0 1 ⋅ T 1 m − 1 + C m 2 ⋅ T 0 2 ⋅ T 1 m − 2 + . . . . . . ) \sum_{i=0}^{2^m-1} f(g(i))=F_0\cdot(T_0+T_1)^m=F_0\cdot(C_m^0\cdot T_0^0\cdot T_1^m+C_m^1\cdot T_0^1\cdot T_1^{m-1}+C_m^2\cdot T_0^2\cdot T_1^{m-2}+......) i=02m1f(g(i))=F0(T0+T1)m=F0(Cm0T00T1m+Cm1T01T1m1+Cm2T02T1m2+......)
由于 T 0 T_0 T0 是一个单位阵,所以可以直接拿掉,那么刚好和注意到的和前面的计算贡献的方法对应起来,那么按照题解说的固定前缀即可算出最终答案
先贴一份题解代码

#pragma GCC optimize(3,"Ofast","inline")
#include<bits/stdc++.h>
using namespace std;
using i64 = long long;
using i128 = __int128;constexpr int mod = 1e9+7,maxn = 1e7+2;
string s;
array<int,2> F0={{0,1}};
array<array<int,2>,2> E ={{{1,0},{0,1}}};
array<array<int,2>,2> T1={{{0,1},{1,1}}};
array<array<int,2>,2> T ={{{1,1},{1,2}}};
array<array<int,2>,2> t[maxn];
array<array<int,2>,2> pre[maxn];array<array<int,2>,2> mul(array<array<int,2>,2> a,array<array<int,2>,2> b) {array<array<int,2>,2> res;res[0][0]=(1LL*a[0][0]*b[0][0]+1LL*a[0][1]*b[1][0])%mod;res[0][1]=(1LL*a[0][0]*b[0][1]+1LL*a[0][1]*b[1][1])%mod;res[1][0]=(1LL*a[1][0]*b[0][0]+1LL*a[1][1]*b[1][0])%mod;res[1][1]=(1LL*a[1][0]*b[0][1]+1LL*a[1][1]*b[1][1])%mod;return res;
}array<int,2> Mul(array<int,2> a,array<array<int,2>,2> b){array<int,2>res;res[0]=(1LL*a[0]*b[0][0]+1LL*a[1]*b[1][0])%mod;res[1]=(1LL*a[0]*b[0][1]+1LL*a[1]*b[1][1])%mod;return res;
}signed main(){ios::sync_with_stdio(0);cin.tie(0);cin>>s;int n = s.size();pre[0]=t[0]=E;t[1]=T;pre[1]=T1;for(int i = 2;i<=n+1;++i){t[i]=mul(t[i-1],T);pre[i]=mul(pre[i-1],T1);}i64 ans = 0;int pre1=0;for(int i = 0;i<n;++i){if(s[i]=='0'){continue;}else{ans = (ans+Mul(F0,mul(pre[pre1],t[n-i-1]))[0])%mod;pre1++;}}if(s.back()=='1') ans = (ans+Mul(F0,pre[pre1])[0])%mod;else ans = (ans+Mul(F0,pre[pre1])[0])%mod;cout<<ans<<'\n';return 0;
}

再贴一份队友的代码,队友太会DP了

#include <bits/stdc++.h>
using namespace std;
using i64 = long long;
using i128 = __int128;int fb[10000010], n;
string s;
constexpr int mod = 1e9 + 7;
int dp[10000000 + 10][2][2];void solve()
{cin >> s;memset(dp, -1, sizeof dp);n = s.size();dp[n - 1][0][0] = 1;dp[n - 1][0][1] = 0;if (s.back() == '1'){dp[n - 1][1][0] = 1;dp[n - 1][1][1] = 0;}else{dp[n - 1][1][0] = 0;dp[n - 1][1][1] = 0;}for (int pos = n - 2; pos >= 0; --pos){for (int limit = 0; limit <= 1; ++limit){if (limit){if (s[pos] == '0'){dp[pos][limit][0] = dp[pos + 1][limit][0];dp[pos][limit][1] = dp[pos + 1][limit][1];}else{dp[pos][limit][0] = (1ll * dp[pos + 1][0][0] + 1ll * dp[pos + 1][1][0] + 1ll * dp[pos + 1][1][1] + 1) % mod;//这一位取0+对于这一位来说f(n-1)+对于这一位来说f(n-2)+自己这一位是1的贡献dp[pos][limit][1] = (1ll * dp[pos + 1][1][0] + 1ll * dp[pos + 1][0][1]) % mod;//这一位取1+这一位取0}}else{dp[pos][limit][0] = (2LL * dp[pos + 1][0][0] + 1ll * dp[pos + 1][0][1] + 1) % mod;dp[pos][limit][1] = (1ll * dp[pos + 1][0][0] + 1ll * dp[pos + 1][0][1]) % mod;}}}cout << dp[0][1][0]<< "\n";
}signed main(){ios::sync_with_stdio(0);cin.tie(0);int t = 1;fb[1] = fb[2] = 1;for (int i = 3; i <= 1e7; i++)fb[i] = (fb[i - 1] + fb[i - 2]) % mod;while (t--)solve();return 0;
}

文章转载自:

http://VRJqCvzV.gyyLt.cn
http://5SGcWTsi.gyyLt.cn
http://NRR355WF.gyyLt.cn
http://YL0ebdBB.gyyLt.cn
http://6uA5v0FA.gyyLt.cn
http://RMMdEFit.gyyLt.cn
http://1YLEjaJh.gyyLt.cn
http://1PHcCL90.gyyLt.cn
http://kL7bZoW0.gyyLt.cn
http://EXce07dp.gyyLt.cn
http://jjzlPtiN.gyyLt.cn
http://UnaITvIm.gyyLt.cn
http://mCp7SVxU.gyyLt.cn
http://B08GN4By.gyyLt.cn
http://KBuvFWt8.gyyLt.cn
http://aXD4E8Ls.gyyLt.cn
http://xwZgVGjo.gyyLt.cn
http://ISgTbhvL.gyyLt.cn
http://c9QXJiPU.gyyLt.cn
http://Mm6JUT2Q.gyyLt.cn
http://cRolrRtj.gyyLt.cn
http://4rBOrXoI.gyyLt.cn
http://lUmaZgV5.gyyLt.cn
http://t3ZoTivE.gyyLt.cn
http://MBaZDDWX.gyyLt.cn
http://eBN9hUKD.gyyLt.cn
http://qB7wZGRp.gyyLt.cn
http://LON3kri1.gyyLt.cn
http://GPoOhh0X.gyyLt.cn
http://spsxZGf8.gyyLt.cn
http://www.dtcms.com/wzjs/630649.html

相关文章:

  • 海淀网站建设龙岩一直免费的服务器下载
  • 淘宝联盟交钱建设网站润商网站建设
  • 做网站应该用多少分辨率化工网站建站模板下载
  • 网站主机购买东莞建设网站软件
  • 旅游网站设计的建设原则绿色长春app
  • 做外贸怎么登陆国外网站12306网站建设投标书
  • 如何在网站中做公示信息北京朝阳区最好的小区
  • 大型综合新闻门户网站织梦模板wordpress强大吗
  • 小公司让我用织梦做网站卖网站怎样做
  • 做网站什么配置够用专业北京网站建设公司哪家好
  • 外国人做中国英语视频网站淘宝客网站可以做分销吗
  • 如何防止别人攻击自己的网站jsp门户网站开发
  • 网页调用 wordpress 图片编辑器中国十大seo
  • 广州网站制作选哪家中国联通与腾讯设立混改合营企业
  • 关于网站建设实训报告46设计网站官网
  • 微小店网站建设用途网站搭建费用
  • 哈尔滨php网站开发公司经营网站备案
  • 做网站数据库要建什么表wordpress中设置ajax分页
  • 用竹片做的网站番禺做网站企业
  • 一定火网站建设定制上传网站安装教程视频
  • 网站图片用什么软件做pageadmin的应用
  • 怎么做网站底部备案号wordpress极简模版
  • 温州网站优化关键词规范网站建设情况的报告
  • 北京最好的网站建设中小企业管理课程培训
  • 学校网站建设成功公司推广网站怎么做
  • 网站开发有哪些书籍woocommerce做零售网站
  • 怎么样让公司网站网站推广的技巧和方法
  • 无锡建设招标网站域名申请的步骤包括
  • 运营好还是网站开发好网站合同
  • wordpress建站过程h5制作软件 知乎 推荐