P5367 【模板】康托展开【树状数组优化】

2023-11-08

题目链接


#include <iostream>
#include <cstdio>
#include <cmath>
#include <string>
#include <cstring>
#include <algorithm>
#include <limits>
#include <vector>
#include <stack>
#include <queue>
#include <set>
#include <map>
#define lowbit(x) ( x&(-x) )
#define pi 3.141592653589793
#define e 2.718281828459045
#define INF 0x3f3f3f3f
#define HalF (l + r)>>1
#define lsn rt<<1
#define rsn rt<<1|1
#define Lson lsn, l, mid
#define Rson rsn, mid+1, r
#define QL Lson, ql, qr
#define QR Rson, ql, qr
#define myself rt, l, r
using namespace std;
typedef unsigned long long ull;
typedef long long ll;
const ll mod = 998244353;
const int maxN = 1e6 + 7;
int trie[maxN], N;
inline void add(int i)
{
    while(i <= N)
    {
        trie[i]++;
        i += lowbit(i);
    }
}
inline ll query(int x)
{
    ll ans = 0;
    while(x)
    {
        ans += trie[x];
        x -= lowbit(x);
    }
    return ans;
}
ll jc[maxN];
ll Cantor(int len, int *a)
{
    ll tmp, ans = 0;
    for(int i=len-1; i>=0; i--)
    {
        tmp = query(a[i]);
        ans += tmp * jc[len - i - 1]%mod;
        ans %= mod;
        add(a[i]);
    }
    return (ans + 1) % mod;
}
int s[maxN];
int main()
{
    jc[0] = jc[1] = 1;
    for(ll i=2; i<maxN; i++) jc[i] = jc[i-1] * i % mod;
    scanf("%d", &N);
    for(int i=0; i<N; i++) scanf("%d", &s[i]);
    printf("%lld\n", Cantor(N, s));
    return 0;
}

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

