codeforces B. Omkar and Infinity Clock
admin
2023-08-16 22:08:58
0

codeforces B. Omkar and Infinity Clock
文章图片

题目 题意: 给你一个 n , k n,k n,k和一个 a a a序列,你可以进行操作,计算出 a a a中的最大值 d d d,然后 a i = d ? a i a_i=d-a_i ai?=d?ai?,进行 k k k次这样的操作,求出最后的 a a a序列。
思路: 我们列出操作后的序列:

  • 第一次: b 1 , b 2 , b 3 , . . . . b n ( m a x = d ) b_1,b_2,b_3,....b_n(max = d) b1?,b2?,b3?,....bn?(max=d)
  • 第二次: d ? b 1 , d ? b 2 , d ? b 3 , . . . . , d ? b n ( m a x = d ) d-b_1,d-b_2,d-b_3,....,d-b_n(max=d) d?b1?,d?b2?,d?b3?,....,d?bn?(max=d)
  • 第三次: d ? ( d ? b 1 ) = b 1 , d ? ( d ? b 2 ) = b 2 , . . . . . , b n ( m a x = d ) d-(d-b_1)=b_1,d-(d-b_2)=b2,.....,b_n(max=d) d?(d?b1?)=b1?,d?(d?b2?)=b2,.....,bn?(max=d)
【codeforces B. Omkar and Infinity Clock】我们可以发现这个序列是交替的,每一次的最大值都是 d d d,第一次操作后肯定有肯定存在一个 b i = 0 b_i=0 bi?=0,这里的 d d d指的是 b b b序列中的最大值,不是 a a a序列中的,然后每一次的最大值都是 d ? ( b i = 0 ) = d d-(b_i=0)=d d?(bi?=0)=d,我们计算出这两个序列,然后判断 k k k的奇偶性就可以得出最终的序列了。
#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef vector veci; typedef vector vecl; typedef pair pii; typedef pair pll; template inline void read(T &ret) { char c; int sgn; if (c = getchar(), c == EOF) return ; while (c != '-' && (c < '0' || c > '9')) c = getchar(); sgn = (c == '-') ? -1:1; ret = (c == '-') ? 0:(c - '0'); while (c = getchar(), c >= '0' && c <= '9') ret = ret * 10 + (c - '0'); ret *= sgn; return ; } inline void outi(int x) {if (x > 9) outi(x / 10); putchar(x % 10 + '0'); } inline void outl(ll x) {if (x > 9) outl(x / 10); putchar(x % 10 + '0'); } const int maxn = 2e5 + 10; ll a[maxn] = {0}, b[maxn]; int main() { int t; read(t); while (t--) { ll n, k; read(n), read(k); ll Max = -1e9; for (int i = 0; i < n; i++) { read(a[i]); Max = max(a[i], Max); } ll Max2 = -1e18; for (int i = 0; i < n; i++) a[i] = Max - a[i], Max2 = max(a[i], Max2); for (int i = 0; i < n; i++) b[i] = Max2 - a[i]; if (k & 1) for (int i = 0; i < n; i++) printf("%lld ", a[i]); else for (int i = 0; i < n; i++) printf("%lld ", b[i]); printf("\n"); } return 0; } /* 1 5 20 5 -1 4 2 0 */

相关内容

热门资讯

a... 本文目录导航: abaqus振动照应剖析中处罚力的加载方法 abaqus反...
a... 本文目录导航: abaqus资料可以不设置参数吗 abaqus外面没有自带...
A... 本文目录导航: ANSYS Workbench中二维平面剖析的设置。 an...
h... 本文目录导航: hfss19.2允许win11吗 微带如何假负载 ...
a... 本文目录导航: ansys模流剖析用哪个模块 Ansys_workbenc...
v... 本文目录导航: 在ansys中,建好几何模型后,随意变动一下视图,旋转、加大、增加,Fit...
A... 本文目录导航: Ansys软件可以收费试用吗? ansys有哪些软件 ...
a... 本文目录导航: abaqus中如何同时关上两个cae文件? abaqus找...
a... 本文目录导航: ansys流体剖析迭代次数可以中止嘛 Ansys Flot...
这... 本文目录导航: 哪位大佬有 Fluent14.5流场剖析从入门到知晓,这种百度网盘资源的链...
经... 双击D2进入System Coupling的设置,在Solution上右击选用Clear Gener...
a... 本文目录导航: ansys软件引见 ansys有哪些软件 ...
a... 本文目录导航: abaqus系列技巧18:聊聊abaqus云图外面的魔术加大镜--缩放倍数...
a... 本文目录导航: abaqus中网格不可绘制 abaqus结果可视化某个部件...
a... 本文目录导航: abaqus结果可视化某个部件云图只显示网格接壤处的? a...
驳... 本文目录导航: ABAQUS中假设选择施加的载荷类型为pressure,对应的载荷单位应该...
a... 本文目录导航: abaqus2020旋转不了物体 怎样判别abaqus转的...
在... 本文目录导航: 在abaqus中如何删除一个单元 ABAQUS怎样删除网格...
它... 本文目录导航: abaqus为什么叫abaqus,它是那些词的简称么?全称是什么呢? ...
披着“现货订购”外衣的非法期货...   近期,甘肃西北商品交易市场有限公司旗下的“铂银掘金APP”引发大量投资者集中维权。该平台打着“低...