当前位置: 首页 > news >正文

Educational Codeforces Round 133 (Rated for Div. 2) (C dp D前缀和优化倍数关系dp)

A:能用3肯定用三,然后分类讨论即可

#include<bits/stdc++.h>
using namespace std;
const int N = 2e5+10,M=2*N,mod=998244353;
#define int long long
typedef long long LL;
typedef pair<int, int> PII;
typedef unsigned long long ULL;
using node=tuple<int,int,int>;
const long long inf=1e18;int n,m,k;
int a[N];void solve()
{cin>>n;if(n==1) cout<<"2\n";else{if(n%3==0) cout<<n/3<<"\n";if(n%3==1) cout<<(n-4)/3+2<<"\n";if(n%3==2) cout<<n/3+1<<"\n";}
}
//1 2 3 4
signed main()
{cin.tie(0);cout.tie(0);ios::sync_with_stdio(0);int t=1;cin>>t;while(t--) solve();
}==0==

B:

我们可以构造n个

分别是

n n-2 n-3... 0

因为一开始交换会改变两个,然后后面全都和第一个换就可以保证递减下去了

#include<bits/stdc++.h>
using namespace std;
const int N = 2e5+10,M=2*N,mod=998244353;
#define int long long
typedef long long LL;
typedef pair<int, int> PII;
typedef unsigned long long ULL;
using node=tuple<int,int,int>;
const long long inf=1e18;int n,m,k;
int a[N];void solve()
{cin>>n;cout<<1+n-1<<"\n";for(int i=1;i<=n;i++) a[i]=i;//1 2 3 4 4//2 1 3 4 2for(int i=1;i<=n;i++){cout<<a[i]<<" \n"[i==n];}swap(a[1],a[2]);for(int i=2;i<=n;i++){for(int j=1;j<=n;j++){cout<<a[j]<<" \n"[j==n];}swap(a[i+1],a[1]);}
}
//1 2 3 4
signed main()
{cin.tie(0);cout.tie(0);ios::sync_with_stdio(0);int t=1;cin>>t;while(t--) solve();
}

C:正常都能想到先蛇形再走U字形

dp预处理当前[i,j]走到[i^1,j]的最长等待时间,然后从当前这个时间可以一路往后走,不停下来,

对于同行的dp=max(dp[i][j]+1,a[i][j])

但是对于新增的[i^1,j]也可能造成时间问题

#include<bits/stdc++.h>
using namespace std;
const int N = 2e5+10,M=2*N,mod=998244353;
#define int long long
typedef long long LL;
typedef pair<int, int> PII;
typedef unsigned long long ULL;
using node=tuple<int,int,int>;
const long long inf=1e18;int n,m,k;
int a[3][N];void solve()
{cin>>m;n=2;vector<vector<int>> dp(m + 1, vector<int>(2));for(int i=0;i<n;i++){for(int j=0;j<m;j++)cin>>a[i][j];}a[0][m]=a[1][m]=0;a[0][0]=-1;for(int i=m-1;i>=0;i--){for(int j=0;j<2;j++)dp[i][j]=max({a[j][i]+1,dp[i+1][j]-1,a[j^1][i]-2*(m-i-1)});}int res=inf;array<int,2> pos={0,0};int cur=0;for(int i=0;i<m;i++){res=min(res,max(cur,dp[pos[1]][pos[0]])+2*(m-i)-1);pos[0]^=1;cur=max(a[pos[0]][pos[1]]+1,cur+1);pos[1]++;res=min(res,max(cur,dp[pos[1]][pos[0]])+2*(m-i-1));cur=max(a[pos[0]][pos[1]]+1,cur+1);}cout<<res<<"\n";}
//1 2 3 4
signed main()
{cin.tie(0);cout.tie(0);ios::sync_with_stdio(0);int t=1;cin>>t;while(t--) solve();
}

D:

因为 (k+1)*(k)/2<=n,可以推出m等于根号2*n

然后直接前缀和优化dp的倍数和即可

