Children’s Queue (大数/高精度)
来源:互联网 发布:傲剑神照升级数据大全 编辑:程序博客网 时间:2024/06/07 14:45
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1297
题意:有n个位置,男孩女孩排队,要求女孩至少要2个在一起,求符合规则的结果
这一题是排序问题,因为结果非常大,且为前几项相加,所用到了大数的加法。
题目的分析也很有意思
规则:女孩至少要2个在一起
求f(n)
一 , 当最后一个是男生M,则前 n-1 只要符合规则的排列即可,有f(n-1)个
~~~~|M 有f(n-1)个
二,当最后一个为女生F,则有两种情况
1)最后两个都为女生 ,则则前 n-2 只要符合规则的排列即可,有f(n-2)个
~~~~|FF 有f(n-2)个
2)最后两个都为女生 ,则则前 n-2 也可以不符合规则,
此时第n-2个是F,第n-3是M,此时前n-2个不符合规则,但因为第n-2 的F与第n-1 的F相邻,所以整体符合规则,有f(n-4)个
~~~~|MFFF 有f(n-4)个
#include <iostream>#include <cstring>#include <string>using namespace std;string add(string s1,string s2){ string sa,sb; sa=s1; sb=s2; if(sa.length()<sb.length()) { //让sa 指向长的字符串,sb 指向短的字符串 sa=s2; sb=s1; } int len1=sa.length(); int len2=sb.length(); //将sb的每一位与0的差值加到sa中的每一位中 //此时sa中每一位表示此位上的个数 例如十位数上有11个数,则其真实值为110 for(int i=len2-1,j=len1-1; i>=0; i--,j--) sa[j]+=sb[i]-'0'; for(int i=len1-1; i>=1; i--) { //检查sa[1]~sa[len1-1],如果其值大于'9',则在其前一位进一,而s[0]单独判断 if(sa[i]>'9') { sa[i-1]++; sa[i]-=10; } } if(sa[0]>'9') //最高位大于'9',则在前加一 { sa[0]-=10; sa='1'+sa; } return sa;}int main (){ int n; string f[1001]; f[0]="1"; //当n=4时,MFFF这种情况只有一种可能 f[1]="1"; f[2]="2"; f[3]="4"; for(int i=4; i<=1001; i++) { f[i]=add(f[i-1],f[i-2]); f[i]=add(f[i],f[i-4]); //两步来实现f[n]=f[n-1]+f[n-2]+f[n-4] } while(cin>>n) //提示:预先算出所有值,不然提交会超时 { cout<<f[n]<<endl; } return 0;}
阅读全文
0 0
- Children’s Queue (大数/高精度)
- 高精度-Children’s Queue
- Children’s Queue 1297 (大数)
- HDU-1297 Children’s Queue(递推)(高精度)
- hdu 1297 Children’s Queue(找规律+高精度)
- hdu 1297 Children’s Queue(递推+大数)
- yt13递推Children’s Queue (大数)
- hdu 1297 Children’s Queue(大数处理)
- HDOJ 题目1297Children’s Queue(递推,大数)
- hdu 1297 Children’s Queue (大数加法+递推)
- HDU 1297 Children’s Queue(含整型大数模板)
- Children’s Queue(递推 + JAVA大数)
- (HDOJ)Children's Queue(java大数大法好)
- 【高精度递推】【HDU1297】Children’s Queue
- hdu 1297 children's queue #DP#大数
- HDU 大数模板之Children’s Queue
- HDU 1297 Children’s Queue 递归+大数
- Children’s Queue大数加法及规律
- Maven学习入门
- 机器视觉资料
- 如何在XCode上禁用indexing
- 数据结构 —— 堆排序
- Remark Holdings的全球化布局:用人工智能深耕每一个细分领域
- Children’s Queue (大数/高精度)
- [喵咪大数据]初识大数据
- 线程死锁
- 欧拉筛法求素数(模板)
- 批处理 回显屏蔽
- linux TUN/TAP虚拟网卡
- MySQL日期和时间的查询
- unity之Asset Bundle资源打包加载
- 【转】Esri和Autodesk携手致力实现GIS与BIM融合