题意 :

  • 给一长为n的序列,不含0,求构造一个长为n的不包含0的序列满足两个序列的乘积和为0,且构造的序列的元素绝对值和不超过1e91e91e9

思路 :

  • 首先如果n是偶数,很容易构造,只要令b[i]=a[i+1]b[i] = a[i + 1]b[i]=a[i+1],b[i+1]=−a[i]b[i + 1] = -a[i]b[i+1]=−a[i],两两配对即可
  • 如果n是奇数,取前三个令它们三个的和为0,剩下的就是偶数情况了。要使a[i]∗b[i]+a[i+1]∗b[i+1]+a[i+2]∗b[i+2]=0a[i]*b[i] + a[i + 1] * b[i + 1] + a[i + 2] * b[i + 2] = 0a[i]∗b[i]+a[i+1]∗b[i+1]+a[i+2]∗b[i+2]=0,可以令b[i]=a[i+1]+a[i+2]b[i] = a[i + 1] + a[i + 2]b[i]=a[i+1]+a[i+2],b[i+1]=b[i+2]=−a[i]b[i + 1] = b[i + 2] = -a[i]b[i+1]=b[i+2]=−a[i],但要满足a[i + 1] + a[i + 2] != 0,分成三种情况即可,因为不可能满足(x + y == 0 && x + z == 0 && y + z == 0) -> (x == 0 && y == 0 && z == 0)
#include <iostream>
#include <algorithm>
#include <cstring>
#include <queue>
#include <stack>
#include <unordered_set>using namespace std;typedef long long ll;const int N = 1e5 + 10;int a[N];int main()
{ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);int _;cin >> _;while (_ -- ){int n;cin >> n;for (int i = 1; i <= n; i ++ ) cin >> a[i];if (n % 2 == 0){for (int i = 1; i <= n; i += 2)cout << -a[i + 1] << ' ' << a[i] << ' ';cout << endl;}else{int x = a[1], y = a[2], z = a[3];if (x + y != 0) cout << -z << ' ' << -z << ' ' << x + y << ' ';else if (x + z != 0) cout << -y << ' ' << x + z << ' ' << -y << ' ';else cout << y + z << ' ' << -x << ' ' << -x << ' ';for (int i = 4; i <= n; i += 2)cout << -a[i + 1] << ' ' << a[i] << ' ';cout << endl;}}return 0;
}

Vupsen, Pupsen and 0 思维,凑系数相关推荐

  1. Vupsen, Pupsen and 0

    就是在除数后面加0,如果是一位然后除数是10就输出-1,其他的就在除数后面加0即可. #include<bits/stdc++.h>using namespace std;typedef ...

  2. codeforces 750 (Div2)ABCD

    contents: A. Luntik and Concerts 题意 思路 AC B. Luntik and Subsequences 思路 AC C. Grandma Capa Knits a S ...

  3. Codeforces Round #750 (Div. 2)

    ):稍微补一下. A. Luntik and Concerts void solve(){int a,b,c;scanf("%d%d%d",&a,&b,&c ...

  4. codeforces:ProblemMset

    最近一个月在codeforces上做的题(做个记录) 后面太多了就不把代码一一放出了,只放置了链接,可根据链接找到提交的代码. 最小子矩阵 #include <iostream> #inc ...

  5. Codeforces Round #750 (Div. 2) a-d

    Codeforces Round #750 A. Luntik and Concerts B. Luntik and Subsequences C. Grandma Capa Knits a Scar ...

  6. 用0和5凑被90整除的max数(洛谷P2192题题解,Java语言描述)

    题目要求 P2192题目链接 分析 盘一盘各种情况吧: 要被90整除,就必须被10整除,所以必须有0,没0就是-1啊. 要被90整除,一堆5,靠0是没用的,只能是9个5凑一堆儿才有用,有0但凑不够9个 ...

  7. XMind ZEN 2020 10.2.0 for Mac中文版 最好用的Mac思维导图应用

    XMind: ZEN 2020 10.2.0 for Mac版基于全新的 Snowbrush 内核开发,外观简约.美观,XMind: ZEN 2020 10.2.0思维导图结构包含一个中心主题,各主要 ...

  8. POJ - 2965 The Pilots Brothers' refrigerator(bfs+路径输出/思维+位运算)

    题目链接:点击查看 题目大意:给出一个4*4的矩阵,每个点都代表一个开关,'+'代表关,'-'代表开,每次操作可以任意改变一个开关(x,y)的状态,但代价是x行和y列的开关都要一起改变状态,题目要求将 ...

  9. 计算机符号化思维,浅谈符号化的数学思维

    数学符号是数学抽象思维的产物,数学的符号语言有助于思维.研究数学符号的思维功能是提示大脑的数学思维机能和特性的需要.那么本文试就数学符号的思维功能谈几点认识. 一.数学符号是思维活动的物质载体 数学符 ...

最新文章

  1. 复制活动记录记录的最简单方法是什么?
  2. 「转型新范式」第四范式2021发布会全程直播倒计时
  3. python 动态规划_DP动态规划(Python实现)
  4. 前端电子书单大分享~~~
  5. 格式化字符串,不足补零
  6. 【HTML5】Web存储、通信、地理位置
  7. LRU的两种实现方案
  8. 清华,北大坐实亚洲大学Top2,泰晤士2020亚洲大学榜
  9. 为什么阿里要和小米在智能音箱上死磕?
  10. 使用mysql事务管理_MySQL事务管理的介绍(附示例)
  11. FZU 2092 收集水晶 BFS记忆化搜索
  12. php把文本数据保存为文件格式,word如何保存文件格式为纯文本格式?
  13. 教育信息化2.0建设解决方案
  14. c语言编黑白棋的思路,黑白棋的问题。。555。。头发都掉了。。。
  15. Luogu 3332 [ZJOI2013]K大数查询
  16. 需求分析(知识点总结)
  17. AppCompatActivity设置透明背景
  18. xxm php,XXM个人知识管理工具 v6.0.5
  19. [置顶] 得失寸心知
  20. mybatisplus where或and后面的条件用括号括起来

热门文章

  1. 12、Power Query-透视列实例应用(多单元格记录合并及汇总)
  2. 5、Power Query-抓取网页数据做漂亮的图表
  3. 企业移动应用平台:走进SAP SUP的世界
  4. 冒险实施SAP HANA 农夫山泉缘何做第一个“吃螃蟹”者?
  5. ALV中调用Excel, 丢掉前面的0问题解决
  6. 别再找了!全网最全的数据分析全流程攻略在这
  7. 究竟有多少假代购,在2亿多海淘用户市场里浑水摸鱼?
  8. 新基建与新消费碰撞的时代,日日顺如何以场景物流重新定义物流服务?
  9. ffmpeg 如何把左右声道_耳机里的乾坤 | 左右声道?耳返?这些耳机常识,爱听音乐的你一定不会错过...
  10. cordova 蓝牙_Ionic通过Cordova插件使用设备能力