#include<bits/stdc++.h>
using namespace std;
const int N = 2e5+10,M=2*N,mod=998244353;typedef long long LL;
typedef pair<int, int> PII;
typedef unsigned long long ULL;
using node=tuple<int,int,int>;
const long long inf=1e18;int n,m,k;
int a[N];
LL res[N];
LL f[2][N],s[N];
void solve()
{cin>>n>>k;f[0][0]=1;m=sqrt(2*n);m++;for(int i=1;i<=m;i++){for(int j=0;j<=n;j++){if(j>=(k+i-1))s[j]=(s[j-(k+i-1)]+f[(i-1)&1][j])%mod;else s[j]=f[(i-1)&1][j];   if(j>=(k+i-1)){f[i&1][j]=(f[i&1][j]+s[j-(k+i-1)])%mod;}}for(int j=0;j<=n;j++){f[(i-1)&1][j]=0;res[j]=(res[j]+f[i&1][j])%mod;}}//(x+1)*(x)/2>=n//x*x>=2*n//max 根号2*n=500for(int i=1;i<=n;i++)cout<<res[i]<<" ";
}
//1 2 3 4
signed main()
{cin.tie(0);cout.tie(0);ios::sync_with_stdio(0);int t=1;// cin>>t;while(t--) solve();
}

相关文章:

Educational Codeforces Round 133 (Rated for Div. 2) (C dp D前缀和优化倍数关系dp)

A&#xff1a;能用3肯定用三&#xff0c;然后分类讨论即可 #include<bits/stdc.h> using namespace std; const int N 2e510,M2*N,mod998244353; #define int long long typedef long long LL; typedef pair<int, int> PII; typedef unsigned long long ULL; usi…...

【讲解下如何Stable Diffusion本地部署】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…...

wps斜线表头并分别打字教程

wps斜线表头怎么做并分别打字&#xff1a; 1、首先选中我们想要设置的表头。 2、接着右键选中它&#xff0c;点击“设置单元格格式” 3、然后点击上方“边框”选项卡。 4、随后选择图示的斜线&#xff0c;点击“确定” 5、设置完成后&#xff0c;我们只要在其中打字就可以在斜…...

2024第八届全国青少年无人机大赛暨中国航空航天科普展览会

2024第八届全国青少年无人机大赛暨中国航空航天科普展览会 邀请函 主办单位&#xff1a; 中国航空学会 重庆市南岸区人民政府 招商执行单位&#xff1a; 重庆港华展览有限公司 为更好的培养空航天产业人才&#xff0c;汇聚航空教育产业创新科技&#xff0c;丰富和完善航…...

fastadmin学习08-查询数据渲染到前端

index.php查询&#xff0c;这个是前台的index.php public function index() {$slideImgs Db::name("slideimg")->where("status",,normal)->limit(5)->order(sort,desc)->select();$productList Db::name("product")->where(…...

实验报告答案

基本任务&#xff08;必做&#xff09; 先用普通用户&#xff08;自己的姓名拼音&#xff09;登录再操作 编程有代码截图和执行过程结果截图 代写获取&#xff1a; https://laowangall.oss-cn-beijing.aliyuncs.com/studentall.pdf 1. Linux的Shell编程 &#xff08;1&am…...

PDF编辑和格式转换工具 Cisdem PDFMaster for Mac

Cisdem PDFMaster for Mac是一款功能强大的PDF编辑和格式转换工具。它为用户提供了直观且易于使用的界面&#xff0c;使常用功能触手可及&#xff0c;从而帮助用户轻松管理、编辑和转换PDF文件。 软件下载&#xff1a;Cisdem PDFMaster for Mac v6.0.0激活版下载 作为一款完整的…...

E-魔法猫咪(遇到过的题,做个笔记)

题解&#xff1a; 来自学长们思路&#xff1a; 其中一种正解是写单调队列。限制队列内的数单调递增&#xff0c;方法为每当新来的数据比当前队尾数据小时队 尾出列&#xff0c;直到能够插入当前值&#xff0c;这保证了队头永远是最小值。因此总体思路是队尾不断插入新值的同时 …...

keil创建工程 芯源半导体CW32F003E4P7

提前下载keil 安装步骤 1、下载CW32F003固件库 芯源半导体官网下载固件库 下载好后右键解压 CW32F003_StandardPeripheralLib_V1.5\IdeSupport\MDK 进入MDK文件夹 双击WHXY.CW32F003_DFP.1.0.4.pack安装固件库 点击next然后finish安装结束 keil创建工程 点击new uVision P…...

学习鸿蒙基础(12)

目录 一、网络json-server配置 &#xff08;1&#xff09;然后输入&#xff1a; &#xff08;2&#xff09;显示下载成功。但是输入json-server -v的时候。报错。 &#xff08;3&#xff09;此时卸载默认的json-server &#xff08;4&#xff09;安装和nodejs匹配版本的js…...

