hdu 2047 阿牛的EOF牛肉串】的更多相关文章

如果末尾加的是E或F,显然是2*a[i-1] 如果末尾加的是O,则末2位一定是EO或FO,则为2*a[i-2]. 然后两者相加 2*a[i-1]+2*a[i-2] = 2*(a[i-1]+a[i-2]) #include<stdio.h> int main(void) { int n; long long i,narr[40]; narr[1]=3;narr[2]=8; for(i=3;i<40;i++) { narr[i]=2*(narr[i-1]+narr[i-2]); } whil…
阿牛的EOF牛肉串 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 16106 Accepted Submission(s): 7538 Problem Description 今年的ACM暑期集训队一共有18人,分为6支队伍.其中有一个叫做EOF的队伍,由04级的阿牛.XC以及05级的COY组成.在共同的集训生活中,大家建立了深厚的友谊,阿…
阿牛的EOF牛肉串 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 20247    Accepted Submission(s): 9495 Problem Description 今年的ACM暑期集训队一共同拥有18人.分为6支队伍.当中有一个叫做EOF的队伍,由04级的阿牛.XC以及05级的COY组成.在共同的集训生活中,大家建立…
/* 主要看最后一个是否为O,若为O,则倒数第二个不能为O,则为a[n-2]*1*2; 若不为O,则最后一个有两个选择则为a[n-1]*2 */ #include<stdio.h> ] = { }; long long recrusion(int n) { ) { return a[n]; } ) * + recrusion(n - ) * ; } int main() { int n; a[] = ; a[] = ; while (~scanf("%d", &n)…
C - 阿牛的EOF牛肉串 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Practice HDU 2047 Description 今年的ACM暑期集训队一共同拥有18人.分为6支队伍.当中有一个叫做EOF的队伍,由04级的阿牛.XC以及05级的COY组成.在共同的集训生活中,大家建立了深厚的友谊.阿牛准备做点什么来纪念这段激情燃烧的岁月,想了一想,阿牛从家里…
阿牛的EOF牛肉串 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 16242    Accepted Submission(s): 7610 Problem Description今年的ACM暑期集训队一共有18人,分为6支队伍.其中有一个叫做EOF的队伍,由04级的阿牛.XC以及05级的COY组成.在共同的集训生活中,大家建立了深厚的…
阿牛的EOF牛肉串 Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Total Submission(s) : 78   Accepted Submission(s) : 43 Font: Times New Roman | Verdana | Georgia Font Size: ← → Problem Description 今年的ACM暑期集训队一共有18人,分为6支队伍.其中…
Description          今年的ACM暑期集训队一共有18人,分为6支队伍.其中有一个叫做EOF的队伍,由04级的阿牛.XC以及05级的COY组成.在共同的集训生活中,大家建立了深厚的友谊,阿牛准备做点什么来纪念这段激情燃烧的岁月,想了一想,阿牛从家里拿来了一块上等的牛肉干,准备在上面刻下一个长度为n的只由"E" "O" "F"三种字符组成的字符串(可以只有其中一种或两种字符,但绝对不能有其他字符),阿牛同时禁止在串中出现O相邻的…
Description 今年的ACM暑期集训队一共有18人,分为6支队伍.其中有一个叫做EOF的队伍,由04级的阿牛.XC以及05级的COY组成.在共同的集训生活中,大家建立了深厚的友谊,阿牛准备做点什么来纪念这段激情燃烧的岁月,想了一想,阿牛从家里拿来了一块上等的牛肉干,准备在上面刻下一个长度为n的只由"E" "O" "F"三种字符组成的字符串(可以只有其中一种或两种字符,但绝对不能有其他字符),阿牛同时禁止在串中出现O相邻的情况,他认为,&q…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2047 思路:先是列出了四个,但是没发现规律,然后开始画递归树,在其中找到了规律,算出递归式为f(n) = 2*[f(n-1)+f(n-2)] 递归树分析如下(有点潦草,看不懂可以留言,大致模型为嵌套): source code: package hduoj; import java.util.Scanner; public class hdoj_2047 { /** * 得出递归式:f(n) = 2…
题目:https://blog.csdn.net/qq_40932661?t=1 表面上看去似乎无从下手.但是可以从前面地推出后面的 递推: 假如涂第N个位置,有两种可能,①涂O ②不涂O. 如果涂O的话,前面不能是O,只能是E或F两种, 即2*f(n-2) 不涂O的话,N位置可以放E或F两种,即2*f(n-1) 所以 f[n] = 2*(f[n-1] + f[n-2]) !!!输入挂是一个坑点.刚入门.才知道while(scan_d(n))   不能是while((~scan_d)),  否则…
#include <iostream>using namespace std;long long s0,s1,s2,s3;int main(){ int i,n; while(cin>>n) { s0=3;s1=1; s2=1;s3=1; for(i=2;i<=n;i++) { s2=s1*2; s3=s1=s0; s0=s1+s2+s3; } cout<<s0<<endl; } return 0; }…
水到不想整理,线性DP #include <algorithm> #include <iostream> #include <cstring> #include <cstdio> using namespace std; ][], ans = ; int main() { while (~scanf("%d", &n)) { ans = ; ) { puts("); continue; } memset(dp, , si…
http://acm.hdu.edu.cn/showproblem.php?pid=1423 在前一道题的基础上多了一次筛选 要选出一个最长的递增数列 lower_bound()函数很好用,二分搜索找出满足ai>k的ai最小指针 还有upper_bound() 头文件#include<algorithm> 比如求长度为n的数组a中k的个数:upper_bound(a,a+n,k)-lower_bound(a,a+n,k) int 放在main函数里面声明会出现程序崩溃,放在全局就没有问题…
Problem Description Write a program to determine whether a word is a palindrome. A palindrome is a sequence of characters that is identical to the string when the characters are placed in reverse order. For example, the following strings are palindro…
给一个串,让你找一个子串,形如EAEBE,就是一个串在开头结尾中间各出现一次,问这个E最长是多少 Sample Input5xyabcaaaaaaabaaaxoaaaaa Sample Output00112 # include <cstdio> # include <cstring> using namespace std; ] ; ] ; int slen ; int tlen ; void getNext() { int j, k; j = ; k = -; next[] =…
题目链接 Problem Description 小明和他的好朋友小西在玩一个新的游戏,由小西给出一个由小写字母构成的字符串,小明给出另一个比小西更长的字符串,也由小写字母组成,如果能通过魔法转换使小明的串和小西的变成同一个,那么他们两个人都会很开心.这里魔法指的是小明的串可以任意删掉某个字符,或者把某些字符对照字符变化表变化.如: 小西的串是 abba; 小明的串是 addba; 字符变化表 d b (表示d能转换成b). 那么小明可以通过删掉第一个d,然后将第二个d转换成b将串变成abba.…
题目大意:给个字符串S,要把S分成两段T1,T2,每个字母都有一个对应的价值,如果T1,T2是回文串(从左往右或者从右往左读,都一样),那么他们就会有一个价值,这个价值是这个串的所有字母价值之和,如果不是回文串,那么这串价值就为0.问最多能获得多少价值?   对于我们只需要枚举扫描一遍extend数组,扫描到的当前位置之前为前半部分T1, 然后用根据extend数组可以判断T1是否是回文.那后半部分T2呢?  刚才是用S去匹配T, 如果要求后缀,只需要用T去匹配S,再得到一个数组extend2即…
感谢: http://blog.csdn.net/ggggiqnypgjg/article/details/6645824/ O(n)求给定字符串的以每个位置为中心的回文串长度. 中心思想:每次计算位置i的答案时,利用已经算出的1~i-1位置的答案. #include <cstdio> #include <cstring> #include <iostream> #define maxn 222222 using namespace std; int n, ans; c…
6357. Hills And Valleys 自己感觉这是个好题,应该是经典题目,所以半路选手补了这道字符串的动态规划题目. 题意就是给你一个串,翻转任意区间一次,求最长的非下降子序列. 一看题面写的0≤Ai≤9 (i=1,2,⋯,n).就知道肯定有点东西,只要这么写,肯定就是有某个神奇的操作可以解决这道题目. 比赛的时候脑壳都要炸了也没想出来,补题的时候懂了,我可以定义一个b串为0123456789,这肯定是递增的,所以我翻转b的某个区间,然后去和a匹配,因为我把b再翻转回来,还是递增的.…
Palindrome subsequence Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65535 K (Java/Others)Total Submission(s): 3183    Accepted Submission(s): 1328 Problem Description In mathematics, a subsequence is a sequence that can be derived f…
题目链接 最长回文 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 7976    Accepted Submission(s): 2735 Problem Description 给出一个只由小写英文字符a,b,c...y,z组成的字符串S,求S中最长回文串的长度.回文就是正反读都是一样的字符串,如aba, abba等 Input 输入…
PS:又是上课偷懒..去递推.. 代码: #include "stdio.h"#include "math.h"long long dp[55];long long xp[55];int main(){      int i,n;      dp[0]=3;      xp[0]=1;      for(i=1;i<55;i++){         xp[i]=dp[i-1]-xp[i-1];         dp[i]=3*dp[i-1]-xp[i-1]; …
A[N]表示以E或者F结尾的情况下的方案数,B[N]表示以O结尾的情况下的方案数,F[N]=3*A[N-1]+2*B[N-1] 同时,A[N]=2*B[N-1]+2*A[N-1],B[N-1]=A[N-1] AC代码: #include<cstdio> typedef long long LL; const int maxn=40+5; LL ans[maxn]; void solve(){ LL a=2,b=1; ans[1]=3; for(int i=2;i<40;++i){ LL…
Zjnu Stadium Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3179 Accepted Submission(s): 1224 Problem Description In 12th Zhejiang College Students Games 2007, there was a new stadium built in Zh…
所谓递推,是指从已知的初始条件出发,依据某种递推关系,逐次推出所要求的各中间结果及最后结果.其中初始条件或是问题本身已经给定,或是通过对问题的分析与化简后确定.关于递推的知识可以参阅本博客中随笔“递推(一):递推法的基本思想”. HDU 2044~2050这7道题是针对初学者进行递推学习的专项练习,下面给出它们的AC程序供参考. HDU 2044:一只小蜜蜂 不妨将图示的蜂箱结构看成从1--—2——-3——…的一个“W”型楼梯.蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行.可以等效地看成蜜蜂每次上楼…
2047  阿牛的EOF牛肉串 #include<stdio.h> int main(){ int n,i; _int64 s[]; while(~scanf("%d",&n)){ s[]=;s[]=; ;i<=n;i++){ s[i] = s[i-]* + s[i-]*; } printf("%I64d\n",s[n]); } } 2048  神.上帝以及老天爷 #include<stdio.h> int main(){ in…
转载:from http://blog.csdn.net/qq_28236309/article/details/47818349 基础题:1000.1001.1004.1005.1008.1012.1013.1014.1017.1019.1021.1028.1029. 1032.1037.1040.1048.1056.1058.1061.1070.1076.1089.1090.1091.1092.1093. 1094.1095.1096.1097.1098.1106.1108.1157.116…
HDU2040 亲和数 题目链接 Problem Description 古希腊数学家毕达哥拉斯在自然数研究中发现,220的所有真约数(即不是自身的约数)之和为: 1+2+4+5+10+11+20+22+44+55+110=284. 而284的所有真约数为1.2.4.71. 142,加起来恰好为220.人们对这样的数感到很惊奇,并称之为亲和数.一般地讲,如果两个数中任何一个数都是另一个数的真约数之和,则这两个数就是亲和数. 你的任务就编写一个程序,判断给定的两个数是否是亲和数 Input 输入数…
杭电ACM分类: 1001 整数求和 水题1002 C语言实验题——两个数比较 水题1003 1.2.3.4.5... 简单题1004 渊子赛马 排序+贪心的方法归并1005 Hero In Maze 广度搜索1006 Redraiment猜想 数论:容斥定理1007 童年生活二三事 递推题1008 University 简单hash1009 目标柏林 简单模拟题1010 Rails 模拟题(堆栈)1011 Box of Bricks 简单题1012 IMMEDIATE DECODABILITY…