codeforces 797 E Array Queries
来源:互联网 发布:土木工程设计软件 编辑:程序博客网 时间:2024/06/05 09:07
本题的入手点在于分别考虑解决问题的难点,以及巧妙地暴力。
- 在不考虑
n 的数据规模的情况下,可以根据每个查询暴力解出答案(用变量的变化模拟p 的移动)。 - 在不考虑
k 的数据规模的情况下,可以进行动态规划。令d[i][j] 表示当前起始位置为i ,k 为j 的情况下需要多少步能够走出数组,那么按照i 从大到小的顺序DP 就能得到答案d[p][k] 。
但是本题的问题在于
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int maxn = 1e5 + 5;int dp[maxn][505], a[maxn], n, p, q, k;int calc(int p, int k){ int cnt = 0; while(p <= n) { cnt++; p = p + a[p] + k; } return cnt;}int main(){ scanf("%d", &n); for(int i = 1; i <= n; i++) scanf("%d", &a[i]); for(int i = n; i >= 1; i--) for(int j = 1; j <= 500; j++) { if(i+a[i]+j > n) dp[i][j] = 1; else dp[i][j] = dp[i+a[i]+j][j]+1; } scanf("%d", &q); while(q--) { scanf("%d%d", &p, &k); if(k <= 500) printf("%d\n", dp[p][k]); else printf("%d\n", calc(p, k)); } return 0;}
0 0
- codeforces 797 E Array Queries
- codeforces 797E Array Queries
- Codeforces 797E Array Queries
- Codeforces 797E Array Queries
- codeforces 797E Array Queries
- Codeforces 797E Array Queries 分块思想
- Codeforces-797E-Array Queries(dp)
- codeforces 797e Array Queries 部分dp+暴力
- CodeForces 266E More Queries to Array...
- Educational Codeforces Round 19 E. Array Queries
- Educational Codeforces Round 19-E. Array Queries
- Codeforces Round #163 (Div. 2) E. More Queries to Array...
- codeforces 266E More Queries to Array 线段树
- 【CodeForces】266E More Queries to Array... 线段树
- CodeForces 266E More Queries to Array... 线段树
- Educational Codeforces Round 19-E. Array Queries(简单dp)
- Educational Codeforces Round 19 E. Array Queries(分块)
- E. Array Queries
- unity vuforia在android真机调制
- SOAP Webservice与RESTFull Webservice之间的区别
- CH 0801
- 详解IP地址和Mac地址
- 4.22
- codeforces 797 E Array Queries
- 文本颜色
- Android动态加载技术三个关键问题详解
- JavaScript 3 变量及作用域
- Qt for Android UI设计
- redis-cluster和Spring集成,基于Cache注解
- learning-urdf-03
- 贪心之区域覆盖问题
- 严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderLis