o(╯□╰)odp
来源:互联网 发布:网络乌托邦 编辑:程序博客网 时间:2024/05/16 16:00
o(╯□╰)o不知道怎么学好了,偷偷刷喵呜的博客,踩着前辈的脚印前进好了
2044 [没考虑long long 问题 wa了一次%>_<%]
#include<iostream>#include<cstring>using namespace std;long long dp[52];int main(){ int n,a,b; while(cin>>n) { while(n--) { memset(dp,0,sizeof(dp)); cin>>a>>b; dp[a]=1; dp[a+1]=1; for(int i=a+2;i<=b;i++) { dp[i]=dp[i-1]+dp[i-2]; } cout<<dp[b]<<endl; } } return 0;}2045
#include<iostream>#include<cstring>using namespace std;long long dp[52];int main(){ int n; memset(dp,0,sizeof(dp)); dp[1]=3; dp[2]=dp[3]=6; for(int i=4;i<=50;i++) dp[i]=dp[i-1]+dp[i-2]*2; while(cin>>n) { cout<<dp[n]<<endl; } return 0;}2046[貌似假期的时候做过这种题啊,当时怎么想都想不明白,o(╯□╰)o]
#include<iostream>#include<cstring>using namespace std;long long dp[52];int main(){ int n; memset(dp,0,sizeof(dp)); dp[1]=1; dp[2]=2; for(int i=3;i<=50;i++) dp[i]=dp[i-1]+dp[i-2]; while(cin>>n) { cout<<dp[n]<<endl; } return 0;}
2047[看了喵呜的博客说,2047是可以由2046改编的,前一个也乘2就可以了]
#include<iostream>#include<cstring>using namespace std;long long dp[42];int main(){ int n; memset(dp,0,sizeof(dp)); dp[1]=3; dp[2]=8; for(int i=3;i<40;i++) dp[i]=(dp[i-1]+dp[i-2])*2; while(cin>>n) { cout<<dp[n]<<endl; } return 0;}2048[错排公式,写的时候在double和llf这里没注意,wa了一次]
当n个编号元素放在n个编号位置,元素编号与位置编号各不对应的方法数用M(n)表示,那么M(n-1)就表示n-1个编号元素放在n-1个编号位置,各不对应的方法数,其它类推.
第一步,把第n个元素放在一个位置,比如位置k,一共有n-1种方法;
第二步,放编号为k的元素,这时有两种情况⑴把它放到位置n,那么,对于剩下的n-1个元素,由于第k个元素放到了位置n,剩下n-2个元素就有M(n-2)种方法;⑵第k个元素不把它放到位置n,这时,对于这n-1个元素,有M(n-1)种方法;
综上得到
M(n)=(n-1)[M(n-2)+M(n-1)]
特殊地,M⑴=0,M⑵=1
2049[这题有点小bt]
2050[貌似具体数学里有这个。。。]
终于刷完了(⊙o⊙)…
#include<iostream>#include<cstring>#include<cstdio>using namespace std;long long dp[21];int main(){ int n,a; long long sum; dp[1]=0; dp[2]=1; for(int i=3;i<21;i++) dp[i]=(i-1)*(dp[i-1]+dp[i-2]); cin>>n; while(n--) { cin>>a; sum=1; for(int i=1;i<=a;i++) sum*=i; double ans=dp[a]*100.0/sum; printf("%.2llf%%\n",ans); } return 0;}
2049[这题有点小bt]
#include<iostream>#include<cstring>#include<cstdio>using namespace std;long long dp[21],sum[21];int main(){ int n,m,t; dp[1]=0; dp[2]=1; for(int i=3;i<21;i++) dp[i]=(i-1)*(dp[i-1]+dp[i-2]); sum[0]=sum[1]=1; for(int i=2;i<=20;i++) sum[i]=i*sum[i-1]; cin>>t; while(t--) { cin>>n>>m; cout<<sum[n]/sum[m]/sum[n-m]*dp[m]<<endl; } return 0;}
2050[貌似具体数学里有这个。。。]
#include<iostream>using namespace std;long long d;int main(){ int t,n; cin>>t; while(t--) { cin>>n; d=n*(2*n-1)+1; cout<<d<<endl; } return 0;}
终于刷完了(⊙o⊙)…
- o(╯□╰)odp
- ODP
- 双工位机器人 焊接夹具注意事项 o(╯□╰)o
- ACM 刷题错误总结 持续更新并持续回顾中o(╯□╰)o
- oracle 11g忘了密码,o(╯□╰)o
- hdu1527 & poj1067 取石子游戏 威佐夫博奕模型,,模板题o(╯□╰)o
- hdoj 5533 Dancing Stars on Me 【醉了 o(╯□╰)o】
- 分享几个实用的Android开源项目(这是我摘抄的。。。o(╯□╰)o)
- odp使用笔记
- ODP.NetとOO4O
- ODP.NET Types Overview
- ODP.NET vs MSDP
- ODP.NET 介绍
- 使用ODP.NET
- Oracle:ODP.NET Managed
- 使用 ODP.NET 访问 Oracle
- ADO.NETとODP.NET
- ODP.net 安装及连接
- 【用Win7备份与还原让系统轻松回魂】
- PHP使用DES进行加密解密
- Eclipse反编译插件: JadClipse
- Java中string字符串
- ios 学习登陆密码AES 加密
- o(╯□╰)odp
- android安全漏洞(八)伪造短信(利用原生android4.0漏洞)
- 字符串的替换和反转
- 点击CSV按钮--启示,看页面提交什么
- 教你看懂C++类库函数定义之一---HRESULT 宏
- CImageList图标大小
- sys常用模块小探
- 110306 File Fragmentation
- Toad使用整理