mission3--dp
A---母牛的故事
题目大意:第一年有一头母牛,每年年初母牛生小母牛,小母牛第四个年头可以开始生小牛。
问第n年有多少头牛。
题解:
(1)列出前几项来找规律(2)第i年牛的数量=第i-1年牛的数量+(新出生的牛的数量=第i-3年牛的数量)
代码:
- #include<iostream>
- #include<cstdio>
- #include<cstring>
- #include<cmath>
- #include<algorithm>
- using namespace std;
- int n;
- int dp[];
- int main()
- {
- dp[]=;dp[]=;dp[]=;dp[]=;
- for(int i=;i<=;i++) dp[i]=dp[i-]+dp[i-];
- while(scanf("%d",&n)&&n) cout<<dp[n]<<endl;
- return ;
- }
B---Cow Bowling
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5
数字金字塔 从上往下走只能走左右求到最后一层的最大值
n<=350 搜索不行呀 从上往下推
代码:
- #include<iostream>
- #include<cstdio>
- #include<cstring>
- #include<cmath>
- #include<algorithm>
- using namespace std;
- int n;
- int ans;
- int a[][];
- int f[][];
- int main()
- {
- scanf("%d",&n);
- for(int i=;i<=n;i++)
- {
- for(int j=;j<=i;j++)
- {
- scanf("%d",&a[i][j]);
- }
- }
- f[][]=a[][];
- for(int i=;i<=n;i++)
- {
- for(int j=;j<=i;j++)
- {
- f[i][j]=max(f[i-][j],f[i-][j-])+a[i][j];
- }
- }
- for(int i=;i<=n;i++)ans=max(ans,f[n][i]);
- cout<<ans<<endl;
- return ;
- }
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;
- #include<iostream>
- #include<cstdio>
- #include<cmath>
- #include<algorithm>
- #define M 1000000
- using namespace std;
- int n,p;
- int ans;
- int b[];
- void dfs(int x,int now,int sum)
- {
- if(sum>now) return ;
- if(sum==now)
- {
- ans++;
- return;
- }
- for(int i=x;i>=;i--) //i>=0不是i
- {
- dfs(i,now,sum+b[i]);
- }
- }
- int main()
- {
- b[]=;
- for(int i=;i;i++)
- {
- b[i]=b[i-]*;
- if(b[i]>M)
- {
- p=i;break;
- }
- }
- for(int i=;i<=;i++)
- {
- ans=;
- dfs(p,i,);
- cout<<ans<<endl;
- }
- return ;
- }
- #include<iostream>
- #include<cstdio>
- #include<cstring>
- #include<algorithm>
- #define M 1000000000
- using namespace std;
- int n;
- int a[];
- int main()
- {
- scanf("%d",&n);
- a[]=;a[]=;a[]=;a[]=;
- for(int i=;i<=n;i++)
- {
- if(i%) a[i]=a[i-]%M;
- else a[i]=(a[i-]+a[i/])%M;
- }
- cout<<a[n];
- return ;
- }
mission3--dp的更多相关文章
- BZOJ 1911: [Apio2010]特别行动队 [斜率优化DP]
1911: [Apio2010]特别行动队 Time Limit: 4 Sec Memory Limit: 64 MBSubmit: 4142 Solved: 1964[Submit][Statu ...
- 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 ...
- AEAI DP V3.7.0 发布,开源综合应用开发平台
1 升级说明 AEAI DP 3.7版本是AEAI DP一个里程碑版本,基于JDK1.7开发,在本版本中新增支持Rest服务开发机制(默认支持WebService服务开发机制),且支持WS服务.RS ...
- AEAI DP V3.6.0 升级说明,开源综合应用开发平台
AEAI DP综合应用开发平台是一款扩展开发工具,专门用于开发MIS类的Java Web应用,本次发版的AEAI DP_v3.6.0版本为AEAI DP _v3.5.0版本的升级版本,该产品现已开源并 ...
- BZOJ 1597: [Usaco2008 Mar]土地购买 [斜率优化DP]
1597: [Usaco2008 Mar]土地购买 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 4026 Solved: 1473[Submit] ...
- [斜率优化DP]【学习笔记】【更新中】
参考资料: 1.元旦集训的课件已经很好了 http://files.cnblogs.com/files/candy99/dp.pdf 2.http://www.cnblogs.com/MashiroS ...
- BZOJ 1010: [HNOI2008]玩具装箱toy [DP 斜率优化]
1010: [HNOI2008]玩具装箱toy Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 9812 Solved: 3978[Submit][St ...
- px、dp和sp,这些单位有什么区别?
DP 这个是最常用但也最难理解的尺寸单位.它与“像素密度”密切相关,所以 首先我们解释一下什么是像素密度.假设有一部手机,屏幕的物理尺寸为1.5英寸x2英寸,屏幕分辨率为240x320,则我们可以计算 ...
- android px转换为dip/dp
/** * 根据手机的分辨率从 dp 的单位 转成为 px(像素) */ public int dipTopx(Context context, float dpValue) { final floa ...
- POJ 3254. Corn Fields 状态压缩DP (入门级)
Corn Fields Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 9806 Accepted: 5185 Descr ...
随机推荐
- 探索ASP.Net Core 3.0系列六:ASP.NET Core 3.0新特性启动信息中的结构化日志
前言:在本文中,我将聊聊在ASP.NET Core 3.0中细小的变化——启动时记录消息的方式进行小的更改. 现在,ASP.NET Core不再将消息直接记录到控制台,而是正确使用了logging 基 ...
- 安装更新时出现一些问题,但我们稍后会重试。如果你继续看到此错误,并且想要搜索 Web 或联系支持人员以获取相关信息,以下信息可能会对你有帮助: (0x80070426)
安装更新时出现一些问题,但我们稍后会重试.如果你继续看到此错误,并且想要搜索 Web 或联系支持人员以获取相关信息,以下信息可能会对你有帮助: (0x80070426) https://answers ...
- macbook pro更换键盘的排线
以下是拆机图解 很简单的 有点动手能力的都可以更换 另外附加淘宝上的链接 https://item.taobao.com/item.htm?spm=a1z09.2.0.0.68a12e8dYAiQIx ...
- javascript模块化编程思想、实现与规范
随着BS架构的发展,网站逐渐变成了互联网应用程序,嵌入网络的JavaScript代码越来越庞大,越来越复杂(业务逻辑处理或用户交互很多写在前端).网页越来越像桌面程序,需要一个团队分工协作.进度管理. ...
- 离线缓存 Visual Studio 2019 (VS2019)的方法
1. 下面是以管理员身份运行命令行: https://docs.microsoft.com/en-us/visualstudio/install/workload-component-id-vs-en ...
- C#,NPOI,Export Generic T Data
1.Nuget 下载NPOI; Install-package NPOI -version 2.4.1 2.下载EF install-package entityframework -version ...
- C#中窗口关闭时没有取消事件订阅导致事件重复执行的解决方法
场景 C#中委托与事件的使用-以Winform中跨窗体传值为例: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100150700 ...
- C/C++中new的使用规则
本人未重视new与指针的使用,终于,终于在前一天船翻了,而且没有爬上岸: 故此,今特来补全new的用法,及其一些规则: 话不多说 C++提供了一种“动态内存分配”机制,使得程序可以在运行期间,根据实际 ...
- 链表逆序,java实现
package com.cskaoyan.linkedlist; //反转数组 public class LinkedListDemo2 { public static Node reverse(No ...
- 关于Qt 静态成员函数调用信号
class globalCalcThread; extern globalCalcThread *g_calcThread; class globalCalcThread : public QThre ...