[Stoi 2031]枫
2024-09-07 19:22:45
简单之至的题解
比楼上的简单,代码只有二十行
首先看题的时候发现这个无法做到直接求
因为数据范围好像有点超乎想象
但是对于这种递推的题来说一般就是从小的往大的推
那么我们递推的过程就是每一次挽回
我们发现我们挽回一次之后问题就变成了一个子问题
但是这个子问题的挽回顺序变了,我们只需要在递推的时候反过来就好了
这个题又非常的善良给了我们当前这一行的最大值
明显的暗示递推好吧~~~
我们直接枚举当前的枫叶数量
计算挽回一次之后还剩下多少
用剩下的枫叶数目对应的答案,先翻转一下,在计算这个答案的位置之前拿走了多少叶子
直接加上就是答案
最后直接输出就好了
code
#include<bits/stdc++.h>
using namespace std;
#define fxt(i,x,y) for(int i=(x);i<=(y);i++)
#define pyt(i,x,y) for(int i=(x);i>=(y);i--)
const int N=1e6+5;
int t,q,m,n,ans[N];
signed main(){
scanf("%d",&t);
fxt(k,1,t){
scanf("%d%d",&q,&m);
ans[1]=1;
fxt(i,2,m){
int las=i-(i-1)/(k+1)-1;
int pos=las-ans[las]+1;
ans[i]=pos+(pos-1)/k+1;
}
while(q--){
scanf("%d",&n);
printf("%d ",ans[n]);
}
printf("\n");
}
}
最新文章
- tornado session
- VS的安装
- BZOJ 1044: [HAOI2008]木棍分割
- 你必须了解的基础的 Linux 网络命令
- 用6个字符写出任意的Javascript代码
- Java笔记(十九)&hellip;&hellip;多线程
- Linux错误码的含义
- PHP页面中文乱码问题
- 指针和const
- c# winform treelistview的使用(treegridview)
- PowerDesigner设置null约束
- 树莓派MQTT客户端搭建
- Ubuntu16.04配置Tomcat的80端口访问
- 学习笔记16—Matlab 基础集
- 高德地图JS-API (超简单Get新技能√)
- Python代码规范(PEP8)问题及解决
- Effective前端(3)用CSS画一个三角形
- idea如何设置注释作者信息
- springboot+idea 热部署
- poj 1528 Perfection
热门文章
- 【C++基础教程】第二课
- java设计模式,工厂,代理模式等
- COS控制台进阶 - 文件预览和在线编辑
- Appium自动化测试时为什么要自己封装find方法
- 鸿蒙内核源码分析(文件系统篇) | 用图书管理说文件系统 | 百篇博客分析OpenHarmony源码 | v63.01
- 牛客练习赛84F-牛客推荐系统开发之下班【莫比乌斯反演,杜教筛】
- 51nod1600-Simple KMP【SAM,树链剖分】
- RabbitMQ 3.9.7 镜像模式集群的搭建
- SpringBoot碰到的疑问或问题
- 2021.1.23--vj补题