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. Android 打造自己的个性化应用(一):应用程序换肤主流方式的分析与概述

    Android平台api没有特意为换肤提供一套简便的机制,这可能是外国的软件更注重功能和易用,不流行换肤.系统不提供直接支持,只能自行研究. 换肤,可以认为是动态替换资源(文字.颜色.字体大小.图片. ...

  2. vs2013 创建网站

    从文件菜单中选择新建网站,版本选择4,如果选择更高级的版本在发布的时候老是会报错,暂时找不到解决的方法,所以就选择4这个版本了.选择asp的空网站,在下面选择文件系统. 项目建好后如下,然后添加一个w ...

  3. ListView加载两种以上不同的布局

    不同的项目布局(item layout) Listview一种单一的item 布局有时候不能完全满足业务需求,我们需要加载两种或两种以上不同的布局,实现方法很简单: 重写 getViewTypeCou ...

  4. Xcode 常用快捷键及代码自动排版

    1. 文件CMD + N: 新文件CMD + SHIFT + N: 新项目CMD + O: 打开CMD + S: 保存CMD+OPt+S:保存所有文件CMD + SHIFT + S: 另存为CMD + ...

  5. 一个数n的最大质因子

    #include<cstdio> #include<cmath> using namespace std; #define Max(x, y) (x > y ? x : ...

  6. easyui page添加文本,js验证码

    onLoadSuccess: function (db) { //db是后台数据的返回结果集 $.ajax({ url: "AjaxSource/Buex.ashx", data: ...

  7. set(二叉搜索树)

    找球号(一) 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 在某一国度里流行着一种游戏.游戏规则为:在一堆球中,每个球上都有一个整数编号i(0<=i<= ...

  8. js去除左右空格

     replace方法去掉字符串的空格 //去左空格; s=s.replace(/(^\s*)/g, ""); //去右空格; s= s.replace(/(\s*$)/g, &qu ...

  9. 常用两种数据交换格式之XML和JSON的比较

    目前,在web开发领域,主要的数据交换格式有XML和JSON,对于XML相信每一个web developer都不会感到陌生: 相比之下,JSON可能对于一些新步入开发领域的新手会感到有些陌生,也可能你 ...

  10. Unattended Setup Software Components (无人值守安装软件组件)

    原文 http://social.technet.microsoft.com/Forums/windows/en-US/d4ad85b4-8342-4401-83ed-45cefa814ec5/una ...