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. UIImage图片处理

    #pragma mark - #pragma mark - 缩放处理 + (UIImage *)scaleImage:(UIImage *)image withScale:(float)scale { ...

  2. 33c3-pwn350-tea

    TEA 感觉这个题目出得很不错.先运行程序了解基本功能,程序可以读取对系统上存在的文件的内容,如果文件不存在的话,直接退出. 使用IDA打开后,发现父进程通过clone api克隆出一个子进程,主要的 ...

  3. Gengxin讲STL系列——Set

    本系列第二篇blog 第一篇写的心潮澎湃,结果写完一看,这都是些什么玩意= =| Set的中文名称是“集合”.集合,高一数学必修一课本给出的定义已经很明确了,简单来讲就是一个不含重复元素的空间(个人定 ...

  4. setInterval && setTimeout || 定时器

    来自w3school的解释 定时器setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式. setInterval() 方法会不停地调用函数,直到 clearInterva ...

  5. Struts2 - 常用的constant标签[转]

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-/ ...

  6. canvas总结:元素大小与绘图表面大小

    前言 我们使用canvas的时候一般在canvas元素中直接设置它的width和height: <canvas id="myCanvas" width="300&q ...

  7. Python中def的用法

    def定义了一个模块的变量,或者说是类的变量.它本身是一个函数对象.属于对象的函数,就是对象的属性. def func():    return 2print func() # 1func = 5pr ...

  8. robot自动化测试(一)---安装

    1.安装python 百度搜索安装程序即可:我安装的python 2.7.6 64位 2.安装wxpython 版本:wxPython2.8 下载地址:http://sourceforge.net/p ...

  9. jquery向列表添加新元素

    $(function () { $('#btn').click(function () { $('ol').append('<li>'+$('#text').val()+'</li& ...

  10. Cleaning Shifts(POJ 2376 贪心)

    Cleaning Shifts Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 15143   Accepted: 3875 ...