【noi 2.6_9271】奶牛散步(DP)
这题与前面的“踩方格”重复了,而且是大坑题!题目漏写了取模12345的条件!
详细解析请见我之前的博文——http://www.cnblogs.com/konjak/p/5936888.html

而这坑在我打了高精+滚动之后才知道。。我先把这个代码贴上来。。
1 #include<cstdio>
2 #include<cstdlib>
3 #include<cstring>
4 #include<iostream>
5 using namespace std;
6
7 struct node{int s[510];int l;}
8 f[3],c;//1010
9
10 int mmax(int x,int y) {return x>y?x:y;}
11 node pplus(node a,node b)
12 {
13 c.l=mmax(a.l,b.l);
14 memset(c.s,0,sizeof(c.s));
15 for (int i=1;i<=c.l;i++)
16 {
17 c.s[i]+=a.s[i]+b.s[i];
18 c.s[i+1]+=c.s[i]/10;
19 c.s[i]%=10;
20 }
21 if (c.s[c.l+1]) c.l++;
22 return c;
23 }
24
25 int main()
26 {
27 int n;
28 scanf("%d",&n);
29 f[1].l=1,f[1].s[1]=3;
30 f[2].l=1,f[2].s[1]=7;
31 int u,v,w;
32 u=0;
33 for (int i=3;i<=n;i++)
34 {
35 v=(u+2)%3,w=(u+1)%3;//v=(u+3-1)%3,w=(u+3-2)%3;
36 f[u]=pplus(pplus(f[v],f[v]),f[w]);
37 u=(u+1)%3;
38 }//f[i]=pplus(pplus(f[i-1],f[i-1]),f[i-2]);
39 int t=(u+2)%3;//(u+3-1)%3;
40 if (n<3) t=n;
41 for (int i=f[t].l;i>=1;i--)
42 printf("%d",f[t].s[i]);
43 printf("\n");
44 return 0;
45 }
高精+滚动
AC代码是这样的——
1 #include<cstdio>
2 #include<cstdlib>
3 #include<cstring>
4 #include<iostream>
5 using namespace std;
6
7 int f[3];
8 int main()
9 {
10 int n;
11 scanf("%d",&n);
12 f[1]=3, f[2]=7;
13 int u,v,w;
14 u=0;
15 for (int i=3;i<=n;i++)
16 {
17 v=(u+2)%3,w=(u+1)%3;
18 f[u]=(2*f[v]+f[w])%12345;
19 u=(u+1)%3;
20 }
21 if (n<3) printf("%d\n",f[n]);
22 else printf("%d\n",f[(u+2)%3]);
23 return 0;
24 }
滚动
1 #include<cstdio>
2 #include<cstdlib>
3 #include<cstring>
4 #include<iostream>
5 using namespace std;
6
7 long long f[1010];
8
9 int main()
10 {
11 int n;
12 scanf("%d",&n);
13 f[1]=3, f[2]=7;
14 for (int i=3;i<=n;i++)
15 f[i]=(2*f[i-1]+f[i-2])%12345;
16 printf("%lld\n",f[n]);
17 return 0;
18 }
不滚动
【noi 2.6_9271】奶牛散步(DP)的更多相关文章
- 奶牛抗议 DP 树状数组
奶牛抗议 DP 树状数组 USACO的题太猛了 容易想到\(DP\),设\(f[i]\)表示为在第\(i\)位时方案数,转移方程: \[ f[i]=\sum f[j]\;(j< i,sum[i] ...
- P2340 奶牛会展 DP 背包
P2340 奶牛会展 DP \(n\)头牛,每头牛有智商\(s[i]\)情商\(f[i]\),问如何从中选择几头牛使得智商情商之和最大 且 情商之和.智商之和非负 \(n\le 400,-10^3\l ...
- noi 9271 奶牛散步
题目链接:http://noi.openjudge.cn/ch0206/9271/ 同noi 踩方格,但是题目有问题,%12345,我也是看了discuss才知道的. #include <bit ...
- BZOJ_1616_[Usaco2008_Mar]_Cow_Travelling_游荡的奶牛_(DP)
描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1616 给出一张图,有些点不能走,给出起始点和结束点,以及时间,求在该时间到达结束点的方案数. ...
- [Usaco2008 Mar]Cow Travelling游荡的奶牛[简单DP]
Description 奶牛们在被划分成N行M列(2 <= N <= 100; 2 <= M <= 100)的草地上游走,试图找到整块草地中最美味的牧草.Farmer John ...
- USACO奶牛博览会(DP)
Description 奶牛想证明他们是聪明而风趣的.为此,贝西筹备了一个奶牛博览会,她已经对N头奶牛进行了面试,确定了每头奶牛的智商和情商. 贝西有权选择让哪些奶牛参加展览.由于负的智商或情商会造成 ...
- 【BZOJ】1616: [Usaco2008 Mar]Cow Travelling游荡的奶牛(dp/-bfs)
http://www.lydsy.com/JudgeOnline/problem.php?id=1616 我觉得bfs是可过的,但是交bfs上去是wa? 然后没办法看dp,原来这bfs能和dp联系在一 ...
- 【bzoj2060】[Usaco2010 Nov]Visiting Cows拜访奶牛 树形dp
题目描述 经过了几周的辛苦工作,贝茜终于迎来了一个假期.作为奶牛群中最会社交的牛,她希望去拜访N(1<=N<=50000)个朋友.这些朋友被标号为1..N.这些奶牛有一个不同寻常的交通系统 ...
- 【bzoj2272】[Usaco2011 Feb]Cowlphabet 奶牛文字 dp
题目描述 Like all bovines, Farmer John's cows speak the peculiar 'Cow'language. Like so many languages, ...
随机推荐
- Count PAT's (25) PAT甲级真题
题目分析: 由于本题字符串长度有10^5所以直接暴力是不可取的,猜测最后的算法应该是先预处理一下再走一层循环就能得到答案,所以本题的关键就在于这个预处理的过程,由于本题字符串匹配的内容的固定的PAT, ...
- Nginx 实现动态负载均衡(Nginx-1.10.1 + Consul v0.6.4)
一直也没有找到合适的类似Socat + Haproxy 的组合能用在Nginx,后来发现了Nginx的几个模块,但是也存在各种不足. 而且Nginx 在大流量的情况下nginx -s reload 是 ...
- 【ORA】 ORA-01031:权限不足的问题
今天创建一个用户,赋予dba权限,在plsql中选择sysdba登录,但是报错 ORA-01031 在网上找了好久最后的解决办法是 不仅仅要有dba权限 还要有这个权限: grant all priv ...
- JDK的各个版本
Java的各个版本 从上图我们看出,Java的版本名最开始以JDK开头,后来以j2se开头,最后到现在以Java开头,所以这些名字我们都可以说,但人们说的更多的是JDK多少,或者Java多少
- TCP三次握手Linux源码解析
TCP是面向连接的协议.面向连接的传输层协议在原点和重点之间建立了一条虚拟路径,同属于一个报文的所有报文段都沿着这条虚拟路径发送,为整个报文使用一条虚拟路径能够更容易地实施确认过程以及对损伤或者丢失报 ...
- Ubuntu18.04完全卸载mysql5.7并安装mysql8.0的安装方法
Ubuntu18.04版本下,如果直接输入: sudo apt install mysql-server 命令,会默认安装mysql5.7版本,安装过程并没有提示输入密码,安装完成后也无法正常登录,这 ...
- 太极图HTML+CSS(可旋转)代码记录
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- QQ刷屏助手
本人小学生,求大佬轻点儿 制作原因 原因很简单,还不是想报仇呗! 代码 1 # 原理是先将需要发送的文本放到剪贴板中,然后将剪贴板内容发送到qq窗口 2 # 之后模拟按键发送enter键发送消息 3 ...
- 理想的DevOp流程怎么做?看看Slack的代码部署实践 原创 Michael Deng 高可用架构 今天
理想的DevOp流程怎么做?看看Slack的代码部署实践 原创 Michael Deng 高可用架构 今天
- 指令集架构 x86-64 x86架构的64位拓展,向后兼容于16位及32位的x86架构
https://zh.wikipedia.org/wiki/X86 x86泛指一系列英特尔公司用于开发处理器的指令集架构,这类处理器最早为1978年面市的"Intel 8086"C ...