【组合数学 or 枚举】逆序对

news2024/10/6 18:32:25

C-逆序对_Wannafly挑战赛6 (nowcoder.com)

题意:

思路:

组合数学,无非两种做法,一种是计数DP,另一种是组合数

DP显然不可能,那就组合数

考虑组合数的时候可以把这道题变成一个枚举题

我们去枚举位,一共最多1e18位(不是指真的枚举,是按位去计算贡献)

对于一个位,贡献这样计算:

 化简一下就是(等差数列):

Code:

#include <bits/stdc++.h>
using namespace std;
#define int long long
const int mxn=1e6+10;
const int mxe=1e6+10;
const int mod=1e9+7;

int n;
int ksm(int a,int b){
    int res=1;
    while(b){
        if(b&1) res=(res*a)%mod;
        a=(a*a)%mod;
        b>>=1;
    }
    return res;
}
void solve(){
    cin>>n;
    if(n==0||n==1) cout<<0<<'\n';
    else if(n==2) cout<<1<<'\n';
    else cout<<(n%mod)*((n-1)%mod)%mod*ksm(2,n-3)%mod;
}
signed main(){
    ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    int __=1;//cin>>__;
    while(__--)solve();return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/725271.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android shader编译原理

作者&#xff1a;tmaczhang 1. 什么是着色器编译卡顿&#xff1f; 着色器是在 GPU&#xff08;图形处理单元&#xff09;上运行的代码。当 Flutter 渲染的 Skia 图形后端首次看到新的绘制命令序列时&#xff0c;它有时会生成和编译一个自定义的 GPU 着色器用于该命令序列。使得…

JAVA对象转xml(支持递归生成复杂数据类型)

前言 调用一些soap协议的项目你或许使用的到&#xff0c;也许我是在造轮子&#xff0c;但是我没在网上找到合适的轮子&#xff0c;就根据现有的项目自己造了一个&#xff0c;废话不说&#xff0c;说思路 使用反射获取对象的属性&#xff0c;根据属性的类型做出相应的处理&…

计算机体系结构基础知识介绍之缓存性能的十大进阶优化之编译器控制的预取和利用HBM扩展内存层次(七)

优化九&#xff1a;编译器控制的预取以减少丢失惩罚或丢失率 硬件预取的替代方案是编译器在处理器需要数据之前插入预取指令来请求数据。 预取有两种类型&#xff1a; ■ 寄存器预取将值加载到寄存器中。 ■ 高速缓存预取仅将数据加载到高速缓存。 这两种类型都可以分为有错…

k8s对象操作的了解

一&#xff1a;什么是Kubernetes对象 Kubernetes对象指的是Kubernetes系统的持久化实体&#xff0c;所有这些对象合起来&#xff0c;代表了你集群的实际情况。常规的应用里&#xff0c;我们把应用程序的数据存储在数据库中&#xff0c;Kubernetes将其数据以Kubernetes对象的形…

unity+pico neo3入门教程

安装unity&#xff0c;教程如下&#xff1a;unity2021安装教程 安装pico的SDK:: https://developer-cn.pico-interactive.com/ 有入门教程&#xff1a;导入 SDK - PICO 开发者平台 注册后组织&#xff0c;创建应用learntest&#xff0c;如下 下载SDK。下载最新版&#xff…

旧固态硬盘复制到新固态硬盘多出一个分区怎么办?

朋友电脑只有512G而且只有一个硬盘口&#xff0c;然后就买了一款1T硬盘&#xff0c;去店里回来之后发现多出一个分区&#xff0c;无法直接在系统里合并 这时候我们就需要下载第三方软件&#xff0c;删除多余分区&#xff0c;扩展C盘 软件下载链接&#xff1a; DiskGenius.rar…

Stable Diffusion 用插件管理NNN个模型

当初步涉足 Stable Diffusion&#xff0c;可能会被各种新概念和模型搞得头大。好比我们作为新晋的魔法师&#xff0c;需要理解如何巧妙使用各种法师装备——也就是这些模型&#xff0c;以更好地应对问题&#xff0c;发挥出最大效果。 要了解一个被称为 safetensors 的概念。这…

TRACE请求造成XSS

漏洞描述 远端WWW服务支持TRACE请求。RFC 2616介绍了TRACE请求&#xff0c;该请求典型地用于测试HTTP协议实现。 漏洞危害 攻击者利用TRACE请求&#xff0c;结合其它浏览器端漏洞&#xff0c;有可能进行跨站脚本攻击&#xff0c;获取敏感信息&#xff0c;比如cookie中的认证信…

如何用思维导图规划旅行

又到了一年一度的旅游旺季&#xff0c;旅游是一件令人愉悦又放松的事情。合理的规划旅游不仅可以保证旅行的顺利进行。还可以帮助我们提前了解旅游地的信息&#xff0c;比如当地的民俗、文化、天气等等。特别的正值旅游旺季的时候&#xff0c;一份合理的规划&#xff0c;可以帮…

【IMX6ULL - LOGO替换】uboot阶段替换打印的开发板Logo教程

替换Board: I.MX6U VSTC,将其显示为Board: I.MX6U ALIENTEK (1)修改 uboot/board/freescale/mx6ullevk 路径下的 mx6ullevk.c 文件内容: int checkboard(void) {if (is_mx6ull_9x9_evk())puts(

ARM_串口解析器

include/serial.h #ifndef __UART4_H__ #define __UART4_H__#include "stm32mp1xx_rcc.h" #include "stm32mp1xx_gpio.h" #include "stm32mp1xx_uart.h"//引脚封装 #define GPIO_PIN_0 0 #define GPIO_PIN_1 1 #define GPIO_PIN_2 2 #define GP…

当你知道前后端分离与不分离的6个特点,你就不该再当点工了!

前后端不分离 在早期&#xff0c;Web 应用开发主要采用前后端不分离的方式&#xff0c;它是以后端直接渲染模板完成响应为主的一种开发模式。以前后端不分离方式开发的 Web 应用的架构图如下&#xff1a; 浏览器向服务器发起请求&#xff0c;服务器接收到请求后去数据库中获取…

大数据之数据采集项目延伸——sqoop

承接上篇文章 大数据之数据采集项目总结——hadoop&#xff0c;hive&#xff0c;openresty&#xff0c;frcp&#xff0c;nginx&#xff0c;flume https://blog.csdn.net/qq_43759478/article/details/131520375?spm1001.2014.3001.5501 在上个阶段&#xff1a;完成了数据收集&…

查找满足条件的文件

linux 系统下查询当前多个子目录下满足条件的文件 find ./ -mindepth 2 -name *.png

attention中为啥multi-head输出结果进行concat,得到x,x还要乘上一个WO矩阵?

刚刚在敲vit模型代码&#xff0c;突然一个疑问&#xff0c;就是multi-head输出结果进行concat&#xff0c;得到x&#xff0c;x的维度是预期维度&#xff0c;然后再乘以一个WO矩阵&#xff0c;为啥要乘上一个WO矩阵&#xff0c;x的维度已经是预期的了&#xff1f;&#xff1f;&a…

C#基础学习_类的方法

C#基础学习_类的方法 概念:描述对象的动态特征 类型:实例方法、静态方法等 方法的定义: 访问修饰符(默认为private) 返回值类型 方法名(类型 参数1,类型 参数2,...) {//这里编写方法的主体(功能实现的具体过程)return 返回值; //若没有返回值,则不需要写该语句 }

2023年第四届“华数杯”全国大学生数学建模竞赛(附历年赛题和论文)

目录 华数杯简介大赛资料获取方式 华数杯简介 国赛前的预热”华数杯“第四届正在报名中&#xff0c;看到咨询我们的同学不少&#xff0c;挺多同学都非常感兴趣&#xff0c;但是又不清楚比赛的相关情况&#xff0c;这里将会给同学们一一答疑。 比赛难度&#xff1a;难度适中&am…

【面试常见】JS继承与原型、原型链

前后端面试题库 &#xff08;面试必备&#xff09; 推荐&#xff1a;★★★★★ 地址&#xff1a;前端面试题库 web前端面试题库 VS java后端面试题库大全 在 JavaScript 中&#xff0c;继承是实现代码复用和构建对象关系的重要概念。本文将讨论原型链继承、构造函数继承以及…

QML Canvas 制作动画

作者: 一去、二三里 个人微信号: iwaleon 微信公众号: 高效程序员 终于要介绍动画了,这意味着我们快要把 Canvas 学完了,所以是时候庆祝一下了… 要在 Canvas 上实现动画,需要间隔一定的时间重绘动画的下一帧,而且频率要足够快,这样才能在图像切换时看起来像动画一样。…

一篇文章让你搞懂字符指针,数组指针,指针数组,数组传参和指针传参,函数指针

回顾 首先我们来大概回顾一下指针初阶的知识 内存会划分为一个个的内存单元&#xff0c;每个内存单元都有一个独立的编号—编号也被称为地址&#xff0c;地址在C语言中也被称为指针&#xff0c;指针&#xff08;地址&#xff09;需要存储起来—存储到变量中&#xff0c;这个变…