ICode9

精准搜索请尝试: 精确搜索
  • 洛谷 P4588 [TJOI2018]数学计算2022-06-26 22:01:21

    传送门 Description 现在有一个数 \(x\),初始值为 \(1\)。有 \(Q\) 次操作,操作有两种: \(1\) \(m\):将 \(x\) 变为 \(x \times m\),并输出 \(x \bmod M\) \(2\) \(pos\):将 \(x\) 变为 \(x\) 除以第 \(pos\) 次操作所乘的数(保证第 \(pos\) 次操作一定为类型 \(1\),对于每一个类型 \(1\)

  • P4588 [TJOI2018]数学计算 题解2022-05-19 16:31:25

    题面 考虑把操作时间当作下标建立线段树,每次操作要么是单点修改为 \(x\),要么是修改为 \(1\)。输出答案就是输出线段树根节点的答案。 点击查看代码 #include<iostream> #include<cstdio> using namespace std; const int N=1e5+13; int mod,pos[N]; struct SegTree{int l,r,mul;}

  • 洛谷P4588[TJOJ2018]数学计算2022-05-01 00:31:25

    题目链接   如果只是进行操作一的话,那就是很简单的操作每一次直接乘就好了,但是我们还要进行操作二:要把前某几次乘的数除掉,所以我们就需要把每一次乘的数都存储下来,且是按顺序的。我们可以想到用一个数组或者是\(vector\)来顺序存储。但是我们会发现,这样的话我们每一次输出的时候

  • (线段树) P4588 数学计算2022-04-29 02:00:25

    小豆现在有一个数 x,初始值为 1。小豆有 QQ 次操作,操作有两种类型: 1 m:将 x变为 x × m,并输出 x mod M 2 pos:将 x 变为 x 除以第 pos次操作所乘的数(保证第 pos 次操作一定为类型 1,对于每一个类型 1 的操作至多会被除一次),并输出 x mod M。   第一眼真的看不出来是个线

  • P4588 [TJOI2018]数学计算2022-02-05 19:02:02

    #include <bits/stdc++.h> #define LL long long using namespace std; const int N = 2e5 + 10; int T, n, m, p; int w[N]; struct node { int l, r; int mul; }tr[N << 2]; void pushup(int u) { tr[u].mul = (LL)tr[u << 1].mul * tr[u <

  • [解题记录] P4588 [TJOI2018]数学计算2022-01-22 08:00:07

    P4588 [TJOI2018]数学计算 题意简述 小豆现在有一个数 \(x\),初始值为 \(1\)。小豆有 \(Q\) 次操作,操作有两种类型: 1 m:将 \(x\) 变为 \(x \times m\),并输出 \(x \bmod M\) 2 pos:将 \(x\) 变为 \(x\) 除以第 \(pos\) 次操作所乘的数(保证第 \(pos\) 次操作一定为类型 \(1\),对于每一个

  • P4588 [TJOI2018]数学计算2021-09-25 16:00:07

    Jennie 显然可以模拟,但是谁会喜欢写高精和逆元呢? 需要撤销乘法操作,该怎么做呢 如果说一个个乘法结合起来的话,那么撤销就是把一个数变成1 那么就是一个线段树的问题了 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #define int long long using nam

  • 题解 【洛谷 P4588 [TJOI2018]数学计算】2021-09-09 21:01:07

    \(\large\mathcal{Description}\) 有一个数 \(x\),初始值为 \(1\). 有 \(Q\) 次操作,操作有两种类型: 1 m:将 \(x\) 变为 \(x \times m\),并输出 \(x \bmod M\). 2 pos:将 \(x\) 变为 \(x\) 除以第 \(pos\) 次操作所乘的数(保证第 \(pos\) 次操作一定为类型 \(1\),对于每一个类型 \(1\)

  • P4588 [TJOI2018]数学计算 题解2021-08-14 11:02:33

    Link P4588 [TJOI2018]数学计算 Solve 这道题初看没什么想法,然后想到每次去除一个以前出现过的数也许就等于撤销操作,然后每次只改动一个数,线段树就可以很好的完成这个效果,然后就是一个水题了,代码实现起来也不难 拿时间为线建一颗线段树,然后每次修改第\(i\)号位置上的值,最后求和的

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有