Codeforces Round #779 B. Marin and Anti-coprime Permutation

3dMax脚本类插件:不写 C++也能造“原生”工具 从plugin关键字到场景持久化,拆解 MAXScript 插件开发全流程! 阅读详情

B. Marin and Anti-coprime Permutation

time limit per test

1 second

memory limit per test

256 megabytes

input

standard input

output

standard output

Marin wants you to count number of permutations that are beautiful. A beautiful permutation of length n is a permutation that has the following property:

gcd ⁡ ( 1 ⋅ p 1 ,   2 ⋅ p 2 ,   … ,   n ⋅ p n ) > 1 , \gcd (1 \cdot p_1, \, 2 \cdot p_2, \, \dots, \, n \cdot p_n) > 1, gcd(1⋅p1​,2⋅p2​,…,n⋅pn​)>1,

where$ \gcd $is the greatest common divisor.

A permutation is an array consisting of n distinct integers from 1 to n in arbitrary order. For example, [2,3,1,5,4] is a permutation, but [1,2,2] is not a permutation (2 appears twice in the array) and [1,3, 4] is also not a permutation (n=3 but there is 4 in the array).

Input

The first line contains one integer t ( 1 ≤ t ≤ 1 0 3 ) (1 \le t \le 10^3) (1≤t≤103) — the number of test cases.

Each test case consists of one line containing one integer n ( 1 ≤ n ≤ 1 0 3 ) . n (1 \le n \le 10^3). n(1≤n≤103).

Output

For each test case, print one integer — number of beautiful permutations. Because the answer can be very big, please print the answer modulo$ 998,244,353.$

Example

input

Copy

7
1
2
3
4
5
6
1000

output

Copy

0
1
0
4
0
36
665702330

Note

In first test case, we only have one permutation which is [1] but it is not beautiful because gcd ⁡ ( 1 ⋅ 1 ) = 1. \gcd(1 \cdot 1) = 1. gcd(1⋅1)=1.

In second test case, we only have one beautiful permutation which is [2, 1] because$ \gcd(1 \cdot 2, 2 \cdot 1) = 2.$

题目分析:

这道题比较巧妙,虽然说只要让gcd不唯一,其实醉酒当的方法就是让gcd为2,也就是全部变成偶数,所以只需要让排列中的奇数乘偶数,偶数乘奇数,这样分配,就能得到数量,如果排列有奇数个数,那么无法让拍列的奇数都成偶数,所以不可能成立,只有排列为偶数个,然后奇数位和偶数位分别求阶乘乘起来就是结果(求阶乘的话,在程序开始前求出来就好,记得取模)

#include<iostream>
using namespace std;
#define mod 998244353
typedef unsigned long long ll;
ll a[504];
int main()
{
    int n;
    cin>>n;
    int tmp;
    a[1]=1;
    for(int i=2;i<=500;i++){
        a[i]=a[i-1]*i%mod;
    }
    while(n--){
        cin>>tmp;
        if(tmp%2!=0)cout<<"0"<<endl;
        else cout<<a[tmp/2]*a[tmp/2]%mod<<endl;
    }
}
AI编程工具选哪个更高效?开发者深度评测 无论是代码生成、错误修复,还是架构设计,AI都能提供强大的辅助能力。然而,市面上AI编程工具众多,如何选择最适合自己的?本文将从代码质量、响应速度、多语言支持、集成能力等多个维度,为你解析2025年最主流的几款AI编程工具,帮助你做出更高效的选择。根据2025年最新调研数据,全球超过85%的开发者正在使用AI编程工具辅助开发,相比2023年增长了近40%。合理利用AI,能让你的开发效率提升数倍,但真正的核心竞争力,仍然在于你的编程思维和解决问题的能力。:技术较强的开发者、重视数据隐私的企业。 阅读详情

相关推荐

VLA强化学习训练:π0到π0.5的技术优化与实现

视觉语言动作模型(VLA)作为多模态强化学习的重要分支,通过融合视觉、语言和环境状态数据实现智能决策。其核心技术在于多模态特征融合与动作空间设计,其中PPO算法因其出色的训练稳定性成为首选方案。在工程实践中,延迟补偿机制和课程学习设计能显著提升模型性能,如在四足机器人项目中使避障成功率提升47%。针对实际部署中的性能下降问题,需要特别关注硬件量化参数和控制频率一致性等关键因素。本文通过π0与π0.5版本的对比实验,详细解析了VLA模型在机械臂控制等具身智能场景中的优化路径。

weixin_29041767的博客 246

Codeforces Round #779.B. Marin and Anti-coprime Permutation

Marin wants you to count number of permutations that arebeautiful. Abeautifulpermutation of lengthnnis a permutation that has the following property: gcd(1⋅p1,2⋅p2,…,n⋅pn)>1,gcd(1⋅p1,2⋅p2,…,n⋅pn)>1, wheregcdgcdis thegreatest common divisor....

GSYMG的博客 620

LVGL配置文件lv_conf.h详解

