牛牛的猜球游戏(动态规划+前缀影响)
Posted MangataTS
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了牛牛的猜球游戏(动态规划+前缀影响)相关的知识,希望对你有一定的参考价值。
题目连接
https://ac.nowcoder.com/acm/contest/19483/F
题面
思路
我们用一个 f [ i ] [ j ] f[i][j] f[i][j]表示第i个操作中第j个杯子中的球,因为我们不断地进行一个交换杯子的操作,所以我们会有一个前缀的影响,所以每次我们直接通过 r r r和 l − 1 l-1 l−1进行一个映射就好了
代码
#include<bits/stdc++.h>
using namespace std;
const int N = 1e5+10;
int dp[N][10];
int a[10];
int n,m;
int main()
scanf("%d%d",&n,&m);
int A,B;
for(int i = 0;i < 10; ++i) dp[0][i] = i;
for(int i = 1;i <= n; ++i)
scanf("%d%d",&A,&B);
for(int j = 0;j < 10; ++j)
dp[i][j] = dp[i-1][j];
swap(dp[i][A],dp[i][B]);
while(m--)
scanf("%d%d",&A,&B);
for(int i = 0;i < 10; ++i)
a[dp[A-1][i]] = i;
for(int i = 0;i < 10; ++i)
printf("%d%c",a[dp[B][i]],i==9?'\\n':' ');
return 0;
以上是关于牛牛的猜球游戏(动态规划+前缀影响)的主要内容,如果未能解决你的问题,请参考以下文章