Codeforces Round #174 (Div. 1) B. Cow Program(dp + 记忆化)
来源:互联网 发布:linux查看当前php版本 编辑:程序博客网 时间:2024/06/05 03:31
题目链接:http://codeforces.com/contest/283/problem/B
思路: dp[now][flag]表示现在在位置now,flag表示是接下来要做的步骤,然后根据题意记忆化搜索记忆,vis数组标记那些已经访问过的状态。
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#define REP(i, a, b) for (int i = (a); i < (b); ++i)#define FOR(i, a, b) for (int i = (a); i <= (b); ++i)using namespace std;const int MAX_N = (200000 + 100);long long dp[MAX_N][2];int vis[MAX_N][2];int N, a[MAX_N];long long dfs(int now, int dir){ if (now <= 0 || now > N) return 0; if (~dp[now][dir]) return dp[now][dir]; if (vis[now][dir]) return -1; vis[now][dir] = 1; long long res = dfs(dir ? now + a[now] : now - a[now], dir ^ 1); return dp[now][dir] = (res < 0 ? -1 : res + a[now]);}int main(){ while (cin >> N) { FOR(i, 2, N) cin >> a[i]; memset(dp, -1, sizeof(dp)); memset(vis, 0, sizeof(vis)); FOR(i, 1, N - 1) { long long ans = dfs(i + 1, 0); cout << (ans < 0 ? -1 : ans + i) << endl; } } return 0;}
0 0
- Codeforces Round #174 (Div. 1) B. Cow Program(dp + 记忆化)
- Codeforces Round #174 (Div. 2)---D. Cow Program(dp, 记忆化搜索)
- codeforces B. Cow Program (记忆化搜索)
- Codeforces Round #144 (Div. 1) B dp
- Codeforces Round #162 (Div. 1) B dp
- Codeforces Round #230 (Div. 1) B. Tower of Hanoi 记忆化搜索
- Codeforces Round #313 (Div. 1) E. Gerald and Path dp 记忆化搜索 stl应用
- codeforces Codeforces Round #130 (Div. 2) B 208B Solitaire 记忆化搜索
- Codeforces 284D Cow Program【思维+记忆化搜索】
- Codeforces Round #245 (Div. 1)B 递推DP
- Codeforces Round #145 (Div. 1, ACM-ICPC Rules)B dp
- Codeforces Round #157 (Div. 1)B 数位dp
- Codeforces Round #168 (Div. 1)B 树形dp
- Codeforces Round #240 (Div. 1)---B.Mashmokh and ACM(dp)
- Codeforces Round #278 (Div. 1) B. Strip(Dp+multiset维护)
- Codeforces Round #245 (Div. 1) -- B. Working out (DP)
- Codeforces Round #245 (Div. 1) B. Working out(DP)
- Codeforces Round #336 (Div. 1)-B. Zuma(区间dp)
- 线段树
- 《数据通信与网络》笔记--TCP中的拥塞控制
- 接触ZStack
- gcc/g++ 编译时的一个优化
- 改变Websphere中request编码
- Codeforces Round #174 (Div. 1) B. Cow Program(dp + 记忆化)
- 笔试题1
- 高性能网络编程6--reactor反应堆与定时器管理
- 微信电商——对阿里的致命一击
- 简要分析Uboot是如何启动内核!
- Mysql与Oracle区别
- 高性能网络编程7--tcp连接的内存使用
- 两个吻,我哭了一场
- linux下包含#include <math.h> #include <pthread.h>