Codeforces Round #665 (Div. 2)A-C题解
A. Distance and Axis
题目:http://codeforces.com/contest/1401/problem/A
题解:对于n来说分两种情况,一是奇数,二则是偶数
①奇数:对于k来说如果是奇数且小于等于他,ans=0;若k是奇数并且大于n,则ans=k-n;若k是偶数并且k<n,那么ans=1;若k为偶数并且k>n,则ans=k-n
②偶数:若k为偶数并且k<=n,则ans=0;若k为偶数并且k>n,则ans=k-n;若k为奇数并且k<n,则ans=1;若k为奇数并且k>n,则ans=k-n
代码:
#include<bits/stdc++.h> //POJ不支持
#define rep(i,a,n) for (int i=a;i<=n;i++)//i为循环变量,a为初始值,n为界限值,递增
#define per(i,a,n) for (int i=a;i>=n;i--)//i为循环变量, a为初始值,n为界限值,递减。
#define pb push_back
#define IOS ios::sync_with_stdio(false);cin.tie(0); cout.tie(0)
#define fi first
#define se second
#define mp make_pair using namespace std; const int inf = 0x3f3f3f3f;//无穷大
//const int maxn = ;//最大值。
typedef long long ll;
typedef long double ld;
typedef pair<ll, ll> pll;
typedef pair<int, int> pii; int main()
{
IOS;
ll t,n,k;
cin>>t;
while(t--)
{
cin>>n>>k;
if(n%==)
{
if(k%==&&k<=n)
cout<<""<<endl;
else if(k%==&&k>n)
cout<<k-n<<endl;
else if(k%==&&k<n)
cout<<""<<endl;
else if(k%==&&k>n)
cout<<k-n<<endl;
}
else
{
if(k%==&&k<n)
cout<<""<<endl;
else if(k%==&&k>n)
cout<<k-n<<endl;
else if(k%==&&k<=n)
cout<<""<<endl;
else if(k%==&&k>n)
cout<<k-n<<endl;
}
}
return ;
}
B. Ternary Sequence
题目:http://codeforces.com/contest/1401/problem/B
题解:若想最大,只有让尽可能多的a数组中的2去匹对b数组中的1,这样就都是正的。但也会存在负数,如何才能达到最大化呢?一道典型的贪心思路问题
首先判断a中2的个数是否大于b中1的个数
若大于b中1的个数,ans=2*y2,在判断a中0的个数和剩下的2的个数是否大于b数组中2的个数,若大于,答案还是ans;若小于,则b数组中剩下的2的个数将要和a数组中的1的个数进行配对,产生负数,则ans-=2*z2
若小于b中的1的个数,ans=2*z1,然后判断a中0的个数是否大于b中2的个数,若大于,答案就是ans;若小于,则b数组中剩下的2的个数将要和a数组中1的个数进行配对,产生负数,则ans-=2*z2
代码:
#include<bits/stdc++.h> //POJ不支持
#define rep(i,a,n) for (int i=a;i<=n;i++)//i为循环变量,a为初始值,n为界限值,递增
#define per(i,a,n) for (int i=a;i>=n;i--)//i为循环变量, a为初始值,n为界限值,递减。
#define pb push_back
#define IOS ios::sync_with_stdio(false);cin.tie(0); cout.tie(0)
#define fi first
#define se second
#define mp make_pair using namespace std; const int inf = 0x3f3f3f3f;//无穷大
//const int maxn = ;//最大值。
typedef long long ll;
typedef long double ld;
typedef pair<ll, ll> pll;
typedef pair<int, int> pii; int main()
{
IOS;
ll t,x1,x2,y1,y2,z1,z2;
cin>>t;
while(t--)
{
cin>>x1>>y1>>z1;
cin>>x2>>y2>>z2;
ll ans=;
if(z1>=y2)
{
ans+=*y2;
z1-=y2;
if(x1+z1<z2)
{
z2=z2-(x1+z1);
ans-=*z2;
}
}
else
{
ans+=*z1;
if(x1<z2)
{
z2-=x1;
ans-=z2*;
}
}
cout<<ans<<endl;
}
return ;
}
C. Mere Array
题目:http://codeforces.com/contest/1401/problem/C
题解:用两个数组来判断,其一数组来记录数字,另一数组排序形成最终的答案数组。
然后我们理解一下,第i个第j个数交换位置,相当于第i个数先和最小数交换,然后最小数在和第j个数交换。因此,从头到尾对比两个数组,如果数字不一致,判断原来数组是否整除最小数,如果不能整除代表此位置不能交换,因而不会形成最终的不递减数组。
代码:
#include<bits/stdc++.h> //POJ不支持
#define rep(i,a,n) for (int i=a;i<=n;i++)//i为循环变量,a为初始值,n为界限值,递增
#define per(i,a,n) for (int i=a;i>=n;i--)//i为循环变量, a为初始值,n为界限值,递减。
#define pb push_back
#define IOS ios::sync_with_stdio(false);cin.tie(0); cout.tie(0)
#define fi first
#define se second
#define mp make_pair using namespace std; const int inf = 0x3f3f3f3f;//无穷大
const int maxn = ;//最大值。
typedef long long ll;
typedef long double ld;
typedef pair<ll, ll> pll;
typedef pair<int, int> pii; ll gcd(ll a,ll b)
{
return b?gcd(b,a%b):a;
}
ll a[maxn],b[maxn];
int main()
{
IOS;
int t,i,j,n,tmp;
cin>>t;
while(t--)
{
cin>>n;
for(i=;i<n;i++)
{
cin>>a[i];
b[i]=a[i];
}
sort(a,a+n);
bool flag=false;
for(i=;i<n;i++)
{
if(a[i]!=b[i])
{
if(b[i]%a[]!=)
{
flag=true;
break;
}
}
}
if(flag==true)
cout<<"NO"<<endl;
else
cout<<"YES"<<endl;
}
return ;
}
Codeforces Round #665 (Div. 2)A-C题解的更多相关文章
- Codeforces Round #665 (Div. 2) 题解
Codeforces Round #665 (Div. 2) 题解 写得有点晚了,估计都官方题解看完切掉了,没人看我的了qaq. 目录 Codeforces Round #665 (Div. 2) 题 ...
- Codeforces Round #612 (Div. 2) 前四题题解
这场比赛的出题人挺有意思,全部magic成了青色. 还有题目中的图片特别有趣. 晚上没打,开virtual contest打的,就会前三道,我太菜了. 最后看着题解补了第四道. 比赛传送门 A. An ...
- Codeforces Round #665 (Div. 2)
Codeforces Round #665 (Div. 2) A. Distance and Axis 如果\(B\)在\(O\)左边,那么只能是定值\(OA\) 如果\(B\)在\(OA\)中间 ...
- Codeforces Round #198 (Div. 2)A,B题解
Codeforces Round #198 (Div. 2) 昨天看到奋斗群的群赛,好奇的去做了一下, 大概花了3个小时Ak,我大概可以退役了吧 那下面来稍微总结一下 A. The Wall Iahu ...
- Codeforces Round #672 (Div. 2) A - C1题解
[Codeforces Round #672 (Div. 2) A - C1 ] 题目链接# A. Cubes Sorting 思路: " If Wheatley needs more th ...
- Codeforces Round #665 (Div. 2) D. Maximum Distributed Tree 题解(贪心+易错)
题目链接 题目大意 给你一课树,要你给每一条边分权值,每条边的权值大于0,他们的乘积等于k,而且要使得n-1条边1的数量尽可能少,定义 f(u,v)为u到v的边权和求 \(\max \sum_{i=1 ...
- Codeforces Round #614 (Div. 2) A-E简要题解
链接:https://codeforces.com/contest/1293 A. ConneR and the A.R.C. Markland-N 题意:略 思路:上下枚举1000次扫一遍,比较一下 ...
- Codeforces Round #610 (Div. 2) A-E简要题解
contest链接: https://codeforces.com/contest/1282 A. Temporarily unavailable 题意: 给一个区间L,R通有网络,有个点x,在x+r ...
- Codeforces Round #611 (Div. 3) A-F简要题解
contest链接:https://codeforces.com/contest/1283 A. Minutes Before the New Year 题意:给一个当前时间,输出离第二天差多少分钟 ...
随机推荐
- shell 中的${},##, %% , :- ,:+, ? 的使用
假设我们定义了一个变量为:file=/dir1/dir2/dir3/my.file.txt 可以用${ }分别替换得到不同的值:${file#*/}:删掉第一个/ 及其左边的字符串:dir1/dir2 ...
- Salt组件(一)
一.管理对象属性(Grains) Grains里面记录着每台Minion的一些常用属性,比如CPU.内存.磁盘.网信息等,我们可以通过grains.items查看某台Minion的所有Grains信息 ...
- Python package project
使用 Python 书写项目打包程序(已经存在 shell 的脚本,经过对比 Python 脚本的执行过程更加的可控人性化实现的功能相同) #!/usr/bin/env python # _*_cod ...
- (一)python 格式化 excel 格式
需求: 客户通过 sftp 上传了一个 poc测试的 excel文件, 下到 云桌面 查看,发现一堆格式问题, 怎么办呢? 公司又不允许 吧文件下载到本地处理, 只能在 服务器上进行处理. 一堆的类型 ...
- PHP 超级全局变量讲解
PHP 超级全局变量 超级全局变量在PHP 4.1.0之后被启用, 是PHP系统中自带的变量,在一个脚本的全部作用域中都可用. PHP 超级全局变量 PHP中预定义了几个超级全局变量(superglo ...
- 树状图展示终端目录内容-tree
以树状图列出目录的内容,让你一目了然 执行 tree 指令,它会列出指定目录下的所有文件,包括子目录里的文件. 安装 我们通过包管理工具可以方便的安装它 mac - brew install tree ...
- Linux学习笔记之ubuntu安装与配置
1.打开虚拟机,点击新建虚拟机 2.安装向导 选择自定义安装 点击包含一个空白的硬盘 选择linux操作系统,版本是ubuntu 设置虚拟机的名称,可以自己写,还有保存的位置也可自选 根据自己电脑性能 ...
- Django REST framework 单元测试
Django REST framework 单元测试 只是简单记录一下测试代码怎么写 环境 Win10 Python3.7 Django2.2 项目 参照官网 快速开始 写了一个 demo 测试 参照 ...
- JS与React分别实现倒计时(天时分秒)
JS方法 html部分 <div class="clock"> <i></i> 天 <i></i> : <i> ...
- C#LeetCode刷题之#830-较大分组的位置(Positions of Large Groups)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3750 访问. 在一个由小写字母构成的字符串 S 中,包含由一些连 ...