最少砝码(思维+找规律)

news/2024/7/15 18:14:18 标签: 算法, c++, 图论

最少砝码

在这里插入图片描述
在这里插入图片描述
前n个可以表示0~k;
第n+1个为x(x>k);
最大可测maxn=k+x;
第n+1个和前n个放两边 可测得x-k;
x-k=k+1,得到x=2k+1
maxn=3k+1;

k+1 可以用(2k+1) - (k-0) 表示
k+2 可以用(2k+1) - (k-1) 表示

2k+1 可以用(2k+1) - (0) 表示
2k+2 可以用(2k+1) + (1) 表示

3k+1 可以用(2k+1) + (k) 表示

这样n+1个砝码可以表示出0~3k+1
然后可以根据这个max[i+1] = 3*max[i]+1
然后运用数学知识转化为一个公式即可

a[i]表示用i个砝码 能够构成的 最大可测量重量(此时的范围自然也对应着0~a[i])
a [ 0 ] = 0 a[0]=0 a[0]=0
a [ 1 ] = 2 ∗ 0 + 1 = 1 , 该次新增砝码重量为 2 ∗ 0 + 1 = 1 a[1]=2*0+1=1,该次新增砝码重量为 2*0+1=1 a[1]=20+1=1,该次新增砝码重量为20+1=1
a [ 2 ] = 3 ∗ 1 + 1 = 4 , 该次新增砝码重量为 2 ∗ 1 + 1 = 3 a[2]=3*1+1=4 ,该次新增砝码重量为 2*1+1=3 a[2]=31+1=4,该次新增砝码重量为21+1=3
a [ 3 ] = 3 ∗ 4 + 1 = 13 , 该次新增砝码重量为 2 ∗ 4 + 1 = 9 a[3]=3*4+1=13 ,该次新增砝码重量为 2*4+1=9 a[3]=34+1=13,该次新增砝码重量为24+1=9
甚至可以把规律整理为公式(等比数列的和 a 1 ( 1 − q n ) / ( 1 − q ) a1(1-q^n)/(1-q) a1(1qn)/(1q),q=3 , a1=1) a [ i ] = ( 3 i − 1 ) / 2 > = K = = > i = l o g 3 ( 2 ∗ K + 1 ) a[i]=(3^i-1)/2>=K ==> i=log_3(2*K+1) a[i]=(3i1)/2>=K==>i=log3(2K+1)

res=log(2*K+1)/log(3)
#include<bits/stdc++.h>
using namespace std;
#define int long long 
int K;
signed main(){
    cin>>K;
	int res=0;
	int sum=0;
	while(true){
	    res++;//加一个砝码
		sum=sum*3+1;//能称出的 最多数量
		if(sum>=K){
			cout<<res;
			break;
		}
	}
	
    return 0;
}


http://www.niftyadmin.cn/n/175121.html

相关文章

Fast Global Registration

文章目录3两个点云配准3.1目标函数3.2优化3.3对应关系4多个点云配准4.1目标函数4.2优化3两个点云配准 3.1目标函数 对于俩个点集PPP和QQQ&#xff0c;我们的目的是找到一个刚体变换&#xff0c;对齐这两个点集。我们的方法是优化关于PPP和QQQ对应关系的稳健性目标函数。 设K(…

VBA小模板:如何把 txt / json /xml 文件内容读入到excel 表里

0 分析问题 0.1 解决问题前&#xff0c;需要先分析问题 我本来是翻看我自己之前总结的一些文件处理笔记&#xff0c;也搜了下别人的&#xff0c;发现问题很多 网上各种例子&#xff0c;也都是为了解决某一个问题/ 一类问题 的特定方案&#xff0c;普适性不强自己以前就是想到…

数据库并发控制基本概念和基本技术

并发控制与基本技术一、并发控制1. 概述2. 并发访问可能出现的问题二、并发控制的主要技术1、基本技术2、封锁及锁的类型2.1、什么是封锁2.2、基本封锁类型2.2.1、排它锁&#xff08;Exclusive Locks&#xff0c;简记为 X 锁&#xff09;2.2.2、共享锁&#xff08;Share Locks&…

JVM字符串常量池StringTable

String的基本特性 String&#xff1a;字符串&#xff0c;使用一对""引起来表示。 String sl "hello"&#xff1b;//字面量的定义方式&#xff1b;String s2 new String&#xff08;"hello"&#xff09; &#xff1b;String类是已经被声明为fi…

【计算机视觉】消融实验(Ablation Study)是什么?

文章目录一、前言二、定义三、来历四、举例说明一、前言 我第一次见到消融实验&#xff08;Ablation Study&#xff09;这个概念是在论文《Faster R-CNN》中。 消融实验类似于我们熟悉的“控制变量法”。 假设在某目标检测系统中&#xff0c;使用了A&#xff0c;B&#xff0…

高效使用ChatGPT进行学习

ChatGPT作为一款对话式内容生成模型&#xff0c;拥有优秀的自然语言理解和生成能力&#xff0c;还拥有丰富的知识库。相比较于传统搜索引擎&#xff0c;它给出的答案更符合人们阅读习惯&#xff0c;用好它能让我们学习事半功倍。思维的转变传统搜索的思路当我们碰到一个问题&am…

linux提权总结

linux web到rootlinux 本地到root:关于linux提权一般来说在webshell能运行的&#xff0c;到本地提权应该也可以运行&#xff0c;只要有一定的权限&#xff0c;一些方法在webshell上也可以运行&#xff0c;只是总结了一些常见的提权方法一般来说&#xff0c;我自己认为提权思考的…

css总结7(定位)

目录 定位 前言&#xff1a; position可选值 方位可选值 按文本流归纳 定位布局 前言&#xff1a; 定位布局的思量 定位transform 定位calc(express) 定位 前言&#xff1a; (1) 定位通过position(static、relative、fixed、absolute、stickly)选项和方位(left,rig…