HTML5和CSS3笔记

一&#xff1a;网页结构(html)&#xff1a; 1.1&#xff1a;页面结构&#xff1a; 1.2&#xff1a;标签类型&#xff1a; 1.2.1&#xff1a;块标签&#xff1a; 1.2.2&#xff1a;行内标签&#xff1a; 1.2.3&#xff1a;行内块标签&#xff1a; 1.2.4&#xff1a;块标签与行…...

MHA高可用-解决MySQL主从复制的单点问题

目录 一、MHA的介绍 1&#xff0e;什么是 MHA 2&#xff0e;MHA 的组成 2.1 MHA Node&#xff08;数据节点&#xff09; 2.2 MHA Manager&#xff08;管理节点&#xff09; 3&#xff0e;MHA 的特点 4. MHA工作原理总结如下&#xff1a; 二、搭建 MySQL MHA 实验环境 …...

【多线程】震惊~这是我见过最详细的ReentrantLock的讲解

一.与synchronized相比ReentrantLock具有以下四个特点: 可中断&#xff1a;synchronized只能等待同步代码块执行结束&#xff0c;不可以中断&#xff0c;强行终断会抛出异常, 而reentrantlock可以调用线程的interrupt方法来中断等待&#xff0c;继续执行下面的代码。 在获取锁…...

分布式链路追踪与云原生可观测性

分布式链路追踪系统历史 Dapper, a Large-Scale Distributed Systems Tracing Infrastructure - Google Dapper&#xff0c;大规模分布式系统的跟踪系统大规模分布式系统的跟踪系统&#xff1a;Dapper设计给我们的启示 阿里巴巴鹰眼技术解密 - 周小帆京东云分布式链路追踪在金…...

CSS3新增的语法(三)【2D,3D,过渡,动画】

CSS3新增的语法&#xff08;三&#xff09;【2D,3D,过渡&#xff0c;动画】 10.2D变换10.1. 2D位移10.2. 2D缩放10.3. 2D旋转10.4. 2D扭曲&#xff08;了解&#xff09;10.5. 多重变换10.6. 变换原点 11. 3D变换11.1. 开启3D空间11.2. 设置景深11.3. 透视点位置11.4. 3D 位移11…...

Flutter应用在苹果商店上架前的准备工作与注意事项

引言 &#x1f680; Flutter作为一种跨平台的移动应用程序开发框架&#xff0c;为开发者提供了便利&#xff0c;使他们能够通过单一的代码库构建出高性能、高保真度的应用程序&#xff0c;同时支持Android和iOS两个平台。然而&#xff0c;完成Flutter应用程序的开发只是第一步…...

如何开启MySQL的binlog日志

1.启用远程连接&#xff1a; 如果你想要允许远程主机连接到MySQL服务器&#xff0c;需要进行以下步骤&#xff1a; 确保MySQL服务器的防火墙允许远程连接的流量通过。在MySQL服务器上&#xff0c;编辑MySQL配置文件&#xff08;一般是my.cnf&#xff09;&#xff0c;找到bind-…...

设计模式|状态机模式(State Machine Pattern)

文章目录 结构使用步骤示例使用状态机的场景常见面试题 状态机模式&#xff08;State Machine Pattern&#xff09;是一种用于描述对象的行为软件设计模式&#xff0c;属于行为型设计模式。在状态机模式中&#xff0c;对象的行为取决于其内部状态&#xff0c;并且在不同的状态下…...

Django源码之路由的本质(上)——逐步剖析底层执行流程

目录 1. 前言 2. 路由定义 3. 路由定义整体源码分析 3.1 partial实现path函数调用 3.2 图解_path函数 3.3 最终 4.URLPattern和Pattern的简单解析 5. 小结 1. 前言 在学习Django框架的时候&#xff0c;我们大多时候都只会使用如何去开发项目&#xff0c;对其实现流程并…...

基于深度学习的植物叶片病毒识别系统(网页版+YOLOv8/v7/v6/v5代码+训练数据集)

摘要&#xff1a;本文深入研究了基于YOLOv8/v7/v6/v5的植物叶片病毒识别系统&#xff0c;核心采用YOLOv8并整合了YOLOv7、YOLOv6、YOLOv5算法&#xff0c;进行性能指标对比&#xff1b;详述了国内外研究现状、数据集处理、算法原理、模型构建与训练代码&#xff0c;及基于Strea…...