P5367 【模板】康托展开【树状数组优化】 的相关文章

  • 中国剩余定理(孙子定理)

    看了很多博客始终没弄明白中国剩余定理到底是怎么算出来的 看孙子的话完全是一脸懵逼啊 还好有这个博客大神的博客Orz 真的讲的特别清晰 点赞点赞 下面会用到的数学公式 如果a b c 那么如果x b c 2 此时x a 2 也就是说除数相等时
  • 基础算法题——Harder Gcd Problem(数论、思维)

    题目 题目链接 给定一个 n 将 2 n 内的数进行一对一匹配 每个数仅能利用一次 假设 a 与 b 匹配 则 gcd a b 1 现求 2 n 内最大匹配数量 并输出匹配数对 输入 T代表输入组数 下面T行 每一行一个数字n 输出 输出最
  • 数论-欧拉函数

    欧拉函数 在数论 对正整数n 欧拉函数是小于n的正整数中与n互质的数的数目 1 1 此函数以其首名研究者欧拉命名 Euler s totient function 它又称为Euler s totient function 函数 欧拉商数等
  • 数论中的欧拉函数

    在数论中 对于一正整数 n n n 欧拉函数 n varphi n n 定义为
  • POJ 2689 Prime Distance(素数区间筛法--经典题)

    大致题意 给定 L R 区间 找出区间内的每个素数 数据范围 1 lt L lt R lt 2 147 483 647 R L lt 1 000 000 R的数值太大 所以不能直接筛 0 R 的 要空间和时间优化 用到区间筛法 另外注意不能
  • 欧拉降幂公式

    欧拉降幂公式 a b a b equiv ab a b
  • AcWing 196. 质数距离 二次筛法

    题 想求231 1范围的质数距离 那么我们可以求5e4范围中的所有质数 然后这些质数可以组成2 231 1中的所有合数 打表求5e4范围中的质数 用类似埃氏筛的方法把l到r的所有质数筛出来 由于差值不会超过 106 可以O n 扫描一遍求距
  • P2524 Uim的情人节礼物·其之弐【康托展开模板题】

    题目链接 我在这里加了树状数组来优化康托展开 但是这道题的数据其实很小 不需要加也是可以的 include
  • 牛客周赛 Round 4---游游的因子计算

    输入 6 2 输出 6 1 2 3 4 6 12 解析 如果一个数 x 是 a 的因子 y是b的因子 那么x y一定是a b的因子 试除法分别获取a和b的因子 然后两层遍历的所有 a i b j 的所有情况即为答案 include
  • 八数码问题【康托展开+BFS】

    Vijos 题库 八数码问题 背景 Yours和zero在研究A 启发式算法 拿到一道经典的A 问题 但是他们不会做 请你帮他们 描述 在3 3的棋盘上 摆有八个棋子 每个棋子上标有1至8的某一数字 棋盘中留有一个空格 空格用0来表示 空格
  • 【BZOJ 2219】【超详细题解】数论之神

    2219 数论之神 Time Limit 3 Sec Memory Limit 259 MB Submit 365 Solved 33 Submit Status Discuss Description 在ACM DIY群中 有一位叫做 傻
  • 因子【Wannafly挑战赛25 A】

    题目链接 思路 遇到N 这样的大数很显然是没办法直接去处理的 题目中告诉我们的已知是 N P k 0与 N P k 1 0 怎么处理N 是一个很复杂的事情 那我们从P开始考虑 尝试着将P拆成几个质因子的乘积形式 例如12可以拆成2 2 3的
  • 蓝桥杯真题:质数拆分

    这里 若干两两不同的质数之和 这里其实很容易想到首先我们要求出2019内的所有质数 这个打个表就好了 其次两两不同 我们应该要想到动态规划 这里设dp i j 表示前i个质数 可以两两不同加起来等于j的方案数 如果当前j gt prime
  • 机器人走方格 V2【数论】【组合】【费马小定理】

    M N的方格 一个机器人从左上走到右下 只能向右或向下走 有多少种不同的走法 由于方法数量可能很大 只需要输出Mod 10 9 7的结果 Input 第1行 2个数M N 中间用空格隔开 2 lt m n lt 1000000 Output
  • 给定一个字符串求出最长重复子串

    主要是使用到了二分的思想 知道字符串就是知道了它的长度 然后可知len max s length 2 然后暴力枚举就可以得出答案 代码如下 include
  • Integration【2019牛客暑期多校训练营(第一场)B】【待定系数法】

    链接 https ac nowcoder com acm contest 881 B 来源 牛客网 题目描述 Bobo knows that 011 x2 dx 2 0 11 x2 dx 2 Given n distinct positiv
  • 最大比例

    题目描述 解析 接下来就是求解k和p的过程 在这道题中很难使用欧几里得算法就求解最大公约数 因此尝试使用另一种方法 更相减损术 循环相减法 如果要使用欧几里得算法的话 就需要开一个非常复杂的根号 非常难算 代码 include
  • AcWing 1223. 最大比例 指数的最大公约数

    AcWing 1223 最大比例 X星球的某个大奖赛设了 M 级奖励 每个级别的奖金是一个正整数 并且 相邻的两个级别间的比例是个固定值 也就是说 所有级别的奖金数构成了一个等比数列 比如 16 24 36 54 其等比值为 3 2 现在
  • 【数论基础】—— 二项式定理

    二项式定理 内容 x y n
  • 阶乘质因子分解(唯一分解定理)

    阶乘质因子分解 题目描述 对N 进行质因子分解 输入输出格式 输入格式 输入数据仅有一行包含一个正整数N N lt 10000 输出格式 输出数据包含若干行 每行两个正整数p a 中间用一个空格隔开 表示N 包含a个质因子p 要求按p的值从

