C. Multiples of Length 思维构造
传送门
题意
给你一个长度为n的数组,让你进行三次操作,选择一个l到r的区间,这段长度为r - l,然后对于这段区间内的每一个数字,你都可以加上或者减去这段长度的倍数,要求三次操作结束之后,数组中每个元素都为0,求出这三次操作
分析
这道题首先我们可以把这个数组中的每一个元素都变成n的倍数,然后一起消除就可以了
然后我们选择n - 1这个点,把前n - 1个数字都加上(n - 1)* a[i],这样每一位数字都变成了n * a[i],也就是a[i] 的n倍,最后的a[n]因为长度为1,所以也加上(n - 1)* a[n],最后整体减去n * a[i]即可
注意两点
- n == 1的时候需要特判
- n * a[I]可能会爆int,需要用1ll * 来处理
代码
#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <queue>
#include <cstring>
#define debug(x) cout<<#x<<":"<<x<<endl;
#define _CRT_SECURE_NO_WARNINGS
#pragma GCC optimize("Ofast","unroll-loops","omit-frame-pointer","inline")
#pragma GCC option("arch=native","tune=native","no-zero-upper")
#pragma GCC target("avx2")
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int,int> PII;
const int INF = 0x3f3f3f3f;
const int N = 1e5 + 10;
int a[N];
int n;void ans(){printf("%d %d\n",1,n - 1);for(int i = 1;i < n;i++)printf("%lld ",(1ll * n - 1) * a[i]);puts("");printf("%d %d\n",n,n);printf("%lld\n",1ll * (n - 1) * a[n]);printf("%d %d\n",1,n);for(int i = 1;i <= n;i++)printf("%lld ",-(1ll * n * a[i]));puts("");
}int main(){scanf("%d",&n);for(int i = 1;i <= n;i++) scanf("%d",&a[i]);if(n != 1) ans();else{puts("1 1");cout << -a[1] << endl;puts("1 1");puts("0");puts("1 1");puts("0");}return 0;
}
C. Multiples of Length 思维构造相关推荐
- Codeforces Round #701 (Div. 2) D. Multiples and Power Differences 思维构造
传送门 题意: 给定一个矩阵aaa,让你构造一个矩阵bbb,要求矩阵bbb的每个元素是aaa对应位置元素的倍数,且矩阵bbb的每两个相邻元素相差为k4(k>=1)k^4(k>=1)k4(k ...
- 【CodeForces - 798D】Mike and distribution (思维构造,贪心,黑科技)
题干: Mike has always been thinking about the harshness of social inequality. He's so obsessed with it ...
- 中石油训练赛 - Edit Distance(思维+构造)
题目描述 A binary string is a non-empty sequence of 0's and 1's, e.g., 010110, 1, 11101, etc. The edit d ...
- Binary String Reconstruction CodeForces - 1352F(思维+构造)
For some binary string s (i.e. each character si is either '0' or '1'), all pairs of consecutive (ad ...
- 【CodeForces - 483C】Diverse Permutation(思维构造)
题干: Permutation p is an ordered set of integers p1, p2, ..., pn, consisting of ndistinct posit ...
- 【CodeForces - 892C 】Pride (数学,思维构造,gcd)
题干: You have an array a with length n, you can perform operations. Each operation is like this: choo ...
- CodeForces - 1504C Balance the Bits(思维+构造)
题目链接:https://vjudge.net/problem/CodeForces-1504C 题目大意:给出一个长度为 nnn 的 010101 串,现在要求构造出两个长度为 nnn 的合法括号序 ...
- HDU - 5573 Binary Tree(思维+构造+二进制)
题目链接:点击查看 题目大意:给出一棵无限大的完全二叉树,每次给出一个 n 和一个 k ,要求从点 1 出发一直向下,找到一条长度为 k 的路径,对于路径上的点可以加上其编号,也可以减去其编号,需要构 ...
- CodeForces - 1291D Irreducible Anagrams(思维+构造)
题目链接:点击查看 题目大意:首先规定两个字符串 s 和 t 为 Anagrams ,当且仅当字符串 t 可以通过字母重新排列后得到 s ,也就是每个字符出现的次数相同,但位置不做要求,紧接着规定另一 ...
- CodeForces - 125C Hobbits' Party(思维+构造)
题目链接:点击查看 题目大意:有一个派对,现在有 n 个人参加,题目要求我们构造出一种参加方式,满足条件且可以维持的天数最大: 任意两天中至少有一个相同的人参加 任意三天中不能有一个相同的人参加 输出 ...
最新文章
- 西湖大学蓝振忠:预训练语言模型的前沿发展趋势
- 成功解决SyntaxError: (unicode error) ‘unicodeescape‘ codec can‘t decode bytes in position 0-1: malformed
- 单因素方差分析_基于R语言开展方差分析(一)——单因素方差分析
- 2011 MVP大奖礼品包,那是相当的给力啊!!
- WPF的ComboBox 数据模板自定义
- OkHttp3详细使用教程(2)
- 宁德时代是前8个月全球最大电动汽车电池供应商
- Cisco协议学习笔记(VTP)
- 使用lombok注解,在代码编写过程中可以调用到get/set方法,但在编译的时候报错找不到get/set方法
- 传统蒙文字体_蒙文字体下载
- linux ssh 中文变问号,乱码 解决
- 开发一套企业管理软件系统要花费多少钱?
- java六角括号怎么打_六角括号怎么打出来 六角括号输入方法
- (第二章)HTML基本标记
- 越南旅游攻略??转载
- 怎么用计算机把浓度转换成PH,ph浓度换算(ph怎么换算OH浓度)
- 蓝桥杯复数运算python
- 实体识别BERT-MRC论文阅读笔记
- 她 | papi酱的中场“战事”
- 上海互联网公司和生活成本
热门文章
- shell脚本使用两个横杠接收外部参数
- android压力测试命令monkey详解,android压力测试命令monkey详解(示例代码)
- 邮箱登录名身份证号码等验证
- QML快捷键(Shortcut、Keys)
- python基础坑点
- 阴阳师服务器维护2月20,阴阳师2月20日官方更新公告 阴阳师2月20日更新内容汇总...
- [CodeForces] 274E Mirror Room
- 游戏服务器级别分类及对应服务器架构
- c++ 聚合/POD/平凡/标准布局 介绍
- 如何用基于保利威视云平台来做网络年会直播活动