如何快速搭建QQ机器人?LuckyLilliaBot入门指南

如何快速搭建QQ机器人&#xff1f;LuckyLilliaBot入门指南 【免费下载链接】LuckyLilliaBot NTQQ的OneBot API插件 项目地址: https://gitcode.com/gh_mirrors/li/LuckyLilliaBot 在数字化时代&#xff0c;QQ机器人开发已成为自动化交互的重要工具。LuckyLilliaBot作为N…...

MATLAB Simulink代码生成全流程详解:涵盖环境配置、参数与信号配置、函数名配置、数...

matlab simulink代码生成 包括&#xff1a;环境配置&#xff0c;参数与信号配置&#xff0c;函数名配置&#xff0c;数据管理&#xff0c;代码生成&#xff0c;以及代码优化等 文档63页把Simulink模型变成可烧录的C代码&#xff0c;这事儿听起来挺玄乎&#xff0c;但只要你踩过…...

SYNBO AMA 回顾|当稳定币突破 3000 亿,一级的“钱”到底在往哪里流?

一、 聊了什么&#xff1a;背景与主题时间&#xff1a;2026 Mar 25 (Wed) 20:00 UTC8主题&#xff1a; Stablecoins Primary Market: The New Capital Stack Powering Global Payments in 2026在昨晚举行的一场围绕“稳定币、PayFi 与全球支付”的 AMA 中&#xff0c;SYNBO 与…...

知识引导上下文优化(KgCoOp):一种解决灾难性遗忘的 Prompt Tuning 机制

来源&#xff1a;DeepHub IMBA 本文约3000字&#xff0c;建议阅读5分钟本文提出了一种简单有效的约束机制。视觉-语言模型&#xff08;VLMs&#xff09;如 CLIP 彻底改变了零样本图像识别的处理方式。这类模型在包含 4 亿个图像-文本对的大规模数据集上进行训练&#xff0c;捕获…...

3D元器件库技术解析与工程应用指南

## 1. 3D元器件库技术解析与应用指南### 1.1 3D封装库的技术价值 在现代电子设计自动化(EDA)流程中&#xff0c;高质量的3D元器件库可显著提升设计效率。本套封装库包含1088个标准封装模型&#xff0c;涵盖电阻器、电容器、接线端子、IC芯片、晶振等常见电子元件&#xff0c;所…...

基于imfindcircles函数的圆形检测实战:从原理到MATLAB实现

1. 霍夫变换与圆形检测原理 第一次接触圆形检测时&#xff0c;我也被各种数学公式绕得头晕。直到把霍夫变换想象成"投票游戏"&#xff0c;才真正理解它的精妙之处。想象一张布满黑白点的图纸&#xff0c;每个黑点都可能属于某个潜在的圆。霍夫变换就像让每个黑点为所…...

3步搞定ViGEmBus:Windows虚拟游戏手柄驱动终极指南 [特殊字符]

3步搞定ViGEmBus&#xff1a;Windows虚拟游戏手柄驱动终极指南 &#x1f3ae; 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus 想要在Windows上体验更丰富的游…...

3步搞定Qobuz高品质音乐下载:QobuzDownloaderX-MOD完全指南 [特殊字符]

3步搞定Qobuz高品质音乐下载&#xff1a;QobuzDownloaderX-MOD完全指南 &#x1f3b5; 【免费下载链接】QobuzDownloaderX-MOD Downloads streams directly from Qobuz. Experimental refactoring of QobuzDownloaderX by AiiR 项目地址: https://gitcode.com/gh_mirrors/qo/…...

Win11Debloat系统优化工具:从问题诊断到长效维护的完整实践指南

Win11Debloat系统优化工具&#xff1a;从问题诊断到长效维护的完整实践指南 【免费下载链接】Win11Debloat 一个简单的PowerShell脚本&#xff0c;用于从Windows中移除预装的无用软件&#xff0c;禁用遥测&#xff0c;从Windows搜索中移除Bing&#xff0c;以及执行各种其他更改…...

保姆级教程:用Android 12新特性为你的App打造丝滑启动页(附完整代码示例)

Android 12启动页开发实战&#xff1a;从基础配置到高级动画优化 在移动应用体验中&#xff0c;启动页作为用户接触产品的第一印象&#xff0c;其流畅度直接影响用户留存率。Android 12引入的SplashScreen API为开发者提供了标准化且高度可定制的启动解决方案&#xff0c;本文将…...