CF1704D Magical Array - 构造 -
题目链接:https://codeforces.com/contest/1704/problem/D
题意:
有n个序列,初始都一样,选定某一个序列,对做至少一次操作②,对除以外的每一个数列至少做一次操作①,给出最后得到的个数列,问和操作②的次数
操作①:选定(m为序列长度),,
操作①:选定,,
题解:
设
对于操作①,计算的新值为
对应的旧值为
观察可知,二者结果相等
同理对于操作②,我们发现其新的结果恰好多了一个1(变成了,结果多1)
于是我们统计一下每个数列对应的值即可
代码:
// by Balloons
#include <cstdio>
#include <vector>
#include <cstring>
#include <iostream>
#include <algorithm>
#define mpr make_pair
#define debug() cerr<<"Madoka"<<endl
#define rep(i,a,b) for(int (i)=(a);(i)<=(b);(i)++)
using namespace std;
typedef long long LL;
#define int LL
const int inf = 1e9,maxn=1e5 + 5;
int n,m;
void solve(){
scanf("%I64d%I64d",&n,&m);
int mxx = -1e18,mnn = 1e18,p;
for(int i=1;i<=n;i++){
int mx=0;
for(int j=1;j<=m;j++){
int t;scanf("%I64d",&t);
mx += t*j;
}
if(mxx < mx)p = i;
mxx = max(mxx, mx);
mnn = min(mnn, mx);
}
printf("%I64d %I64d\n",p,mxx - mnn);
}
signed main(){
int te;scanf("%I64d",&te);
while(te --)solve();
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示