每日一题~961div2A+B+C(阅读题,思维,数学log)
A
题意:给你 n*n 的表格和k 个筹码。每个格子上至多放一个
问至少占据多少对角线。
显然,要先 格数的多的格子去放。
n n-1 n-2 …1 只有n 的是一个(主对角线),其他的是两个。
#include <bits/stdc++.h>
using namespace std;void solve()
{int n,k;cin>>n>>k;if (k==0){cout<<0<<"\n";return ;}k-=n;if (k<=0){cout<<1<<"\n";return ;}int cnt=1;for (int i=n-1;i>=1;i--){k-=i;cnt++;if (k<=0){cout<<cnt<<"\n";return ;}k-=i;cnt++;if (k<=0){cout<<cnt<<"\n";return ;}}
}
int main()
{std::cin.tie(nullptr)->sync_with_stdio(false);int t; t=1;cin>>t;while(t--){solve();}return 0;
}
B
题意:
n 中花,每中花有花瓣数。
a1 a2 …an
这朵花的花费也是花瓣数,
选择的花中,花瓣数像相差不能超过1.
有m 个金钱。
问最多花销是多少。
思路:
我们直接用map<int,int>cnt 统计每种花瓣数量的 个数。我们最多选择两种花瓣数。
枚举每一种一种花瓣数,去迭代答案。
对于 t t+1。其实我们尽可能的让 t的花销加上 t+ 1的花销 逼近m。
我们可以先固定一个。
我们先尽可能的 选 t 。
能选出来的个数 是 int k=min(cnt[t],m/t)
之后剩下的钱是 lef=m-k*t;
这些钱里 能选出来 t+ 1 的个数 是 int k1=min(cnt[t+1],lef/(t+1))
之后 再剩下的钱 ,可以用 t+1 替换t 。这样可以增加1的花销。
最大限度的替换 次数 是 t 的可以选出来的个数,剩下的钱,t+1选完之后剩下的个数取最小值。
#include <bits/stdc++.h>
using namespace std;
#define int long long
void solve()
{int n,m; cin>>n>>m;map<int,int>cnt;int t;for(int i=0;i<n;i++){cin>>t;cnt[t]++;}int ans=0;for (auto x:cnt){t=0;int u=x.first;int v=u+1;if (cnt.count(v)){//最多能 买 前者的数量。int k=min(cnt[u],m/u);t+=u*k;int res=m-u*k;// 计算买 后者的数量int k1=min(cnt[v],res/v);t+=k1*v;//替换产生的收益int tt=m-t;t+=min(k,min(tt,cnt[v]-k1));}else {int k=min(cnt[u],m/u);t+=u*k;}ans=max(ans,t);}cout<<ans<<"\n";return;
}
signed main()
{std::cin.tie(nullptr)->sync_with_stdio(false);int t;cin>>t;while(t--){solve();}return 0;
}
C
题意:
n
n 个数,a1,a2,a3,a4 …an
可以进行的操作:对每个数 进行平方,使得最终的数组非降。
问最少的操作数。
最暴力的做法,就是 扫一遍数组,如果后面的小于前面的,那么就一直做平方的操作。
但是这么写的话,会导致超long long.毕竟范围是1e6 ,如果几个1e6 连在一起,那么1e6 1e12 1e24.况且一直这样平方很有可能超时。
所以我们可以考虑 取 log的操作。
对于这种题,应该好好弄明白操作的,我当时没弄太懂就去写了。
搞不清楚 次幂的 数值了。越写越糊涂qaq。
后面的式子,向上取整。
注意一下精度的问题。
#include <bits/stdc++.h>
using namespace std;
#define int long long
void solve()
{int n;cin>>n;vector<double>a(n,0);for (int i=0;i<n;i++)cin>>a[i];double lst=0,ans=0;for (int i=1;i<n;i++){if (a[i-1]==1)continue;int j=(int)(floor(log2(log(a[i])/log(a[i-1]))));if (j>=lst){lst=0;continue;}if (a[i]==1){cout<<-1<<"\n";return;}int k=ceil(lst-log2(log(a[i])/log(a[i-1])));ans+=k;lst=k;}cout<<(int)ans<<"\n";
}
signed main()
{std::cin.tie(nullptr)->sync_with_stdio(false);int t; //t=1;cin>>t;while(t--){solve();}return 0;
}
感觉div2 前面的题面
,很喜欢定义一些东西,问达到一定的目标的最少操作数,感觉这些题,主要还是理解定义,能明白本质。然后要关注一下特殊的位置。对于一些多解的问题,肯定是有一种简单的通解。这些问题看样例用处不大。一般样例的结果不具有普遍性。
多举点例子。好好思考
对于位运算的题,以按位去思考(我在说什么废话,位运算不按位思考,还能怎么思考)很多时候,都和贡献联系起来。
对于一些明显的数学题,往 gcd lowbit 上面去靠。猜猜~~
一定要记得 算贡献的方法~~
多说无益,做题为上~
相关文章:

每日一题~961div2A+B+C(阅读题,思维,数学log)
A 题意:给你 n*n 的表格和k 个筹码。每个格子上至多放一个 问至少占据多少对角线。 显然,要先 格数的多的格子去放。 n n-1 n-2 …1 只有n 的是一个(主对角线),其他的是两个。 #include <bits/stdc.h> using na…...
Fireflyrk3288 ubuntu18.04添加Qt开发环境、安装mysql-server
1、创建一台同版本的ubuntu18.04的虚拟机 2、下载rk3288_ubuntu_18.04_armhf_ext4_v2.04_20201125-1538_DESKTOP.img 3、创建空img镜像容器 dd if/dev/zero ofubuntu_rootfs.img bs1M count102404、将该容器格式化成ext4文件系统 mkfs.ext4 ubuntu_rootfs.img5、将该镜像文件…...
简化mybatis @Select IN条件的编写
最近从JPA切换到Mybatis,使用无XML配置,Select注解直接写到interface上,发现IN条件的编写相当麻烦。 一般得写成这样: Select({"<script>","SELECT *", "FROM blog","WHERE id IN&quo…...
Windows图形界面(GUI)-MFC-C/C++ - Control
公开视频 -> 链接点击跳转公开课程博客首页 -> 链接点击跳转博客主页 目录 Control 资源编辑器 添加控件 设置控件属性 添加控件变量 添加消息处理 处理控件事件 控件焦点顺序 Control 资源编辑器 资源编辑器:用于可视化地编辑对话框和控件。…...
SQL Server数据库安全:策略制定与实践指南
SQL Server数据库安全:策略制定与实践指南 在当今数字化时代,数据安全是每个组织的核心关注点。SQL Server作为广泛使用的关系型数据库管理系统,提供了一套强大的安全特性来保护存储的数据。制定有效的数据库安全策略是确保数据完整性、可用…...

Spring Boot入门指南:留言板
一.留言板 1.输⼊留⾔信息,点击提交.后端把数据存储起来. 2.⻚⾯展⽰输⼊的表⽩墙的信息 规范: 1.写一个类MessageInfo对象,添加构造方法 虽然有快捷键,但是还是不够偷懒 项目添加Lombok。 Lombok是⼀个Java⼯具库,通过添加注…...
Docker 中安装和配置带用户名和密码保护的 Elasticsearch
在 Docker 中安装和配置带用户名和密码保护的 Elasticsearch 需要以下步骤。Elasticsearch 的安全功能(包括基本身份验证)在默认情况下是启用的,但在某些版本中可能需要手动配置。以下是详细步骤,包括如何设置用户名和密码。 1. …...
面试官:说说JVM内存调优及内存结构
1. JVM简介 JVM(Java虚拟机)是运行Java程序的平台,它使得Java能够跨平台运行。JVM负责内存的自动分配和回收,减轻了程序员的负担。 2. JVM内存结构 运行时数据区是JVM中最重要的部分,包含多个内存区域: …...

Ansible的脚本-----playbook剧本【下】
目录 实战演练六:tags 模块 实战演练七:Templates 模块 实战演练六:tags 模块 可以在一个playbook中为某个或某些任务定义“标签”,在执行此playbook时通过ansible-playbook命令使用--tags选项能实现仅运行指定的tasks。 playboo…...

Mysql开启远程控制简化版,亲测有效
首先关闭防火墙 改表法 打开上图的CMD,输入密码进入,然后输入一下指令 1.use mysql; 2.update user set host % where user root;//更新root用户的权限,允许任何主机连接 3.FLUSH PRIVILEGES;//刷新权限,使更改生效 具体参考…...
【MQTT协议与IoT通信】MQTT协议的使用和管理
MQTT协议与IoT通信:MQTT协议的使用和管理 目录 引言MQTT协议概述 什么是MQTTMQTT的工作原理 MQTT协议的关键特性 轻量级与高效性发布/订阅模式质量服务等级(QoS)持久会话安全性 MQTT协议的使用方法 设置MQTT Broker连接MQTT Client发布消息订阅主题断开连接 MQTT协…...

根据题意写出完整的css,html和js代码【购物车模块页面及功能实现】
🏆本文收录于《CSDN问答解惑-专业版》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收…...
AWS免费层之后:了解和管理您的云服务成本
Amazon Web Services (AWS) 为新用户提供了12个月的免费层服务,这是许多人开始使用云服务的绝佳方式。但是,当这一年结束后,您的AWS使用会如何变化?我们九河云通过本文将探讨免费层结束后的AWS成本情况,以及如何有效管…...
Linux定时同步系统时间到硬件时间
Linux定时同步系统时间到硬件时间 1. 系统时间、软件时间 系统时间 (System Time): 一般说来就是我们执行 date命令看到的时间,linux系统下所有的时间调 用(除了直接访问硬件时间的命令)都是使用的这个时…...

网络编程——wireshark抓包、tcp粘包
目录 一、前言 1.1 什么是粘包 1.2 为什么UDP不会粘包 二、编写程序 文件树 客户端程序 服务器程序 tcp程序 头文件 makefile 三、 实验现象 四、改进实验 五、小作业 一、前言 最近在做网络芯片的驱动,验证功能的时候需要借助wireshark这个工具&…...

el-table合计行更新问题
说明:在使用el-table自带的底部合计功能时,初始界面不会显示合计内容 解决方案:使用 doLayout()方法 updated() {this.$nextTick(() > {this.$refs[inventorySumTable].doLayout();});},完整代码: // show-summary:…...

ChatGPT:数据库不符合第二范式示例
ChatGPT:数据库不符合第二范式示例 这张图片为什么不符合数据库第二范式 这个表格不符合数据库第二范式(2NF)的原因如下: 1. 数据库第二范式(2NF)定义 第二范式要求一个数据库表格在满足第一范式…...

27、美国国家冰雪中心(NSIDC)海冰密集度月数据下载与处理
文章目录 一、前言二、数据下载三、使用Ponply查看数据结构四、代码一、前言 处理美国国家冰雪中心(NSIDC)的海冰密集度月度数据时,坐标转换是一个重要的步骤。NSIDC提供的数据通常采用极地球面坐标系,需要将其转换为常用的地理坐标系(如经纬度)以便进行分析和可视化。 坐…...

vite环境下使用bootstrap
环境 nodejs 18 pnpm 初始化 pnpm init pnpm add -D vite --registry http://registry.npm.taobao.org pnpm add bootstrap popperjs/core --registry http://registry.npm.taobao.org pnpm add -D sass --registry http://registry.npm.taobao.org新建vite.config.js cons…...
Laravel视图渲染封装
第一种 app/Helpers/ViewHelper.php 创建一个辅助函数,用于动态确定视图路径: <?php if (!function_exists(fetchView)) {function fetchView($data []){$currentAction \Route::currentRouteAction();list($controller, $method) explode(, $c…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...
MySQL中【正则表达式】用法
MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现(两者等价),用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例: 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...
Spring是如何解决Bean的循环依赖:三级缓存机制
1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间互相持有对方引用,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...
MySQL 部分重点知识篇
一、数据库对象 1. 主键 定义 :主键是用于唯一标识表中每一行记录的字段或字段组合。它具有唯一性和非空性特点。 作用 :确保数据的完整性,便于数据的查询和管理。 示例 :在学生信息表中,学号可以作为主键ÿ…...

从物理机到云原生:全面解析计算虚拟化技术的演进与应用
前言:我的虚拟化技术探索之旅 我最早接触"虚拟机"的概念是从Java开始的——JVM(Java Virtual Machine)让"一次编写,到处运行"成为可能。这个软件层面的虚拟化让我着迷,但直到后来接触VMware和Doc…...

恶补电源:1.电桥
一、元器件的选择 搜索并选择电桥,再multisim中选择FWB,就有各种型号的电桥: 电桥是用来干嘛的呢? 它是一个由四个二极管搭成的“桥梁”形状的电路,用来把交流电(AC)变成直流电(DC)。…...

如何在Windows本机安装Python并确保与Python.NET兼容
✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…...

【java面试】微服务篇
【java面试】微服务篇 一、总体框架二、Springcloud(一)Springcloud五大组件(二)服务注册和发现1、Eureka2、Nacos (三)负载均衡1、Ribbon负载均衡流程2、Ribbon负载均衡策略3、自定义负载均衡策略4、总结 …...

leetcode_69.x的平方根
题目如下 : 看到题 ,我们最原始的想法就是暴力解决: for(long long i 0;i<INT_MAX;i){if(i*ix){return i;}else if((i*i>x)&&((i-1)*(i-1)<x)){return i-1;}}我们直接开始遍历,我们是整数的平方根,所以我们分两…...