news 2026/5/2 23:24:34

打卡信奥刷题(3199)用C++实现信奥题 P8106 [Cnoi2021] 数学练习

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
打卡信奥刷题(3199)用C++实现信奥题 P8106 [Cnoi2021] 数学练习

P8106 [Cnoi2021] 数学练习

题目背景

「Cnoi2021」Cirno’s Easy Round II 热身赛开始了。

题目描述

为了让选手们重视文化课,Cirno 特意加入了一道 Kamishirasawa Keine 老师的数学练习:

求将一个集合U={1,2,3,⋯ ,n}\texttt{U}=\{1,2,3,\cdots,n\}U={1,2,3,,n}划分成两个子集S,TS,TS,T,使得∣S∣∉S,∣T∣∉T|S|\notin S,|T|\notin TS/S,T/T的方案数。

由于选手都不会高精度,所以答案只需要对998244353998244353998244353取模即可。

输入格式

一行一个整数nnn

输出格式

一行,一个整数,表示答案。

输入输出样例 #1

输入 #1

3

输出 #1

2

输入输出样例 #2

输入 #2

6

输出 #2

10

输入输出样例 #3

输入 #3

65535

输出 #3

459810767

说明/提示

样例解释

#1: 两种合法的划分方案为{1,3},{2}\{1,3\},\{2\}{1,3},{2}{2},{1,3}\{2\},\{1,3\}{2},{1,3}

数据范围

对于100%100\%100%的数据,保证1≤n≤1051 \le n \le 10^51n105

重收录自 XDUCPC 2021 网络赛 B。

C++实现

#include<bits/stdc++.h>#defineintlonglongusingnamespacestd;constintmod=998244353;constintmaxn=1e5;intn;intfac[maxn+1];intinv[maxn+1];intpower(intbase,intfreq,intmod){inttmp=base,ans=1;while(freq){if(freq&1)ans=ans*tmp%mod;freq>>=1;tmp=tmp*tmp%mod;}returnans;}voidinit(){fac[0]=1;for(inti=1;i<=maxn;i++){fac[i]=fac[i-1]*i%mod;}inv[maxn]=power(fac[maxn],mod-2,mod);for(inti=maxn-1;i>=0;i--){inv[i]=inv[i+1]*(i+1)%mod;}}intC(intn,intm){if(n<m)return0;returnfac[n]*inv[m]%mod*inv[n-m]%mod;}signedmain(){init();cin>>n;if(n==1){cout<<0<<endl;return0;}n-=2;if(n%2==0){cout<<(power(2,n,mod)-C(n,n/2)+mod)%mod;}else{cout<<power(2,n,mod);}return0;}

后续

接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/2 23:15:58

怎样高效解密微信聊天记录:5个实用技巧全面指南

怎样高效解密微信聊天记录&#xff1a;5个实用技巧全面指南 【免费下载链接】WechatDecrypt 微信消息解密工具 项目地址: https://gitcode.com/gh_mirrors/we/WechatDecrypt 微信消息解密工具WechatDecrypt是一款专业的本地解密软件&#xff0c;能够帮助用户安全解密微信…

作者头像 李华
网站建设 2026/5/2 23:15:14

CLIP ViT-H-14完整指南:从模型下载、校验、加载到API压测全流程

CLIP ViT-H-14完整指南&#xff1a;从模型下载、校验、加载到API压测全流程 1. 项目概述 CLIP ViT-H-14图像编码服务是基于CLIP ViT-H-14(laion2B-s32B-b79K)模型构建的图像特征提取解决方案。这项服务能够将任意图像转换为1280维的特征向量&#xff0c;为图像搜索、内容推荐…

作者头像 李华
网站建设 2026/5/2 23:14:43

独立开发者如何借助 Taotoken 低成本试验不同大模型

独立开发者如何借助 Taotoken 低成本试验不同大模型 1. 理解独立开发者的模型试验需求 独立开发者和小微团队在构建AI应用时面临独特的挑战。有限的预算要求每一分投入都产生最大价值&#xff0c;而快速迭代的需求又意味着需要频繁尝试不同模型的能力边界。传统直接对接单一厂…

作者头像 李华
网站建设 2026/5/2 23:13:24

Windows 一键安装 OpenClaw 教程 零代码无命令部署

OpenClaw&#xff08;小龙虾&#xff09;Windows 一键部署保姆级教程 10 分钟搭建专属本地数字员工【点击下载】 前言 2026 年开源 AI 领域大热的 OpenClaw&#xff08;昵称小龙虾&#xff09;&#xff0c;GitHub 星标突破 28 万&#xff0c;凭借「本地运行 零代码操作 自动…

作者头像 李华
网站建设 2026/5/2 23:11:43

对比使用 Taotoken 前后在模型调用成本与账单清晰度上的变化

对比使用 Taotoken 前后在模型调用成本与账单清晰度上的变化 1. 模型调用成本的可观测性提升 在接入 Taotoken 之前&#xff0c;个人开发者或团队管理者往往需要分别对接多个模型供应商的 API&#xff0c;每个供应商的计费方式、账单格式和查询接口各不相同。例如&#xff0c…

作者头像 李华
网站建设 2026/5/2 23:05:52

终极指南:如何为碧蓝航线解锁全皮肤功能

终极指南&#xff1a;如何为碧蓝航线解锁全皮肤功能 【免费下载链接】Perseus Azur Lane scripts patcher. 项目地址: https://gitcode.com/gh_mirrors/pers/Perseus 还在为碧蓝航线中那些精美的皮肤无法体验而烦恼吗&#xff1f;Perseus游戏补丁为你提供了一站式解决方…

作者头像 李华