19/02/11 膜你赛 T1 天平

本文探讨了一道经典的算法题目,即如何通过1g、3g、9g等权重的砝码组合,找出第N小的砝码组合方式。文章提供了详细的解题思路和C++代码实现,利用二进制分解技巧,输出从小到大的砝码组合。

题目:

天平
给你1g,3g,9g,27g....这样的砝码,每种一个。你可以任意选择,请问所选出来的 砝码重量
第N小的是由哪几个砝码组成的。
Input
一个数字N,1<N<=10^6

Output
输出你所选择的砝码,一行输出一个数字,数字从小到大
Sample Input
4
Sample Output
1
3
//第一小的总重量为0,第二小的总重量为1
第三小的总重量为3,第四小的总重量为4,第五小的总重量为9

思路:
作为一道T1,我光荣的WA掉了。
思路其实很简单,由于从0开始计数,所以n要先减一。
然后二进制分解,输出就好。
错因是3^n的表打小了…

代码:

#include<bits/stdc++.h>
using namespace std;

#define maxn 1000000
#define read(x) scanf("%d",&x)

int n;
int a[maxn+5];

int main() {
	freopen("a.in","r",stdin);
	freopen("a.out","w",stdout);
	a[0]=1;
	for(int i=1;i<=maxn;i++) {
		a[i]=a[i-1]*3;
	}
	
	read(n);n--;
	for(int i=0;n;i++) {
		if(n%2) printf("%d\n",a[i]);
		n/=2;
	}
	
	return 0;
}
### 关于Landsat 8 C2 T1 L2级影像的去云处理 对于Landsat 8 Collection 2 Tier 1 Level-2 (C2 T1 L2) 影像,其自带的质量评估(QA_PIXEL) 波段提供了用于识别和去除云及其阴影的信息。QA_PIXEL波段通过二进制编码表示不同类型的像素质量标志,其中包含了云、云影和其他异常情况的存在与否。 #### 使用Google Earth Engine进行去云操作 在Google Earth Engine中可以方便地利用内置函数实现这一过程: ```javascript // 定义一个过滤条件并加载图像集合 var dataset = ee.ImageCollection(&#39;LANDSAT/LC08/C02/T1_L2&#39;) .filterDate(&#39;2021-01-01&#39;, &#39;2021-12-31&#39;) // 设置时间范围 .filterBounds(geometry); // 设定地理边界 function maskClouds(image){ var qaPixel = image.select(&#39;QA_PIXEL&#39;); // 解码QA_PIXEL位掩码以获取云和云阴影信息 var cloudShadowBitMask = Math.pow(2, 3); var cloudsBitMask = Math.pow(2, 5); // 创建遮罩层 var mask = qaPixel.bitwiseAnd(cloudShadowBitMask).eq(0) .and(qaPixel.bitwiseAnd(cloudsBitMask).eq(0)); return image.updateMask(mask); } // 应用自定义滤镜到整个图像集合上 var cleanDataset = dataset.map(maskClouds); ``` 上述代码片段展示了如何创建一个名为`maskClouds()` 的辅助函数来解析 QA_PIXEL 波段,并据此构建一个新的布尔型图层作为最终输出图像的有效部分指示器[^1]。 此外,在Python环境中也可以调用类似的逻辑来进行批量化处理。例如,可以通过安装 `earthengine-api` Python库并与Jupyter Notebook配合使用,从而更灵活高效地完成大规模遥感数据分析任务[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值