CSP-J 2025

news/2026/1/13 19:23:43/文章来源:https://www.cnblogs.com/lyet/p/19423845

P14357 [CSP-J 2025] 拼数

把字符串中的所有数字找出来,从大到小排序输出即可

点击查看代码
#include<bits/stdc++.h>
#define int long long
using namespace std;
using pii=pair<int,int>;
using ll = long long;
using ull = unsigned long long;
const ll inf = 1e18;
const int mod = 998244353;void solve(){string s;cin>>s;priority_queue<char> q;for(auto ch:s){if(ch>='0' && ch<='9'){q.push(ch);}}while(q.size()){cout<<q.top();q.pop();}
}signed main(){ios::sync_with_stdio(0);cin.tie(0);int t=1;// cin>>t; while(t--){solve(); }}

P14358 [CSP-J 2025] 座位

简单但恶心的题,找到排序之后的排名,直接去找位置

点击查看代码
#include<bits/stdc++.h>
#define int long long
using namespace std;
using pii=pair<int,int>;
using ll = long long;
using ull = unsigned long long;
const ll inf = 1e18;
const int mod = 998244353;void solve(){int n,m;cin>>n>>m;vector<int> a(n*m+1);int x;for(int i=1;i<=n*m;i++){cin>>a[i];}x=a[1];sort(a.begin()+1,a.end(),greater<int>());int idx=0;for(int i=1;i<=n*m;i++){if(a[i]==x) idx=i;}int cnt=idx/n;idx%=n;if(idx==0){cout<<cnt<<" "<<((cnt&1)?n:1);}else{cout<<cnt+1<<" "<<((cnt&1)?n-idx+1:idx);}
}signed main(){ios::sync_with_stdio(0);cin.tie(0);int t=1;// cin>>t; while(t--){solve(); }}

P14359 [CSP-J 2025] 异或和

直接从前往后循环,用 set 维护前缀的异或值。如果到某个位置,发现以当前位置结尾,可以和之前在 set 中的某一个位置凑出 \(k\)。所以,以当前位置为 \(r\),前面某个位置为 \(l\) 的区间是一个合法区间,在当前位置可以切一刀,同时清空 set。

我们不用关心 \(l\) 的具体位置,因为无论如何都要在当前位置切,切清空 set,所以 \(l\) 具体在哪里,对后面不会造成影响

点击查看代码
#include<bits/stdc++.h>
#define int long long
using namespace std;
using pii=pair<int,int>;
using ll = long long;
using ull = unsigned long long;
const ll inf = 1e18;
const int mod = 998244353;void solve(){int n,k;cin>>n>>k;vector<int> a(n+1);map<int,int> mp;for(int i=1;i<=n;i++){cin>>a[i];}int ans=0,now=0;mp[0]=1;for(int i=1;i<=n;i++){now^=a[i];if(mp[now^k]){ans++;mp.clear();mp[0]=1;now=0;}else{mp[now]++;}}cout<<ans;
}signed main(){ios::sync_with_stdio(0);cin.tie(0);int t=1;// cin>>t; while(t--){solve(); }}

P14360 [CSP-J 2025] 多边形

先将 \(a\) 数组从小到大排序。

假设选了 \(m\) 个数,\(b_1,b_2,b_3,...,b_m\)

\(m\) 个数符合条件,当且仅当 \(b_1+b_2+b_3+..+b_{m-1}<b_m\)

所以,考虑 DP,设 \(f[i][j]\) 表示,从前 \(i\) 个数中选,且总和不超过 \(j\) 的方案数。

如何统计答案?

枚举最后一个数,让 \(a_i\) 做为某个合法序列的最后一个数,统计此时的方案数量

此时的方案数量为,从前 \(i-1\) 个数中选,且总和大于 \(a_i\) 的方案数,显然,对 DP 的状态求和即可

注意,\(f[i][j]\)\(j\) 可能会很大,但因为数值最大是 5000,所以所有 \(j>5000\) 的值,都统一计入 \(j=5001\) 的状态中。

注意,合法序列要求最少有三个数,所以还需要把一些两个数的方案排除掉;但因为 \(a\) 是从小到大排序,所以不会有合法的两个数的方案,所以无需做这一步。

DP 就是一个类似于背包的东西,是容易的。

点击查看代码
#include<bits/stdc++.h>
#define int long long
using namespace std;
using pii=pair<int,int>;
using ll = long long;
using ull = unsigned long long;
const ll inf = 1e18;
const int mod = 998244353;void solve(){int n;cin>>n;vector<int> a(n+1);for(int i=1;i<=n;i++){cin>>a[i];}sort(a.begin()+1,a.end());vector<vector<int>> f(n+1,vector<int>(5010));//从前i个选,且总和等于j的方案数f[0][0]=1;for(int i=1;i<=n;i++){for(int j=0;j<=5001;j++){f[i][j]=f[i-1][j];}for(int j=0;j<=5001;j++){int w=min(5001ll,a[i]+j);f[i][w]+=f[i-1][j];f[i][w]%=mod;}}int ans=0;for(int i=3;i<=n;i++){//以第i个为最大的,从前i-1个中选,总和大于a[i]的方案数for(int j=a[i]+1;j<=5001;j++){ans+=f[i-1][j];ans%=mod;}}cout<<ans;
}signed main(){ios::sync_with_stdio(0);cin.tie(0);int t=1;// cin>>t; while(t--){solve(); }}

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

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

相关文章

Jupyter Notebook转脚本:使用Miniconda-Python3.11批量运行实验

Jupyter Notebook转脚本&#xff1a;使用Miniconda-Python3.11批量运行实验 在数据科学项目中&#xff0c;你是否经历过这样的场景&#xff1a;一个关键实验在本地能完美复现&#xff0c;换到同事机器上却报错“模块找不到”&#xff1f;或者为了调参&#xff0c;不得不手动点…

Markdown转PDF实战:在Miniconda-Python3.11中生成专业AI报告

Markdown转PDF实战&#xff1a;在Miniconda-Python3.11中生成专业AI报告你有没有遇到过这种情况&#xff1a;花了一整天写完一份AI实验报告&#xff0c;结果导出的PDF格式错乱、图片丢失、公式显示异常&#xff1f;更糟的是&#xff0c;同事在另一台电脑上打开你的项目&#xf…

图解Keil5烧录STM32固件更新全过程(新手必看)

手把手教你用Keil5烧录STM32&#xff1a;从零开始的固件更新实战你有没有遇到过这样的情况&#xff1f;代码写得信心满满&#xff0c;编译也通过了&#xff0c;结果一点“Download”按钮——弹窗报错&#xff1a;“No target connected”或者“Flash Timeout”。那一刻&#xf…

大模型领域负载均衡技术

1. 引言1.1 大模型负载均衡技术背景随着以 DeepSeek、Llama、Qwen、Mixtral 为代表的新一代大模型不断突破参数规模瓶颈&#xff0c;推动模型体量向万亿级跃进&#xff0c;分布式训练和推理已成为大模型开发的必然选择。然而&#xff0c;大模型的训练和推理过程面临着前所未有的…

Anaconda配置PyTorch环境繁琐?换用Miniconda更轻便高效

Anaconda配置PyTorch环境繁琐&#xff1f;换用Miniconda更轻便高效 在人工智能项目开发中&#xff0c;你是否曾遇到这样的场景&#xff1a;刚配好的 PyTorch 环境运行得好好的&#xff0c;结果同事拿你的代码却跑不起来&#xff1f;或者一台服务器上多个实验互相“打架”&#…

codefoeces EDU186 D[组合数学] E[贪心]

设所有盒子的总和为 sum 人数为n 则一定会经过sum/n轮 并且前sum%n个人会再进行一次这道题如果最后构成了一个合法的方案 那么一定有&#xff1a;1.最多的人的盒子内的个数不超过sum/n1 那么就变成了一道组合数学的问题 我们先找出所有的人的和 然后计算出上限 判断有无人多…

UniApp 全面介绍与快速上手

在多端应用开发需求激增的当下&#xff0c;开发者往往需要为微信小程序、App、H5、支付宝小程序等多个平台分别开发代码&#xff0c;效率低且维护成本高。UniApp 作为一款基于 Vue.js 的跨端开发框架&#xff0c;以 “一套代码&#xff0c;多端运行” 为核心优势&#xff0c;成…

GitHub Wiki使用指南:为Miniconda-Python3.11项目搭建文档中心

GitHub Wiki 与 Miniconda-Python3.11&#xff1a;构建高效协作的文档与环境体系 在科研团队和中小型开发项目中&#xff0c;一个常见的痛点是&#xff1a;代码能跑通&#xff0c;但换个人就“环境报错”&#xff1b;实验结果无法复现&#xff0c;不是因为模型有问题&#xff0…

基于STM32的模拟信号采集系统深度剖析

从零构建高精度模拟信号采集系统&#xff1a;STM32实战全解析 你有没有遇到过这样的问题&#xff1f; 调试一个温度采集模块&#xff0c;明明传感器输出很稳定&#xff0c;可ADC读回来的数据却像“心电图”一样跳个不停&#xff1b; 想做电池电压监测&#xff0c;采样频率设为…

JLink驱动安装后仍提示未连接?深度剖析权限问题

JLink插上却“未连接”&#xff1f;别重装驱动了&#xff0c;90%的问题出在这里 你有没有遇到过这样的情况&#xff1a; J-Link明明插在电脑上&#xff0c;指示灯也亮着&#xff1b; SEGGER的软件包已经装好&#xff0c; JLinkExe 命令也能运行&#xff1b; 可一执行 co…

CF GYM106049 G [构造][数论]

Problem - G - Codeforces 题目大意为将1~n 分为几个连续的区间 然后每个区间的乘积记作pi 求gcd(pi......)的最小值 对于一个长度为v的数组 他的乘积为num1(num11)(num12)....(num1v-1) 这个乘积一定是v!的倍数 我们可以利用组合数证明 设组合数c(num1v-1,v) 即…

Pyenv shell会话管理:临时切换Miniconda-Python3.11之外的版本

Pyenv shell会话管理&#xff1a;临时切换Miniconda-Python3.11之外的版本 在AI开发日益标准化的今天&#xff0c;许多云平台和实验室都默认提供“Miniconda-Python3.11”作为基础镜像——开箱即用、稳定兼容。但现实项目中&#xff0c;我们常遇到这样的困境&#xff1a;某个旧…

Pyenv install python3.11慢?直接使用预编译Miniconda镜像更快

Pyenv install python3.11慢&#xff1f;直接使用预编译Miniconda镜像更快 在人工智能和数据科学项目中&#xff0c;开发者最怕的不是写不出模型&#xff0c;而是卡在环境配置上——尤其是当你输入 pyenv install 3.11 后&#xff0c;看着终端里一行行编译日志缓慢滚动&#xf…

基于Miniconda-Python3.11镜像的AI开发环境搭建全攻略

基于Miniconda-Python3.11镜像的AI开发环境搭建全攻略 在人工智能项目日益复杂的今天&#xff0c;你是否曾因“这个代码在我机器上明明能跑”而陷入团队协作的尴尬&#xff1f;又或者在复现一篇论文时&#xff0c;被层层嵌套的依赖版本问题拖入无尽调试的深渊&#xff1f;这些看…

HTML可视化调试技巧:利用Miniconda-Python3.11集成TensorBoard进行训练监控

HTML可视化调试技巧&#xff1a;利用Miniconda-Python3.11集成TensorBoard进行训练监控 在深度学习项目的开发过程中&#xff0c;最让人头疼的往往不是模型结构设计&#xff0c;而是训练过程中的“黑箱”感——损失曲线忽高忽低&#xff0c;准确率迟迟不涨&#xff0c;却不知道…

Miniconda环境迁移方案:将本地开发环境无缝部署到GPU云机

Miniconda环境迁移方案&#xff1a;将本地开发环境无缝部署到GPU云机 在AI模型训练日益依赖高性能GPU的今天&#xff0c;一个常见的困境是&#xff1a;本地调试好好的代码&#xff0c;一上云端就报错——不是包版本冲突&#xff0c;就是CUDA不兼容。这种“在我机器上明明能跑”…

Anaconda Prompt替代品:在Miniconda-Python3.11中自定义shell命令

Anaconda Prompt替代品&#xff1a;在Miniconda-Python3.11中自定义shell命令 你有没有遇到过这样的场景&#xff1f;刚接手一个AI项目&#xff0c;同事说“代码在我机器上跑得好好的”&#xff0c;结果你一运行就报错&#xff1a;ModuleNotFoundError、CUDA version mismatch、…

施密特触发器在工业报警电路中的实际应用:项目应用

施密特触发器如何“稳准狠”地守护工业报警系统&#xff1f;一个真实项目中的硬核实战解析在某次为冶金厂改造高温炉监控系统的现场调试中&#xff0c;我们遇到了这样一个问题&#xff1a;温度刚达到设定值&#xff0c;蜂鸣器就开始“抽风式”报警——响两秒停一秒&#xff0c;…

Jupyter密码设置教程:保护Miniconda-Python3.11中的敏感数据

Jupyter密码设置教程&#xff1a;保护Miniconda-Python3.11中的敏感数据 在科研与AI开发日益依赖远程计算资源的今天&#xff0c;一个看似简单的操作失误——比如忘记给Jupyter Notebook设密码——就可能让整个服务器暴露在公网攻击之下。我们常看到这样的新闻&#xff1a;某高…

Java Timer类:如何创建定时任务?

文章目录Java Timer类&#xff1a;如何创建定时任务&#xff1f;一、Timer类&#xff1a;定时任务的“老伙计”1. Timer的基本使用示例代码&#xff1a;输出结果&#xff1a;2. TimerTask&#xff1a;任务的具体实现二、创建单次定时任务示例代码&#xff1a;输出结果&#xff…