A---母牛的故事

题目大意:第一年有一头母牛,每年年初母牛生小母牛,小母牛第四个年头可以开始生小牛。

问第n年有多少头牛。

题解:

(1)列出前几项来找规律(2)第i年牛的数量=第i-1年牛的数量+(新出生的牛的数量=第i-3年牛的数量)

代码:

  1. #include<iostream>
  2. #include<cstdio>
  3. #include<cstring>
  4. #include<cmath>
  5. #include<algorithm>
  6. using namespace std;
  7.  
  8. int n;
  9.  
  10. int dp[];
  11.  
  12. int main()
  13. {
  14. dp[]=;dp[]=;dp[]=;dp[]=;
  15. for(int i=;i<=;i++) dp[i]=dp[i-]+dp[i-];
  16. while(scanf("%d",&n)&&n) cout<<dp[n]<<endl;
  17. return ;
  18. }

B---Cow Bowling

7
        3   8
      8   1   0
    2   7   4   4
 4   5   2   6    5

数字金字塔 从上往下走只能走左右求到最后一层的最大值

n<=350 搜索不行呀 从上往下推

代码:

  1. #include<iostream>
  2. #include<cstdio>
  3. #include<cstring>
  4. #include<cmath>
  5. #include<algorithm>
  6. using namespace std;
  7.  
  8. int n;
  9.  
  10. int ans;
  11.  
  12. int a[][];
  13.  
  14. int f[][];
  15.  
  16. int main()
  17. {
  18. scanf("%d",&n);
  19. for(int i=;i<=n;i++)
  20. {
  21. for(int j=;j<=i;j++)
  22. {
  23. scanf("%d",&a[i][j]);
  24. }
  25. }
  26. f[][]=a[][];
  27. for(int i=;i<=n;i++)
  28. {
  29. for(int j=;j<=i;j++)
  30. {
  31. f[i][j]=max(f[i-][j],f[i-][j-])+a[i][j];
  32. }
  33. }
  34. for(int i=;i<=n;i++)ans=max(ans,f[n][i]);
  35. cout<<ans<<endl;
  36. return ;
  37. }

C---Sumsets

题目大意:

一个数分成几个2的x次方的和的方案数

如:

1) 1+1+1+1+1+1+1

2) 1+1+1+1+1+2

3) 1+1+1+2+2

4) 1+1+1+4

5) 1+2+2+2

6) 1+2+4

题解:

(1)暴力

(2)打表找规律 找出递推式

a、如果i是奇数,那么a[i]=a[i-1];在i-1的数的方法数+1

b、如果i是偶数,那么a[i]=a[i-1]+a[i/2];

如果i是偶数 在i-1的数+1 i/2的方案数里都*2;

  1. #include<iostream>
  2. #include<cstdio>
  3. #include<cmath>
  4. #include<algorithm>
  5. #define M 1000000
  6. using namespace std;
  7.  
  8. int n,p;
  9.  
  10. int ans;
  11.  
  12. int b[];
  13.  
  14. void dfs(int x,int now,int sum)
  15. {
  16. if(sum>now) return ;
  17. if(sum==now)
  18. {
  19. ans++;
  20. return;
  21. }
  22. for(int i=x;i>=;i--) //i>=0不是i
  23. {
  24. dfs(i,now,sum+b[i]);
  25. }
  26. }
  27. int main()
  28. {
  29. b[]=;
  30. for(int i=;i;i++)
  31. {
  32. b[i]=b[i-]*;
  33. if(b[i]>M)
  34. {
  35. p=i;break;
  36. }
  37. }
  38. for(int i=;i<=;i++)
  39. {
  40. ans=;
  41. dfs(p,i,);
  42. cout<<ans<<endl;
  43. }
  44. return ;
  45. }
  1. #include<iostream>
  2. #include<cstdio>
  3. #include<cstring>
  4. #include<algorithm>
  5. #define M 1000000000
  6. using namespace std;
  7.  
  8. int n;
  9.  
  10. int a[];
  11.  
  12. int main()
  13. {
  14. scanf("%d",&n);
  15. a[]=;a[]=;a[]=;a[]=;
  16. for(int i=;i<=n;i++)
  17. {
  18. if(i%) a[i]=a[i-]%M;
  19. else a[i]=(a[i-]+a[i/])%M;
  20. }
  21. cout<<a[n];
  22. return ;
  23. }

