Problem B

Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other)
Total Submission(s) : 39   Accepted Submission(s) : 7

Font: Times New Roman | Verdana | Georgia

Font Size: ← →

Problem Description

丁磊同志是163网站CEO,三十多岁了,为了促进中国的养猪事业,受网易董事会和数千员工的委托,不惜千万,投资养猪。一个IT人,毫无利己的动机,把中国人民的养猪事业当做他自己的事业,这是什么精神?这是国际互联主义的精神,这是共同IT主义的精神,每一个中国IT人都要学习这种精神。 ——摘自《赞“丁磊养猪”》






  2009年2月17日,丁磊公开表示,网易将投资数千万元在浙江建立养猪场,并将为此创办养猪网,将农业与互联网行业相结合。

  在当今互联网时代,人们见证了芙蓉姐姐的成名历程,也习惯了诸如凤姐等人的作秀炒作,按说区区一个“养猪事件”也应该见怪不怪了,但丁磊养猪消息一出,众人仍然被雷到了,雷得大家不得不去认真搜索一下这场互联网史上最严肃的作秀,以窥其养猪背后真正的目的。  但不管外界如何看待此事,引起广泛关注的 “丁磊养猪”计划逐渐从口号变为现实——

2009年11月,网易在浙江的生猪养殖基地已经选定,并已经准备好一切硬件条件。

  在2010年1月1日,基地引进一只刚出生的母猪幼仔,假设每只小母猪从第3个年头开始,每年的第一天都会生出4只小母猪,另外,基地也在每年的12月31日售出所有差一天就要年满5周岁的猪。请帮忙计算在第N年(2010年是第一年)的今天(6月13日),网易的养猪基地会存栏多少只猪?

Input

  输入数据第一行是一个整数T(0<T<=40).

  接下来有T行,每行有一个数N(0<N<=40)含义如上所述

Output

  对于每个测试实例,输出在第N年年中的时候母猪的数量,每组数据的输出占一行。

Sample Input

3
2
3
5

Sample Output

1
5
29

                                                                                              Statistic | Submit | Back
一开始打算用递推公式。。
结果推到姥姥家了还是WA。特殊情况要考虑太多

结束后才想到直接模拟即可了。复杂度也不过是(T+MAXN*3)
不过要点技巧

思考一下 每年的猪和什么有关系
前一年剩余的猪+出生的猪-被卖掉的猪
每一年剩余的猪用ANS[i]来表示 
而出生的猪和被卖掉的猪是否能用ANS[i]表示呢 可是可以用 只是似乎十分的麻烦 
要计算出第i-4 到 i-2年有多少新出生的猪总和 如果用ANS[]表示的话 还要考虑如何减去被卖掉的猪 又涉及前面的东西 十分麻烦
既然提到了新出生的猪 我们难道不能直接用一个数组 存储每年新出生的猪?
data[i]=(data[i-4]+data[i-3]+data[i-2])*4;
被卖的猪=i-5年前出生的猪=data[i-5]

所以ANS[i]=ANS[i-1]+data[i]-data[i-5];
先预处理ANS[MAXN]
复杂度(T+MAXN*3)
#include<stdio.h>
int data[41];
int ans[41];
int main()
{
int i,j;
data[1]=1;data[2]=0;data[3]=4;data[4]=4;data[5]=20;
ans[1]=1;ans[2]=1;ans[3]=5,ans[4]=9,ans[5]=29;
for(i=6;i<=40;i++)
{
for(j=i-4;j<=i-2;j++)
data[i]+=data[j]*4;
ans[i]=ans[i]+ans[i-1]+data[i]-data[i-5];
}
int N,n;
while(scanf("%d",&N)!=EOF)
{
while(N--)
{
scanf("%d",&n);
printf("%d\n",ans[n]);
}
}
return 0;
}

