【枚举+推式子】牛客小白月赛 63 E
登录—专业IT笔试面试备考平台_牛客网
题意:
思路:
首先是个计数问题,考虑组合数学
组合数学就是在考虑枚举所有包含1和n的区间
这个典中典就是枚举1和n的位置然后算贡献
双指针超时,考虑推式子:
Code:
#include <bits/stdc++.h>#define int long longusing i64 = long long;using namespace std;constexpr int N = 1e6 + 10;
constexpr int M = 1e6 + 10;
constexpr int mod = 998244353;int Fac[N];int qpow(int a, int b) {int res = 1ll;while(b) {if (b & 1) res = res * a % mod;a = a * a % mod;b >>= 1;}return res;
}
void solve() {int n;cin >> n;if (n == 1) {cout << 1 << "\n";return;}Fac[0] = 1;for (int i = 1; i <= n; i ++) Fac[i] = (Fac[i - 1] * i) % mod;int ans = 0;int inv2 = qpow(2, mod - 2);for (int i = 2; i <= n; i ++) {ans += (i * (i - 1) % mod * inv2 % mod) % mod * (n - i + 1) % mod;ans %= mod;}cout << (ans * Fac[n - 2] % mod * 2 % mod) % mod << "\n";
}
signed main() {std::ios::sync_with_stdio(false);std::cin.tie(nullptr);int t = 1;while(t --) {solve();}return 0;
}
相关文章:

【枚举+推式子】牛客小白月赛 63 E
登录—专业IT笔试面试备考平台_牛客网 题意: 思路: 首先是个计数问题,考虑组合数学 组合数学就是在考虑枚举所有包含1和n的区间 这个典中典就是枚举1和n的位置然后算贡献 双指针超时,考虑推式子: Code:…...

Android多屏幕支持-Android12
Android多屏幕支持-Android12 1、概览及相关文章2、屏幕窗口配置2.1 配置xml文件2.2 DisplayInfo#uniqueId 屏幕标识2.3 adb查看信息 3、配置文件解析3.1 xml字段读取3.2 简要时序图 4、每屏幕焦点 android12-release 1、概览及相关文章 AOSP > 文档 > 心主题 > 多屏…...
python环境下载安装教程,python运行环境怎么下载
本篇文章给大家谈谈python安装步骤以及环境变量配置,以及下载python需要设置环境变量吗,希望对各位有所帮助,不要忘了收藏本站喔。 1.https://www.python.org/downloads/windows/ 下载适合自己电脑的python安装包 2.下载后安装即可 3.配置环…...

【0.2】lubancat鲁班猫4远程ubuntu22.04.2 无需任何安装
环境 lubancat4鲁班猫4 (4G0)不带emmc 系统镜像ubuntu-22.04.2-desktop-arm64-lubancat-4.img 网络环境:有线网络与本win10电脑同意环境 操作步骤ubuntu正常开机登陆用户,连接好网络进入设置>网络查看设备当前局域网IP 如192.168.199.159进入设置>共享>远程…...
Flutter 状态管理 Provider
状态管理必要性 Flutter基于声明式构建UI,原生则是命令式,状态管理是用于解决声明式开发带来的问题。 例:命令式的原生,数据更新需要拿到对应控件并更改其显示值;而声明式则需要更改数据值并通过setstate更新状态&am…...

