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

蓝桥杯 Day6 贪心

贪心

1.要点

2.例题

2022 砍竹子

学习:
1.模拟砍竹子砍到高度1,不过要记录过程高度,以便后续判断是否存在(想到集合哈希),然后外面嵌套数组(活用数据结构)+resize给大小

vector<unordered_set<ll>> hs;//记录第i根竹子下降到1过程中的每一次高度
hs.resize(n+1);//resize保证大小 

2.整数默认向下取整,浮点数才用ceil()和floor(),
3.sqrtl对应long long

#include <bits/stdc++.h>

using namespace std;

typedef long long ll;
const int N=2e5+10;
vector<unordered_set<ll>> hs;//记录第i根竹子下降到1过程中的每一次高度 

ll chuli(ll x){
	return sqrtl(x/2+1);//sqrtl保证精度,整数默认向下取整 
}

int main(){
	ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
	int n;
	cin>>n;
	hs.resize(n+1);//resize保证大小 
	ll res=0;
	for(int i=1;i<=n;i++){
		ll x;
		cin>>x;
		while(x>1){
			if(!hs[i-1].count(x))	res++;	//前一根竹子没有这个高度就加一次,前一根竹子有这个高度就不加,算前一根竹子处理,递推得出相同高度算处理一次 
			hs[i].insert(x);
			x=chuli(x);
		}
	}
	cout<<res;
	return 0;
}

http://www.kler.cn/a/553835.html

相关文章:

  • (前端基础)CSS(一)
  • 【练习】【滑动窗口】力扣热题100 3. 无重复字符的最长子串
  • docker修改镜像默认存储路径(基于页面迁移)
  • 马斯克放出AI核弹:Grok 3干碎OpenAI
  • Mybatis MyBatis延迟加载策略 二、多对一的延迟加载查询演示
  • 【后端】k8s
  • 中级软考笔记-基础知识-3-数据结构
  • 【核心算法篇十三】《DeepSeek自监督学习:图像补全预训练方案》
  • 1.16学习
  • 代码随想录-- 第一天图论 --- 岛屿的数量
  • 【SQL】多表查询案例
  • 解锁机器学习核心算法 | 决策树:机器学习中高效分类的利器
  • Python 性能剖析利器:DTrace 与 SystemTap 深度指南
  • PHP旅游门票预订系统小程序源码
  • 定期自动统计大表执行情况
  • SOME/IP--协议英文原文讲解9
  • JavaScript中内置对象
  • JVM内存管理笔记
  • 深入HBase——Bigtable
  • 数学函数(C#、Lua 、Unity)