【2023.03.17】T2 题解
1.题意描述
给出一个整数N。对其执行以下操作K次。
如果N是200的倍数,则将其除以200。否则,将N视为字符串,并在其末尾附加200。例如,7将成为7200,1234将成为1234200。
输出最终得到的结果。
2.输入输出格式
输入:
输入2个数:N,K。
输出:
输出对应的结果。
3.样例
样例输入
2021 4
样例输出
50531
4.数据范围
对于100%的数据,1 ≤ N ≤ 10^5 , 1 ≤ K ≤ 20。
5.题外话
教练给的题解:
可以发现将一个数-x,比它大的数-x对最小值不会有任何影响,比它大的数+x反而对最大值影响更大,相反
将一个数+x,把比它小的数+x不会对最大值有任何影响,-x反而对最小值影响更大,所以我们一旦确定了一
个数的增减,比它大/小的数的增减也就确定了,所以肯定在排好序的序列上使得一个前缀+x,一个后缀-x,然后求最大值和最小值做差更新答案。
我:
这是给人(gou)看的???
同机房大佬:
A了……
艹
6.思路
可以发现将一个数-x,比它大的数-x对最小值不会有任何影响,比它大的数+x反而对最大值影响更大,相反
将一个数+x,把比它小的数+x不会对最大值有任何影响,-x反而对最小值影响更大,所以我们一旦确定了一
个数的增减,比它大/小的数的增减也就确定了,所以肯定在排好序的序列上使得一个前缀+x,一个后缀-x,然后求最大值和最小值做差更新答案。
打住,这不刚才你没看懂的吗???
欧,再来:
可以发现将一个数-x,比它大的数-x对最小值不会有任何影响,比它大的数+x反而对最大值影响更大;
相反:
将一个数+x,把比它小的数+x不会对最大值有任何影响,-x反而对最小值影响更大。
所以我们一旦确定了一个数的增减,比它大/小的数的增减也就确定了!!!
所以我错了……
注意:
排序好的序列
艹
7.提交记录
代码:
#include <bits/stdc++.h>
using namespace std;
const long long N = 1e6 + 1;
int n , k , a[N] , ans;
inline int read()
{
int s = 0 , w = 1;
char ch = getchar();
while(ch < '0' || ch > '9')
{
if(ch == '-')
{
w = -1;
}
ch = getchar();
}
while(ch >= '0' && ch <= '9')
{
s = s * 10 + ch - '0';
ch = getchar();
}
return s * w;
}
int main()
{
n = read();
for(int i = 1;i <= n;i++)
{
a[i] = read();
}
k = read();
ans = a[n] - a[1];
for(int i = 1;i <= n;i++)
{
ans = min(ans , max(a[n] - k , a[i] + k) - min(a[i + 1] - k , a[1] + k));
}
cout << ans;
return 0;
}
代码:
#include <bits/stdc++.h>
using namespace std;
const long long N = 1e6 + 1;
int n , k , a[N] , ans;
inline int read()
{
int s = 0 , w = 1;
char ch = getchar();
while(ch < '0' || ch > '9')
{
if(ch == '-')
{
w = -1;
}
ch = getchar();
}
while(ch >= '0' && ch <= '9')
{
s = s * 10 + ch - '0';
ch = getchar();
}
return s * w;
}
int main()
{
n = read();
for(int i = 1;i <= n;i++)
{
a[i] = read();
}
k = read();
sort(a + 1 , a + n + 1);
ans = a[n] - a[1];
for(int i = 1;i <= n;i++)
{
ans = min(ans , max(a[n] - k , a[i] + k) - min(a[i + 1] - k , a[1] + k));
}
cout << ans;
return 0;
}
区别:
sort(a + 1 , a + n + 1);
艹……
本文来自博客园,作者:Hzzxx,转载请注明原文链接:https://www.cnblogs.com/xinao2186182144/p/17227479.html