随机推荐

  • 企业网站搭建:如何规划内容?

    企业网站是企业展示自身形象和产品的重要渠道 搭建一个优质的企业网站可以提高企业的知名度 品牌价值和业务转化率 企业网站的内容规划非常重要 好的内容规划可以帮助企业更好地向用户展示自己 并提高用户体验 以下是一些关于企业网站内容规划的建议 1
  • jquery插件无缝滚动通知栏js特效

    下载地址 一款实用的jquery插件无缝滚动网页 常见的通知栏滚动播报特效 dd
  • Element-UI踩坑之Pagination组件

    先说结论 在改变pageSize时 若当前的currentPage超过了最大有效值 就会修改为最大有效值 一般Pagination组件的声明如下
  • FinalShell上传文件失败

    本地电脑创建虚拟机 使用FinalShell连接虚拟机 上传文件失败 解决办法 使用root账户连接 不要使用普通账户
  • SpringBoot-黑马-笔记

    SpringBoot 是由 Pivotal 团队提供的全新框架 其设计目的是用来简化 Spring 应用的初始搭建以及开发过程 目录 1 SpringBoot快速入门 起步依赖 程序启动 2 配置文件 yaml配置文件数据读取 多环境配置
  • 万字因果推断入门:为什么要做因果推断?

    来源 PaperWeekly 1 为什么需要因果推断 1 1 辛普森悖论 首先 考虑一个与现实情况很相关的例子 针对某种新冠病毒 COVID 27 假设有两种疗法 方案 A 和方案 B B 比 A 更稀缺 耗费的医疗资源更多 因此目前接受方
  • APP爬虫入门,Appium+Mitmproxy强势组合实现抖音的数据爬取

    APP爬虫入门 Appium Mitmproxy强势组合实现抖音的数据爬取 最近一直在研究APP的爬虫实现 前面文章讲了虚拟机和Appium环境的搭建 和 SSL PINNING的解决方法 主要难点在于解决APP开启SSL Pinning导
  • property received type-uncompatible value: expected <Array> but got non-array value.

    Component property received type uncompatible value expected
  • JSP基础总结+例题

    1 什么是JSP Java Server Pages 1 1概述 简化的Servlet设计 在HTML标签中嵌套Java代码 用以更新开发Web应用的动态网页 JSP文件在容器中会转换成Servlet执行 JSP是对Servlet的一种高级
  • 笔记记录--Docker使用WVP-Pro网络视频平台

    1 Docker拉取镜像 镜像地址 docker镜像地址 docker pull 648540858 wvp pro docker run env WVP IP 192 168 18 61 it p 18080 18080 p 30000
  • Ag-grid在vue中使用的必要属性

    文档链接 id myGrid 唯一标识 gridReady 渲染完成后的事件 defaultColDef this defaultColDef 默认定义 所有的列都有的属性 context this context componentPar
  • 阿里巴巴——三面,面试经历记录

    在 boss 直聘上无意间看到了阿里巴巴菜鸟网络的招聘信息 现在的部门已经有两名同学被蚂蚁金服录取了 自己就不服气的也想试试 这次面试其实并没有准备充分 之前就听说总共有很多轮数 不仅会考察基础知识的深度 也会考察算法能力 项目设计能力 价
  • 精准测试之过程与实践

    作者 京东工业 宛煜昕 一 怎样的技术 百度百科 精准测试是一套计算机测试辅助分析系统 精准测试的核心组件包含的软件测试示波器 用例和代码的双向追溯 智能回归测试用例选取 覆盖率分析 缺陷定位 测试用例聚类分析 测试用例自动生成系统 这些功
  • image caption问题为什么需要spatial attention

    参考论文 SCA CNN Spatial and Channel wise Attention in Convolutional Networks for Image Captioning image caption是一个image to
  • android 经纬度 谷歌,android:GPS获取location经纬度并用谷歌解析为地理位置名称

    实现的功能 先获取本地的经纬度 再根据经纬度 请求googleapis来解析地理位置名称 下面的例子 能够跑起来 亲测 多说无益 看码 首先搞一个布局 其实就是一个textView 一个button 点击button后 在textview展
  • python3 赋值列表sort打印出None的解决方法

    d 42 62 78 19 13 53 67 35 sort print d d 42 62 78 19 13 53 67 35 print d sort 结果如下 None None 列表创建了之后 执行列表排序 不在变量里排序 因为so
  • python 大学排行网站全部排行数据

    RANKINGS CRAWLER 中国大学排名 中国两岸四地排名 全球体育类院系大学排行 世界大学学术排名 中国最好学科排名 中国大学专业排名 世界一流学科排名 每个专业学科排行都有 方法跟实际代码有变动 方法一 获取中国大学排名 中国两岸
  • js逆向-某市公共资源交易网

    目标网站首页 aHR0cDovL2dnenkuendmd2IudGouZ292LmNu 分析页面 aHR0cDovL2dnenkuendmd2IudGouZ292LmNuL3h3engvaW5kZXhfMi5qaHRtbA 话不多说 开始今
  • 使用systemctl命令启动和关闭mysql

    以前都用service命令管理mysql 现在liunx系统升级了 又有了新的更好的方法管理系统进程 现在我们来学习如何用systemctl命令管理mysql Systemctl是一个systemd工具 主要负责控制systemd系统和服务
  • P5367 【模板】康托展开【树状数组优化】

    题目链接 include