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

CF每日3题(1500-1700)

做题好慢 将近半小时一道…
但是经验+3

  • 1482B 带模的等差数列
  • 1932E 高精度,一个数一个数地计算有点难,可以看数位上的贡献
  • 1528B dp分类讨论找出规律

1482B 思维 找规律 1500

在这里插入图片描述
ai=(ai−1+c)modma_i=(a_{i-1}+c) \mod mai=(ai1+c)modm是在模m意义下的等差数列

  • 当m特别大,给的a本身就是等差数列,差是c
  • ai+c>m>amax,a_i+c>m>a_{max},ai+c>m>amax,所以a的差除了正的c的也会有c-m
    所以讨论数组中的差判断就好
void solve(){int n;cin>>n;int mx=0;vector<int>a(n+1);set<int>s;forr(i,1,n){cin>>a[i];mx=max(a[i],mx);if(i>1){s.insert(a[i]-a[i-1]);}}if(s.size()==1||s.size()==0)return cout<<0<<endl,void();if(s.size()>2)return cout<<-1<<endl,void();int ne,po;ne=0,po=0;for(auto i:s){ne=min(ne,i);po=max(po,i);}if(ne<0&&po>0&&po-ne>mx){cout<<po-ne<<' '<<po<<endl;}else cout<<-1<<endl;}

1932E 高精度 前缀和优化 思维 1600

在这里插入图片描述

题意:每个数的改变需要1s,求所给数倒计时到0改变的用时
如23,个位数的变化0→十位=110s0→十位=210s0→十位=23s30 \rightarrow^{10s}_{十位=1}0\rightarrow^{10s}_{十位=2}0\rightarrow^{3s}_{十位=2}30十位=110s0十位=210s0十位=23s3
所以每一位数变化的时间就是本位数和更高位组成的十进制数

/*
eg.12345
12345123412312
+   1
*/
void solve(){int n;cin>>n;vector<int>a(n+5,0),sn(n+5,0);string s;cin>>s;forr(i,1,n){sn[i]=s[n-i]-'0';sn[i]+=sn[i-1];//一个一个加会超时8e10 前缀和优化}forr(i,1,n){a[i]+=sn[n]-sn[i-1];// forr(j,i,n){//     a[id++]+=sn[j];// }}int c=0;forr(i,1,n){a[i]+=c;c=a[i]/10;a[i]%=10;}int bg=(c==0?n:n+1),fg=0;a[n+1]+=c;reforr(i,1,bg){if(!fg&&!a[i])continue;fg=1;cout<<a[i];}cout<<endl;
}

1528B dp 1700

dp真难啊…
在这里插入图片描述在这里插入图片描述

大佬题解
省流复述一下:
题意:2n个点两两相连,连线要求两两长度相等或相互包含
两个线如果不包含,相互交叉,就得相等
先考虑点1配对到点x形成一条线

  • x<=nx<=nx<=n,线内有x−2(<n)x-2(<n)x2(<n)个点,线外有n−x(≥n)n-x(\geq n)nx(n)个,为了后面的点都能配对,线内所有的点都得连到线外,形成长度相等的线,只有不包含的情况。
    线内的配对完形成的线组总共长度是x+x−2=2x−2x+x-2=2x-2x+x2=2x2,n中可以有多个这样的组,x-1需要整除n
    整除n的地方会有1贡献,设此贡献为d[n]d[n]d[n]
  • x>nx>nx>n,有包含的情况,文章中枚举分析的很好理解,直接粘了
    在这里插入图片描述
    dp[i]=∑j=0i−1dp[j](前缀和)+d[i]dp[i]=\sum\limits_{j=0}^{i-1}dp[j](前缀和)+d[i]dp[i]=j=0i1dp[j](前缀和)+d[i]
void solve(){int n;cin>>n;vector<int>dp(n+1,0),d(n+1,0);forr(i,1,n){//找1~n每个数的因子for(int j=i;j<=n;j+=i)d[j]++;}dp[1]=1;int sum=dp[1];forr(i,2,n){dp[i]=(sum+d[i])%mod;//x>n的情况+x<=n的情况sum=(sum+dp[i])%mod;//更新前缀和}cout<<dp[n]<<endl;
}
http://www.dtcms.com/a/334352.html

相关文章:

  • 《WINDOWS 环境下32位汇编语言程序设计》第2章 准备编程环境
  • IO流-序列化流
  • 记录 GMS 认证相关条件
  • 玄机靶场 | 日志分析-Tomcat日志分析
  • AI生成视频开源模型技术解析
  • Rocky Linux 9.2:从 /home 分区释放 10G 空间扩容到 / 根分区
  • AI可行性分析:数据×算法×反馈=成功
  • 【P40 6-3】OpenCV Python——图像融合(两张相同属性的图片按比例叠加),addWeighted()
  • 软考 系统架构设计师系列知识点之杂项集萃(124)
  • 池式结构之连接池
  • pwn定时器,ARM定时delay 外部中断用函数指针(统一)day55,56
  • 数据结构:满二叉树 (Full Binary Tree) 和 完全二叉树 (Complete Binary Tree)
  • 安卓定制开机动画的bootanimation.zip的注意点
  • (论文阅读)FedViT:边缘视觉转换器的联邦持续学习
  • 美国服务器环境下Windows容器工作负载基于指标的自动扩缩
  • Java驾驭金融风暴:大数据+机器学习重塑资产配置与风险平衡
  • CPP多线程3:async和future、promise
  • 【八股】计网-计算机网络-秋招
  • 让数据库交互更优雅:MyBatis核心机制深度解析(附实战视频教程)
  • 【DL学习笔记】常用数据集总结
  • 详解flink java基础(二)
  • 使用nvm查看/安装node版本
  • Spring AI 进阶之路01:三步将 AI 整合进 Spring Boot
  • 【科研绘图系列】R语言绘制雷达图
  • MySQL 配置性能优化赛技术指南
  • MySQL 配置性能优化赛技术文章
  • 从 MySQL 5.7 迁移到 8.0:别让 SQL 文件 “坑” 了你
  • 【笔记】动手学Ollma 第一章 Ollama介绍
  • 玉米及淀粉深加工产业展|2026中国(济南)国际玉米及淀粉深加工产业展览会
  • 数据清洗处理