新生赛(2) problem 2 丁磊养猪的更多相关文章

  1. SCNU ACM 2016新生赛初赛 解题报告

    新生初赛题目.解题思路.参考代码一览 1001. 无聊的日常 Problem Description 两位小朋友小A和小B无聊时玩了个游戏,在限定时间内说出一排数字,那边说出的数大就赢,你的工作是帮他 ...

  2. Codeforces 801 A.Vicious Keyboard & Jxnu Group Programming Ladder Tournament 2017江西师大新生赛 L1-2.叶神的字符串

    A. Vicious Keyboard time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  3. SCNU 2015ACM新生赛决赛【F. Oyk闯机关】解题报告

            题目大意:一个$N$$\times$$N$的阵列,每个格子有$X_{ij}$个调和之音,若每次只能选择走右边或下边,从左上角出发走到右下角,问最多能收集到多少个调和之音?       ...

  4. [ACTF2020 新生赛]BackupFile && [ACTF2020 新生赛]Upload &&[GYCTF2020]Blacklist

    [ACTF2020 新生赛]BackupFile 尝试找到源代码,加上题目是备份文件,猜测备份文件里面有网站的源代码,御剑扫描一下,就扫到index.php 访问index.php.bak 下载源代码 ...

  5. [BUUCTF]REVERSE——[ACTF新生赛2020]Oruga

    [ACTF新生赛2020]Oruga 附件 步骤: 例行检查,64位程序,无壳 64位ida载入,检索字符串,根据提示来到关键函数 14行~18行就是让字符串的前5位是 actf{ ,sub_78A( ...

  6. [BUUCTF]REVERSE——[ACTF新生赛2020]usualCrypt

    [ACTF新生赛2020]usualCrypt 附件 步骤: 例行检查,无壳,32位程序 32位ida载入,直接看main函数 逻辑很简单,一开始让我们输入一个字符串,然后该字符串经过sub_4010 ...

  7. [BUUCTF]REVERSE——[ACTF新生赛2020]rome

    [ACTF新生赛2020]rome 附件 步骤 无壳,32位程序 32位ida载入,根据提示字符串"You are correct!",找到关键函数func v15 = 'Q'; ...

  8. [BUUCTF]REVERSE——[ACTF新生赛2020]easyre

    [ACTF新生赛2020]easyre 附件 步骤 查壳,32位程序,upx壳儿 脱完壳儿,扔进ida 分析 一开始给我们定义了一个数组, v4=[42,70,39,34,78,44,34,40,73 ...

  9. 【贪心+中位数】【新生赛3 1007题】 Problem G (K)

    Problem G Time Limit : 4000/2000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Sub ...

随机推荐

  1. C#中方法Show.和ShowDialog的使用区别

    show()是非模式窗体. showDialog()是模式窗体. 如果这个时候用Show的话,则会发生的事情是,打开子窗体的同时主窗体又显示出来,而使用ShowDialog()的时候主要当子窗体关闭的 ...

  2. js实现求平均数功能

    今天在项目中遇到了一个求平均值的需求,大致需求就是,页面上面有四个input框,失去焦点就计算平均值,结果保留两位小数,并输出在页面上.不多说了,直接奉上代码,如有更好思路或者想法,都欢迎大家和我讨论 ...

  3. icon数目

    [UIApplication sharedApplication].applicationIconBadgeNumber = currentBadgeValue.integerValue;

  4. VS2015预览版中的C#6.0 新功能(三)

    VS2015预览版中的C#6.0 新功能(一) VS2015预览版中的C#6.0 新功能(二) Using static 使用using StaticClass,你可以访问StaticClass类里的 ...

  5. Spark集群搭建简要

    Spark集群搭建 1 Spark编译 1.1 下载源代码 git clone git://github.com/apache/spark.git -b branch-1.6 1.2 修改pom文件 ...

  6. OpenCV——IplImage

    IplImage结构: typedef struct _IplImage { int nSize; /* IplImage大小 */ int ID; /* 版本 (=0)*/ int nChannel ...

  7. UVA11806Cheerleaders(容斥)

    转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud 题目意思:在m行n列的矩形网格中放k个相同的石子,问有多少中方法?每个格子最多放一 ...

  8. yii2 访问控制

    class SiteController extends Controller{ /** * @inheritdoc */ public function behaviors() { return [ ...

  9. Yii 安装

    // 安装 composer curl -s http://getcomposer.org/installer | php // 把 composer 添加到全局命令 mv composer.phar ...

  10. shell脚本练习(随机取名)

    1.写一个脚本,实现随机选人功能,脚本需传递一个参数进去,如    pick.sh 1 出现结果"家驹”  pick.sh 3 出现结果 "落叶" "jason ...