lv_conf.h是一个用户级别的文件,它不属于内核的部分,因此,在不同的工程中,该文件有可能存在差异。lv_conf.h文件具有两大功能:(1)配置功能:内存、屏幕刷新周期、输入设备的读取周期,等等;(2)裁剪功能:使能失能某些功能,有效地优化Flash的分配。

qq_28576837的博客 5559

Bad Ugly Numbers

You are given a integer nnn (KaTeX parse error: Expected 'EOF', got '&' at position 3: n &̲gt; 0). Find any integer sss which satisfies these conditions, or report that there are no such numbers:In the decimal representation of sss:The input consists of mu

Pretty Boy Fox的博客 922

从 RAP OData 到可交付的 SAP Fiori 应用:部署与授权全链路实战笔记

摘要:本文探讨了RAP开发中常见的交付误区,指出开发者预览(FEAP)并非可部署应用,强调从服务发布到业务应用落地的完整链路。文章详细对比了不同部署路径(ABAP/BTP),解析权限管理关键点(SAP_BR_DEVELOPER的临时性),并提供了标准授权组合方案(IAM+业务目录+角色)。通过"发运跟踪"案例,展示了从开发验证到生产部署的全流程,特别提醒注意开发环境与生产环境的权限差异,避免"开发机正常、生产机403"的典型问题。(149字)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1399

8.26华为OD机试真题 新系统 - 字符串回文判 (Java/Py/C/C++/Js/Go)

8.26华为OD机试真题 新系统 - 字符串回文判 (Java/Py/C/C++/Js/Go)

算法大师! 1230

B. Marin and Anti-coprime Permutation

B. Marin and Anti-coprime Permutation 题意: 构造一个排列满足 题解 考虑n等于2的时候 gcd(1p1,2p2) 容易想到最小的最大公约数为2,而且也只有可能为2.只要考虑二者的奇偶性与长度,当奇数与偶数个数不同时无解,否则将奇偶交错即可构造出一个合法方案。用乘法原理计数即可。 1-n:奇 偶 奇 偶 P:偶 奇 偶 奇 #include<iostream> using namespace std; int main(){ int t; cin

TGX的博客 1089

PLSQL Developer安装详细步骤

一、下载安装PLSQL Developer(plsql安装百度也有步骤) 官网下载地址:https://www.allroundautomations.com/registered-plsqldev/ 1、网上自己下载适合自己电脑的安装包(32或64),并解压。 2、打开解压的文件夹,得到以下三个文件(分别是汉化工具,PLSQL安装包、激活码),双击安装,如下图: 3、安装界面,点击next,进入下一步,如图: 4、安装协议界面,此处必须选择“I accept the terms in

Gorden的博客 11万+

Codeforces Round #779 (Div. 2) 记录

