Educational Codeforces Round 102 (Rated for Div. 2)
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()
题目:
解析:
Educational Codeforces Round 102 (Rated for Div. 2)的更多相关文章
- Educational Codeforces Round 102 (Rated for Div. 2) D. Program (思维,前缀和)
题意:给你一个只含\(+\)和\(-\)的字符串,给你一个数\(x\),\(x\)初始为\(0\),随着字符串的遍历会加一减一,现在有\(m\)个询问,每个询问给出一个区间\([l,r]\)表示将这个 ...
- Educational Codeforces Round 102 (Rated for Div. 2) B. String LCM (构造,思维)
题意:给你两个字符串\(a\)和\(b\),找出它们的\(lcm\),即构造一个新的字符串\(c\),使得\(c\)可以由\(x\)个\(a\)得到,并且可以由\(y\)个\(b\)得到,输出\(c\ ...
- Educational Codeforces Round 60 (Rated for Div. 2) - C. Magic Ship
Problem Educational Codeforces Round 60 (Rated for Div. 2) - C. Magic Ship Time Limit: 2000 mSec P ...
- Educational Codeforces Round 60 (Rated for Div. 2) - D. Magic Gems(动态规划+矩阵快速幂)
Problem Educational Codeforces Round 60 (Rated for Div. 2) - D. Magic Gems Time Limit: 3000 mSec P ...
- Educational Codeforces Round 43 (Rated for Div. 2)
Educational Codeforces Round 43 (Rated for Div. 2) https://codeforces.com/contest/976 A #include< ...
- Educational Codeforces Round 35 (Rated for Div. 2)
Educational Codeforces Round 35 (Rated for Div. 2) https://codeforces.com/contest/911 A 模拟 #include& ...
- Codeforces Educational Codeforces Round 44 (Rated for Div. 2) F. Isomorphic Strings
Codeforces Educational Codeforces Round 44 (Rated for Div. 2) F. Isomorphic Strings 题目连接: http://cod ...
- Codeforces Educational Codeforces Round 44 (Rated for Div. 2) E. Pencils and Boxes
Codeforces Educational Codeforces Round 44 (Rated for Div. 2) E. Pencils and Boxes 题目连接: http://code ...
- Educational Codeforces Round 63 (Rated for Div. 2) 题解
Educational Codeforces Round 63 (Rated for Div. 2)题解 题目链接 A. Reverse a Substring 给出一个字符串,现在可以对这个字符串进 ...
随机推荐
- 题解-Cats Transport
题解-Cats Transport Cats Transport 有 \(n\) 个山丘,\(m\) 只猫子,\(p\) 只铲屎官.第 \(i-1\) 个山丘到第 \(i\) 个山丘的距离是 \(d_ ...
- Angular:自定义属性指令
①在命令行窗口下用 CLI 命令ng g directive创建指令类文件 ②将directives/light.directive.ts文件改造一番 import { Directive, Elem ...
- vue+ springboot 分页(两种方式:sql分页 & PageHelper 分页)
方法一:sql分页 思路:使用数据库进行分页 前端使用element-ui的分页组件,往后台传第几页的起始行offest 以及每页多少行pageSize,后台根据起始行数和每页的行数可以算出该页的 ...
- 牛客挑战赛46 B
题目链接: 最小的指数 乍一看还以为是Pollard_rho算法,其实大可不必. 发现\(1<= n <= 1e18\),我们可以将n分为两部分(分块思想降低时间复杂度). 剔除小于等于\ ...
- 解决idea 中web项目无法正常显示的问题
- windows上mysql5.7服务启动报错
安装之后,启动服务 net start mysql,无法启动,日志报错缺少一些系统表,mysql.user等表 解决办法: bin目下执行:mysqld --initialize-insecure - ...
- ElasticSearch中head插件的简单用法
1.首先在左侧打开Query栏. 2.Query下方的第一栏是分别输入es的地址.端口号.index.type. 3.Query下方的第二栏是输入将要执行的方式,旁边的下拉框是辅助选择执行的类型,如图 ...
- js下 Day15、正则表达式
一.正则表达式简介 什么是正则表达式 正则表达式,也叫规则表达式, 是对字符串操作的一种逻辑公式. 为什么要使用正则? 1.使用极简单的方式,去匹配字符串 2.速度快,代码少 3.在复杂的字符串中快速 ...
- 老哥你能写篇 SpringCloud Alibaba 全家桶吗? 看视频太累 太枯燥了 !
最喜欢的一句话: 1.01的365次方=37.78343433289 >>>1 0.99的365次方= 0.02551796445229, 每天进步一点点的目标,贵在坚持 前端时间有 ...
- 物联网打工人必备:LiteOS Studio图形化调测能力
摘要:本文会给大家介绍下LiteOS Studio的调测的几个知识点,包括: 调测配置,监视变量,反汇编代码同步展示,数值进制切换,跨平台编译调测,Qemu模拟器调测,多核调测,远程设备调测等. 掌握 ...