首页 > 其他分享 >[置换 前缀和]牛牛的猜球游戏

[置换 前缀和]牛牛的猜球游戏

时间:2022-11-25 20:03:09浏览次数:64  
标签:10 前缀 映射 牛牛 int 猜球 序列 操作


[置换 前缀和]牛牛的猜球游戏

题目

[置换 前缀和]牛牛的猜球游戏_算法

思路

参考​​这篇题解​​​ 代码很简易,但是感觉还是有点难想到awa
对于广义的前缀和来说,sum[r]就是到第r次操作为止,操作累积造成的影响。接下来思考如何取消前缀置换操作的影响,从而完成区间查询操作。

[置换 前缀和]牛牛的猜球游戏_c语言_02

把置换操作看作映射,可以发现把映射出来的序列再做两次映射后会回到原来的序列,这样相当于取消了第一次映射的影响,考虑如何用代码实现。映射实际上是对序列重新赋值,那么取消前缀操作相当于把第l-1次操作后的序列当作起始序列。

本题前缀和的+和-都表现为重新赋值,等号就实现了映射的过程。

[置换 前缀和]牛牛的猜球游戏_c语言_03

代码

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int n,m;
int f[N][10],sum[10];
int main(){
cin>>n>>m;
for(int i=0;i<10;i++) f[0][i]=i;//初始序列为0~9
for(int i=1;i<=n;i++){//记录1~n号操作的量
int a,b;
cin>>a>>b;
for(int j=0;j<10;j++) f[i][j]=f[i-1][j];//f存到第i次操作为止,位置j上的数
swap(f[i][a],f[i][b]);
}
while(m--){
int l,r;
cin>>l>>r;
for(int i=0;i<10;i++) sum[f[l-1][i]]=i;//取消1~l-1的操作
for(int i=0;i<10;i++) printf("%d ",sum[f[r][i]]);
printf("\n");
}
return 0;
}


标签:10,前缀,映射,牛牛,int,猜球,序列,操作
From: https://blog.51cto.com/u_15891800/5887706

相关文章

  • P5369 [PKUSC2018]最大前缀和
    P5369[PKUSC2018]最大前缀和题目要我们求每一种排列的最大前缀和,不妨考虑先确定最大前缀和,再计算它的方案数,设\(U\)为全集,那么答案就为\(\sum_{S\subseteqU}sum[S]*f......
  • [NEFU ACM大一暑假集训 解题报告]前缀和与差分
    [NEFUACM大一暑假集训解题报告]前缀和与差分题量略大,所以解题报告和fjy大佬分了一下工由我负责A-K部分题解(不是AK部分题解啊,哈哈)后半部分题解(LM+R~V+XYZ)由fjy大佬发布......
  • 212. 单词搜索 II(字典树/前缀树)
    给定一个 mxn 二维字符网格 board 和一个单词(字符串)列表 words, 返回所有二维网格上的单词 。单词必须按照字母顺序,通过 相邻的单元格 内的字母构成,其中“相邻......
  • 2022NOIP A层联测33 GCD 简单题 建筑 树上前缀和
    T1:[图论/枚举]给出有边权无向图,边权保证互不相同,Q次询问从S到T的路径中,边权的gcd最大是多少。(n<=1e4,Q<=2e5,w<=1e6)考场根据之前的一道图论题经验,在最短路上加个“\(w......
  • TM4C123G学习记录(4)--关于ROM前缀函数和HWREG函数
    为了准备电赛临时学一下TM4C123G,简单记录学习内容大家可以在​​这里​​下载我收集的资源,非常全面,花了很大功夫收集来的,还有书籍、例程代码等还可以在TI官网下载相关文档​......
  • 牛客小白月赛61 F 尺取法 前缀和
    题目的描述是多维的即有人数限制又有座位限制。但是每次选座位是连续的,这意味着可以利用尺取法贪心的求出以每个左端点为起始最小的合法的右端点。考虑如何求f(x)即x人......
  • leetcode_Day1_14最长公共前缀
    1.题目  2.解一  主要思路:横向比较,字符串数组的公共前缀等于前两个字符串的公共前缀与第三个字符串比较,再与第四个比较。即依次遍历字符串数组中的每个字符串,对......
  • 1732. 找到最高海拔 ----- 简单模拟、差分数组前缀和
    有一个自行车手打算进行一场公路骑行,这条路线总共由 n+1 个不同海拔的点组成。自行车手从海拔为0 的点 0 开始骑行。给你一个长度为n 的整数数组 gain ,其中g......
  • 前缀和
    目录简介应用应用1:Leetcode.303题目分析代码实现应用2:Leetcode.523题目分析代码实现简介求区间和,一般的思路都是利用前缀和的思想。应用应用1:Leetcode.303题目303.区......
  • MySQL 索引最左前缀原则失效?
    测试索引最左前缀原则,发现缺失带头索引后,索引还是生效的。一、测试创建测试表CREATETABLE`user`(`id`bigint(20)NOTNULLAUTO_INCREMENTCOMMENT'主键',......