Marin and Anti-coprime Permutation 思路(规律的做法) 场上很多人过,而自己完全没思路 划分解空间:考虑最大公约数可以取哪些值 可以多写几个排列发现规律。最终发现最大公约数只可能小于等于2.难度一下降低了! 当最大公约数等于2时,只有n为偶数的时候可以满足,并且奇数与偶数配对,偶数与奇数配对。每个n!2\frac{n!}{2}2n!​种。 int main() { int t; cin >> t; for(int i = 0;

nth2000的博客 678

高通SDX55平台:5G速率问题排查分析方法

和大家分享一下高通5G平台5G速率问题排查分析方法。

四儿家的小祖宗的博客 5218

OSG三维渲染引擎编程学习之一:“第一章:OSG介绍” 之 “1.1 OSG简介”

第一章:OSG介绍; 1.1 OSG简介。

LuckyHanMo的博客 3220

Codeforces:1658B Marin and Anti-coprime Permutation题解

Codeforces :1658B

EarthlyTreasures的博客 889

【RT-DETR有效改进】计算训练好权重文件对应的FPS、推理每张图片的平均时间(科研必备)

本文给大家带来的改进机制是利用我们训练好的权重文件计算FPS,同时打印每张图片所利用的平均时间,模型大小(以MB为单位),同时支持batch_size功能的选择,对于轻量化模型的读者来说,本文的内容对你一定有帮助,可以清晰帮你展示出模型速度性能的提升以及轻量化的效果(模型大小),对于以提高精度为目的的读者本文也能够帮助大家展示出现阶段的模型速度指标。所以本文的内容是十分有用的机制,对于大家发表论文来说,下面的图片为运行后的效果可以看到,该有的指标均已打印(本文内容为我独家创新,全网无第二份)下面是效果图和文

Snu77的博客 3628

Codeforces Round #779 (Div. 2) B. Marin and Anti-coprime Permutation

gcd的一些性质

weixin_62528401的博客 201

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Codeforces Round #779 (Div. 2) A~D

Codeforces Round #779 (Div. 2) A~D 题集链接 记录下大半年后的首场复出以及首次蓝名,通知中的妹子很戳,感谢名单也够皮,就是开完AB后很痛苦,差点反向上大分。(日常问候SPyofgame) A Marin and Photoshoot 题意:给定一个 01 串,可以在其中添加若干个 1 ,使得任意大于等于二的区间内,0 的个数不超过 1 的个数 分析:两个 0 之间必须要有两个及以上的 1 ,构成 0110 结构。而若 0 位于两端则无需,如 0 #includ

qq_38582001的博客 904

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Codeforces Round #779 (Div. 2)简训

Codeforces Round #779 (Div. 2)简训 不少有意思有价值的题目

C_eeking的博客 911

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Codeforces Round #779 (Div. 2)

Dashboard - Codeforces Round #779 (Div. 2) - Codeforceshttps://codeforces.com/contest/1658 A. Marin and Photoshoot 思路: 当0连续出现两次,可以加入两个1。 例如:000,可变成:0110110。 可能会出现0出现两次,但是已经有了一个1,那么就加入一个1。 例如:01010,可变成:0110110。 10,01的情况都不满足。 例如:100110101,可变成:1011011

qq_64403486的博客 1103

深挖C++:类和对象(中)

(先进后出)

xys_678的博客 186

选型笔记:Type‑C 扩展坞方案评估|DP1.4 转 HDMI2.0 桥接芯片 GSV2201S@ACP

本文记录 GSV2201S 这款 DP1.4a 转 HDMI2.0 桥接芯片评估,梳理视频、HDCP、PD 集成能力,总结 Type‑C 转接 Dongle、扩展坞方案的适配边界,以及差分走线、PD 时序、HDCP 握手等高频调试问题,为 C 口视频转接方案选型提供参考。

ACP广源盛的博客 217

C++移动构造函数详解

移动构造函数是C++11引入的一种特殊构造函数,用于从临时对象(右值)"窃取"资源来初始化新对象,而不是进行昂贵的深拷贝。char* data;public:// 移动构造函数:参数是右值引用 &&// 关键:把源对象的资源置空。

拒绝AI文,努力在AI时代写出感动人心的好文章 385

ThunderKittens 深度解析:一个不基于 MLIR 的 C++ 模板 GPU DSL

Triton 是"让更多人能写 GPU kernel",ThunderKittens 是"让会写的人写得更爽"。前者用 MLIR 换易用性,后者用 C++ 模板换可控性。它们不是替代关系,而是覆盖了 GPU 编程光谱的两端。ThunderKittens 的出现,本质上是对"GPU DSL 必须基于 MLIR"这一默认假设的挑战。编译期类型系统本身就可以是一个强大的 DSL 基础设施,不需要中间 IR,不需要黑盒 pass,也能实现 tile 级抽象和零运行时开销。

Maxwell_Newton的博客 332

蓝桥杯·全国青少年信息素养大赛·电子学会Python/C++考级:倍增法求最近公共祖先LCA解析

蓝桥杯报名正在火热进行(软件赛报名 2026-10-08—12-18,省赛 2027-04-10),电子学会 12 月软件编程(C/C++ 一级至十级、Python 一级至六级)考级报名也已开启(9/23—12/2),全国青少年信息素养大赛算法应用主题赛同步推进——把 LCA 这个模板练熟,正是冲刺这些赛事树型考点的关键一步。所谓「最近公共祖先」:在一棵以某个节点为根的树里,两个节点 u、v 向上追溯,最早交汇的那个祖先就叫它们的 LCA。比如家谱里,你和你表哥最近的共同长辈就是你们的祖父。

IT_Scratch的博客 532

【C语言】字符与字符串函数

C语言中字符串为以\0结尾的字符数组,标准库函数基于此约定。本文解析字符串内存布局,详解ctype.h与string.h中字符分类、长度计算、拷贝、比较等函数的使用要点,强调长度判断与越界风险,最后通过命令行待办事项示例整合fgets、sscanf、strncpy、strcmp,展示实际应用中的关键细节。

记录在学习过程中学到的知识 339

C++ 多态详解:作用、原理与实战用法

多态是C++面向对象的核心特性,通过虚函数实现运行期动态绑定,使同一接口在不同对象上表现出不同行为。其核心作用包括统一接口、提升可扩展性、降低耦合、支持运行时分派与批量处理。实现依赖虚函数表(vtable)和虚指针(vptr),需注意虚析构函数、对象切片等陷阱。相比编译期多态(模板),运行期多态灵活性高但有调用开销。合理结合两者,可兼顾代码的灵活性与性能,是构建可扩展、低耦合系统的关键。

2402_85743155的博客 369

C++ 函数模版

模板参数:● template ,T 就是类型占位符,名字可以自定义,习惯用T● 占位符可以在函数返回值、形参、函数内部当作类型使用使用要点模板代码一般写在头文件:编译器需要看到完整模板源码,才能在每个编译单元完成实例化全局函数、类内成员函数都可以写成模板实例化发生在编译阶段,不是运行时隐式实例化:调用时编译器自动推导实参类型,生成对应版本函数。

2501_94041724的博客 300
上一篇: Codeforces Round #779 (Div. 2)A. Marin and Photoshoot
下一篇: Codeforces Round #777 B. Madoka nd the Elegant Gift
kai_wei_
博客等级 码龄7年 14粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值