牛牛的猜球游戏(动态规划+前缀影响)

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 l1进行一个映射就好了

代码

#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;

以上是关于牛牛的猜球游戏(动态规划+前缀影响)的主要内容,如果未能解决你的问题,请参考以下文章

AcWing 1913. 公平摄影(前缀和+STL)

2020牛客寒假算法基础集训营3——I.牛牛的汉诺塔记忆化

牛牛的背包问题

算法题之动态规划

牛牛的闹钟

谈谈Google与微信H5牛牛的Java开发规范