比赛地址

A(水题)

题目链接

题目:

给出一个数组\(a\)并能进行一个操作使得数组元素更改为数组任意其他两元素之和,问是否可以让数组元素全部小于等于\(d\)

解析:

排序后判断最大值是否小于等于\(d\)或者最小的两个值是否小于等于\(d\)即可

#include<bits/stdc++.h>
using namespace std;
const int maxn = 105;
int n, dat[maxn]; int main() {
int T;
scanf("%d", &T);
while (T--) {
int n, d;
dat[1] = 0;
scanf("%d%d", &n, &d);
for (int i = 0; i < n; ++i)
scanf("%d", &dat[i]);
sort(dat, dat + n);
printf("%s\n", dat[n - 1] <= d || dat[0] + dat[1] <= d ? "YES" : "NO");
}
}

B(思维)

题目链接

题目:

给出两个字符串,定义\(LCM(S_1,S_2)\)是由这两个串作为循环节的最小长度串,问\(LCM(S_1,S_2)\)是什么,如果不存在则输出\(-1\)

解析:

如果\(LCM\)存在,则它的长度一定是\(LCM(len_1,len_2)\),那么已知最终串的长度,就可以算出每个循环节的循环次数,判断循环倍增后的串是否相同即可

#include<bits/stdc++.h>
using namespace std;
string str[2]; string repeat(const string& a, int x) {
string t;
while (x--)
t += a;
return t;
} int gcd(int a, int b) { return b ? gcd(b, a % b) : a; } int main() {
ios::sync_with_stdio(false);
cin.tie(0);
int T;
cin >> T;
while (T--) {
cin >> str[0] >> str[1];
int d = gcd(str[0].length(), str[1].length());
string t[2] = { repeat(str[0],str[1].length() / d),repeat(str[1],str[0].length() / d) };
cout << (t[0] == t[1] ? t[0] : "-1") << endl;
}
}

C(找规律)

题目链接

题目:

给出\(n\)与\(k\),以及对应的数组\(a=1,2,\dots,k-1,k,k-1,k-2,\dots,k-(n-k)\),现在假定有一个长度为\(k\)的排列\(p\),依照他构造出数组\(b\),使得\(b[i]=p[a[i]]\),问使得\(b\)中逆序对数不超过\(a\)的话,p中满足要求的且为最大字典序的排列是什么

解析:

这样的变换可以理解为\(a\)为索引下表,\(b\)为对应值

o( ̄▽ ̄)ブ找规律可以发现,将原本\(k,k-1,k-2,\dots,k-(n-k)\)进行倒序排列,逆序对数不会改变,且可以让字典序增加,但除此之外的序列仍然需要服从正序排列\(1\dots n-(n-k+1)\)

#include<bits/stdc++.h>
using namespace std;
int n, k; int main() {
int T;
scanf("%d", &T);
while (T--) {
scanf("%d%d", &n, &k);
int a = n - k;
int b = k - a;
for (int i = 1; i < b; ++i)
printf("%d ", i);
for (int j = 0; j <= a; ++j)
printf("%d ", k - j);
printf("\n");
}
}

D(思维)

题目链接

题目:

解析:

E()

题目链接

题目:

解析:

最新文章

  1. InfoPi运行机制介绍
  2. 将SQL SERVER数据库改成MySql
  3. Java api 入门教程 之 JAVA的包装类
  4. 压测 apache ab 初探
  5. CocoaPods安装和使用教程(转摘)
  6. css - float浮动模块的高度问题 解决方案
  7. Web用户自定义控件
  8. Python:if-while-for
  9. King&#39;s Quest - poj 1904(强连通分量+外挂输入输出)
  10. 《C程序设计语言》读书笔记----习题1-21
  11. Ubuntu14.04 安装Oracle JDK
  12. LoadRunner【第五篇】关联
  13. FJUT3260
  14. C++进阶--Koenig lookup 依赖于实参的名字查找
  15. e870. 获取默认外观的数据
  16. 数学分析中jensen不等式由浅入深进行教学(转)
  17. Nginx负载均衡的五种策略
  18. Docker添加官方加速源(必须)
  19. bean对grub4dos做出的巨大贡献总结
  20. Delphi 实现多线程编程的线程类 TThread

热门文章

  1. pyppeteer 登录一般网站 并利用 http方法获取登录页面的验证码
  2. memcached session会话共享
  3. windows 上的MySQL默认字符集设置踩过的坑
  4. day111:MoFang:邀请好友流程&amp;生成邀请好友二维码&amp;第三方应用识别二维码&amp;本地编译测试&amp;记录邀请人信息
  5. react第三单元(react组件的生命周期)
  6. 1款开源工具,实现自动化升级K3S集群!
  7. 使用docker-maven-plugin打包
  8. Vue必须必须要注意的几个细节
  9. Python爬取跑男的评论,看看大家都在看谁吧
  10. 高德打车对接loader.js文件的实现