mission3--dp的更多相关文章

  1. BZOJ 1911: [Apio2010]特别行动队 [斜率优化DP]

    1911: [Apio2010]特别行动队 Time Limit: 4 Sec  Memory Limit: 64 MBSubmit: 4142  Solved: 1964[Submit][Statu ...

  2. 2013 Asia Changsha Regional Contest---Josephina and RPG(DP)

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=4800 Problem Description A role-playing game (RPG and ...

  3. AEAI DP V3.7.0 发布,开源综合应用开发平台

    1  升级说明 AEAI DP 3.7版本是AEAI DP一个里程碑版本,基于JDK1.7开发,在本版本中新增支持Rest服务开发机制(默认支持WebService服务开发机制),且支持WS服务.RS ...

  4. AEAI DP V3.6.0 升级说明,开源综合应用开发平台

    AEAI DP综合应用开发平台是一款扩展开发工具,专门用于开发MIS类的Java Web应用,本次发版的AEAI DP_v3.6.0版本为AEAI DP _v3.5.0版本的升级版本,该产品现已开源并 ...

  5. BZOJ 1597: [Usaco2008 Mar]土地购买 [斜率优化DP]

    1597: [Usaco2008 Mar]土地购买 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 4026  Solved: 1473[Submit] ...

  6. [斜率优化DP]【学习笔记】【更新中】

    参考资料: 1.元旦集训的课件已经很好了 http://files.cnblogs.com/files/candy99/dp.pdf 2.http://www.cnblogs.com/MashiroS ...

  7. BZOJ 1010: [HNOI2008]玩具装箱toy [DP 斜率优化]

    1010: [HNOI2008]玩具装箱toy Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 9812  Solved: 3978[Submit][St ...

  8. px、dp和sp,这些单位有什么区别?

    DP 这个是最常用但也最难理解的尺寸单位.它与“像素密度”密切相关,所以 首先我们解释一下什么是像素密度.假设有一部手机,屏幕的物理尺寸为1.5英寸x2英寸,屏幕分辨率为240x320,则我们可以计算 ...

  9. android px转换为dip/dp

    /** * 根据手机的分辨率从 dp 的单位 转成为 px(像素) */ public int dipTopx(Context context, float dpValue) { final floa ...

  10. POJ 3254. Corn Fields 状态压缩DP (入门级)

    Corn Fields Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 9806   Accepted: 5185 Descr ...

随机推荐

  1. 探索ASP.Net Core 3.0系列六:ASP.NET Core 3.0新特性启动信息中的结构化日志

    前言:在本文中,我将聊聊在ASP.NET Core 3.0中细小的变化——启动时记录消息的方式进行小的更改. 现在,ASP.NET Core不再将消息直接记录到控制台,而是正确使用了logging 基 ...

  2. 安装更新时出现一些问题,但我们稍后会重试。如果你继续看到此错误,并且想要搜索 Web 或联系支持人员以获取相关信息,以下信息可能会对你有帮助: (0x80070426)

    安装更新时出现一些问题,但我们稍后会重试.如果你继续看到此错误,并且想要搜索 Web 或联系支持人员以获取相关信息,以下信息可能会对你有帮助: (0x80070426) https://answers ...

  3. macbook pro更换键盘的排线

    以下是拆机图解 很简单的 有点动手能力的都可以更换 另外附加淘宝上的链接 https://item.taobao.com/item.htm?spm=a1z09.2.0.0.68a12e8dYAiQIx ...

  4. javascript模块化编程思想、实现与规范

    随着BS架构的发展,网站逐渐变成了互联网应用程序,嵌入网络的JavaScript代码越来越庞大,越来越复杂(业务逻辑处理或用户交互很多写在前端).网页越来越像桌面程序,需要一个团队分工协作.进度管理. ...

  5. 离线缓存 Visual Studio 2019 (VS2019)的方法

    1. 下面是以管理员身份运行命令行: https://docs.microsoft.com/en-us/visualstudio/install/workload-component-id-vs-en ...

  6. C#,NPOI,Export Generic T Data

    1.Nuget 下载NPOI; Install-package NPOI -version 2.4.1 2.下载EF install-package entityframework -version ...

  7. C#中窗口关闭时没有取消事件订阅导致事件重复执行的解决方法

    场景 C#中委托与事件的使用-以Winform中跨窗体传值为例: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100150700 ...

  8. C/C++中new的使用规则

    本人未重视new与指针的使用,终于,终于在前一天船翻了,而且没有爬上岸: 故此,今特来补全new的用法,及其一些规则: 话不多说 C++提供了一种“动态内存分配”机制,使得程序可以在运行期间,根据实际 ...

  9. 链表逆序,java实现

    package com.cskaoyan.linkedlist; //反转数组 public class LinkedListDemo2 { public static Node reverse(No ...

  10. 关于Qt 静态成员函数调用信号

    class globalCalcThread; extern globalCalcThread *g_calcThread; class globalCalcThread : public QThre ...