【设计模式】观察者模式
什么是观察者模式? 观察者模式(又被称为发布-订阅(Publish/Subscribe)模式,属于行为型模式的一种,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态…...

ORCA优化器浅析——CDXLOperator Base class for operators in a DXL tree
如上图所示,CDXLOperator作为Base class for operators in a DXL tree,其子类CDXLLogical、CDXLScalar、CDXLPhysical作为逻辑节点、物理节点和Scalar节点的DXL表示类,因此其包含了这些类的共同部分特性,比如获取其DXL节点表示的函…...

go入门实践四-go实现一个简单的tcp-socks5代理服务
文章目录 前言socks协议简介go实现一个简单的socks5代理运行与压测抓包验证 前言 SOCKS是一种网络传输协议,主要用于客户端与外网服务器之间通讯的中间传递。协议在应用层和传输层之间。 本文使用先了解socks协议。然后实现一个socks5的tcp代理服务端。最后&#…...

div 中元素居中的N种常用方法
本文主要记录几种常用的div盒子水平垂直都居中的方法。本文主要参考了该篇博文并实践加以记录说明以加深理解记忆 css之div盒子居中常用方法大全 本文例子使用的 html body结构下的div 盒子模型如下: <body><div class"container"><div c…...

Java获取指定文件夹下目录下所有视频并复制到另一个地方
import java.io.File; import java.io.IOException; import java.nio.file.Files; import java.nio.file.StandardCopyOption;public class VideoCopier {public static void main(String[] args) {// 指定源文件夹路径和目标文件夹路径String sourceFolderPath "path/to…...

windows server 2016 搭建使用 svn 服务器教程
参考教程: https://zhuanlan.zhihu.com/p/428552058 https://blog.csdn.net/weixin_33897722/article/details/85602029 配置环境 windows server 2016 远程服务器公网 ip 安装 SVN 服务端 下载 svn 服务端安装包:https://www.visualsvn.com/download…...

【Python】如何判断时间序列数据是否为平稳时间序列或非平稳时间序列?
判断时间序列数据是否为平稳时间序列或非平稳时间序列,通常可以通过以下方法: (1)观察时间序列数据的均值和方差是否随时间变化而发生明显的改变。若均值和方差变化明显,则该时间序列数据可能为非平稳时间序列&#x…...

Labview控制APx(Audio Precision)进行测试测量(六)
用 LabVIEW 驱动 VIs生成任意波形 在 APx500 应用程序中,默认波形类型为正弦。这是指 APx 内置的正弦发生器,根据信号路径设置,许多测量还允许其他内置波形,如方波,分裂正弦波或分裂相位,以及使用导入的。w…...
【Linux】网络协议总结
目录 网络协议总结 应用层 传输层 网络层 数据链路层 网络协议总结 应用层 应用层的作用:负责应用程序间沟通,完成一系列业务处理所需服务。能够根据自己的需求,设计对应的应用层协议。了解HTTP协议。理解DNS的原理和工作流程。 传…...
如何轻松注册企业邮箱?快速掌握超简单的注册技巧!
随着互联网的发展,越来越多的企业开始使用电子邮件作为通信工具。企业邮箱不仅可以提高企业的工作效率,还可以使企业通信更加便捷、保密性更高。那么,企业邮箱怎么注册申请呢?下面我们来详细介绍一下。 第一步:选择邮箱…...
【行为型设计模式】C#设计模式之观察者模式
题目:假设你正在开发一个简单的新闻发布系统,该系统允许用户订阅不同的新闻频道,并在有新闻发布时向订阅者发送通知。使用观察者模式设计和实现该系统。观察者模式的相关概念和定义: 观察者模式是一种行为设计模式,它定…...
《Java面向对象程序设计》学习笔记——第 8 章 设计模式
专栏:《Java面向对象程序设计》学习笔记 第 8 章 设计模式 一个好的设计系统往往是易维护、易扩展、易复用的。 8.1 设计模式简介 8.1.1 什么是设计模式 一个设计模式 (pattern) 是针对某一类问题的最佳解决方案,而且己经被成功应用于许多系统的设…...
Java学习笔记28——字节流1
IO流概述和分类 IO流IO流的分类字节流字节流写数据FileOutputStream字节流写数据的三种方式字节流写数据的两个问题字节流写数据加异常处理 IO流 IO:输入输出 流:一种抽象的概念,是对数据传输的总称,流的本质就是数据传输 IO流的…...
C++连接串口方式(MFC版本)(简单版本)
ComSerialPort.h /*_________________________串口________________________________*/class Com_SerialPort { public:Com_SerialPort();Com_SerialPort(int port, int baudRate, int byteSize, int parity, int stopBits);~Com_SerialPort(); public:bool Connect(bool bMut…...

ospf重发布
华子目录 一、实验拓扑二、实验要求三、实验思路1、配置接口IP地址以及环回地址(以此类推)2、配置动态路由协议3、重发布4、更改接口类型5、配置路由策略 一、实验拓扑 二、实验要求 1、使用双点双向重发布2、所有路由器进行最佳选路3、存在备份路径&am…...
springboot的test模块使用Autowired注入失败
springboot的test模块使用Autowired注入失败的原因: 注入失败的原因可能是用了junit4的包的Test注解 import org.junit.Test;解决方法:再加上RunWith(SpringRunner.class)注解即可 或者把Test由junit4改成junit5的注解,就不用加上RunWith&…...

最新Spring Security实战教程(十七)企业级安全方案设计 - 多因素认证(MFA)实现
🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Micro麦可乐的博客 🐥《Docker实操教程》专栏以最新的Centos版本为基础进行Docker实操教程,入门到实战 🌺《RabbitMQ》…...

win32相关(远程线程和远程线程注入)
远程线程和远程线程注入 CreateRemoteThread函数 作用:创建在另一个进程的虚拟地址空间中运行的线程 HANDLE CreateRemoteThread([in] HANDLE hProcess, // 需要在哪个进程中创建线程[in] LPSECURITY_ATTRIBUTES lpThreadAttributes, // 安全…...
多系统一键打包docker compose下所有镜像并且使用
本方法适合在已经pull好docker镜像正常使用的机器 将环境迁移到无网络 或者网络不好的机器使用 linux 用法 cd 到 docker-compose.yml 所在目录 ./save_compose_images.sh #!/bin/bash # 拉取镜像并保存为 .tar 文件 docker save $(docker-compose images | awk {print…...

NVIDIA DRIVE AGX平台:引领智能驾驶安全新时代
随着科技的不断进步,汽车行业正迎来前所未有的变革,智能驾驶技术成为全球产业竞相布局的焦点之一。然而,这场技术革命的背后,最关键且被广泛关注的是安全性问题。近日,我认真研读了NVIDIA发布的《自动驾驶安全报告》白…...
win中将pdf转为图片
0 资料 博客 1 正文 直接使用这个软件即可https://sourceforge.net/projects/pkpdfconverter/...
JavaSec-SPEL - 表达式注入
简介 SPEL(Spring Expression Language):SPEL是Spring表达式语言,允许在运行时动态查询和操作对象属性、调用方法等,类似于Struts2中的OGNL表达式。当参数未经过滤时,攻击者可以注入恶意的SPEL表达式,从而执行任意代码…...
javascript中Cookie、BOM、DOM的使用
Cookie 在客户端存储小型文本数据(通常 ≤ 4KB),常用于会话管理、个性化设置等场景。 名称描述作用生命周期存储位置安全性会话 Cookie临时存储,浏览器关闭后自动删除会话管理、个性化设置浏览器关闭内存高持久 Cookie设置过期时…...

Hubstudio浏览器如何使用Loongproxy?
1. 使用软件 1.1 Loongproxy 1. 顶级ISP资源:Loongproxy是神龙云旗下品牌,依托与全球领先ISP运营商的深度合作,Loongproxy 精选全球优质静态住宅IP资源。 2. IP池庞大:覆盖 100 国家/地区,构建庞大的 70 万 静态IP池…...

vscode自定义主题语法及流程
vscode c/c 主题 DIY 启用自己的主题(最后步骤) 重启生效 手把手教你制作 在C:\Users\jlh.vscode\extensions下自己创建一个文件夹 里面有两个文件一个文件夹 package.json: {"name":"theme-jlh","displayName":"%displayName%&qu…...