Codeforces Round #615 (Div. 3) 补题记录
第一次搞CF,结果惨不忍睹...还是太菜了
A:要用到全部的钱,所以总数必须是3的倍数,而且初始状态下任意一人的钱数不能超过总数除以3,否则没法分了
(也就这个签到算是在我能力范围之内了....)
#include <iostream>
#include <cmath>
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <map>
using namespace std;
int main ()
{
int t,a,b,c,m;
cin>>t;
while (t--)
{
int flag=;
scanf("%d %d %d %d",&a,&b,&c,&m);
int all=a+b+c+m;
if (all%==&&a<=all/&&b<=all/&&c<=all/)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl; }
return ;
}
B:一看到图马上怂了...还有字典序,我蒟蒻立刻放弃了....(其实真正好好看的话也就那样...)
最开始看到的话,毕竟只能在右,上两个方向走,所以如果有两个点他们的斜率是负的(一个在左上一个在右下)明显就不行(而且这时间复杂度n^2就很诡异)
但是我没法找出一条路线,看了题解之后,满足字典序最小的话就是先R再U
后面看了题解知道可以用一次结构体排序来确定下一次该去的位置,而且排序后只需要比较相邻的两个点是否符合题意就行
cmp排序函数
bool cmp (node a, node b)
{
if (a.y!=b.y)
return a.y<b.y;
else
return a.x<b.x;
}
sort完之后,就是从最下面一行逐渐向上,在一行之内从左到右的顺序排(如表格),所以可能出现不符题意的情况只存在与一行的末尾和上一行的开头这两个点。
| 7 | 8 | 9 |
| 4 | 5 | 6 |
| 1 | 2 | 3 |
因为是排好序的,所有从(0,0)开始遍历到最后一个点就行了
#include <iostream>
#include <algorithm> using namespace std;
struct node
{
int x,y;
}p[];
bool cmp (node a, node b)
{
if (a.y!=b.y)
return a.y<b.y;
else
return a.x<b.x;
}
int main()
{
int t,n;
scanf("%d",&t);
while (t--)
{
int flag=;
scanf("%d",&n);
for (int i=;i<=n;i++)
scanf("%d %d",&p[i].x,&p[i].y);
p[].x=,p[].y=;
sort(p+,p+n+,cmp);
for (int i=;i<=n;i++)
{
if ((p[i].x<p[i-].x)&&(p[i].y>p[i-].y))
flag=;
}
if (flag==)
printf("NO\n");
else
{
printf("YES\n");
for (int i=;i<=n;i++)
{
for (int j=;j<(p[i].x-p[i-].x);j++)
printf("R");
for (int j=;j<(p[i].y-p[i-].y);j++)
printf("U");
}
printf("\n");
}
}
return ;
}
C :这题就很诡异,我本来觉得就不可能过的居然就过了...
题意就是给一个数,把它分解为三个大于2的数相乘的形式,个人想法就是从2开始遍历,找到一个因数就先除掉,再做一遍,找到下一个不与上一个数重合的因数除掉,这样就剩三个数,最后比较一下三个数里有没有相等的,没有就输出。总觉得有什么问题,但是先把代码记一下吧。
#include <iostream>
#include <cmath>
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <map>
using namespace std;
int main ()
{
int t,n;
scanf("%d",&t);
while (t--)
{
int num[]={},flag=;
scanf("%d",&n);
for (int i=;i<=sqrt(n*1.0);i++)
{
if(n%i==&&flag==)
{
num[]=i;
n=n/i;
i=;
flag++;
}
else if (n%i==&&flag==&&i!=num[])
{
num[]=i;
n=n/i;
flag=;
break;
}
}
if (flag==&&(num[]!=n)&&(num[]!=n))
printf("YES\n%d %d %d\n",num[],num[],n);
else
printf("NO\n");
}
return ;
}
D:看不懂题还行....
题意:MEX是一个数组中没有出现过的最小非负整数,第一行给定q和x,随后的q行都给一个数,对于这个数,可以任意增加或减少任意个x,再加入到数组中,要求q次加完之后使MEX最大。
Codeforces Round #615 (Div. 3) 补题记录的更多相关文章
- Codeforces Round #786 (Div. 3) 补题记录
小结: A,B,F 切,C 没写 1ll 对照样例才发现,E,G 对照样例过,D 对照样例+看了其他人代码(主要急于看后面的题,能调出来的但偷懒了. CF1674A Number Transforma ...
- Codeforces Round #617 (Div. 3) 补题记录
1296A - Array with Odd Sum 题意:可以改变数组中的一个数的值成另外一个数组中的数,问能不能使数组的和是个奇数 思路:签到,如果本来数组的和就是个奇数,那就OK 如果不是,就需 ...
- Codeforces Round #412 Div. 2 补题 D. Dynamic Problem Scoring
D. Dynamic Problem Scoring time limit per test 2 seconds memory limit per test 256 megabytes input s ...
- Codeforces Round #585 (Div. 2) [补题]
前言 2019.9.16 昨天下午就看了看D题,没有写对,因为要补作业,快点下机了,这周争取把题补完. 2019.9.17 这篇文章或者其他文章难免有错别字不被察觉,请读者还是要根据意思来读,不要纠结 ...
- Codeforces Round #429 (Div. 2) 补题
A. Generous Kefa 题意:n个气球分给k个人,问每个人能否拿到的气球都不一样 解法:显然当某种气球的个数大于K的话,就GG了. #include <bits/stdc++.h> ...
- Codeforces Round #419 (Div. 1) 补题 CF 815 A-E
A-C传送门 D Karen and Cards 技巧性很强的一道二分优化题 题意很简单 给定n个三元组,和三个维度的上限,问存在多少三元组,使得对于给定的n个三元组中的每一个,必有两个维度严格小于. ...
- Codeforces Round #590 (Div. 3)补题
要想上2000分,先刷几百道2000+的题再说 ---某神 题目 E F 赛时是否尝试 × × tag math bitmask 难度 2000 2400 状态 ∅ √ 解 E 待定 F 传送门 第一 ...
- Codeforces Round #574 (Div. 2)补题
A. Drinks Choosing 统计每种酒有多少人偏爱他们. ki 为每种酒的偏爱人数. 输出ans = (n + 1)/2 > Σki / 2 ? (n + 1)/2 - Σki / ...
- Codeforces Round #378 (Div. 2) D题(data structure)解题报告
题目地址 先简单的总结一下这次CF,前两道题非常的水,可是第一题又是因为自己想的不够周到而被Hack了一次(或许也应该感谢这个hack我的人,使我没有最后在赛后测试中WA).做到C题时看到题目情况非常 ...
随机推荐
- Spring学习笔记:使用Pointcut 和Advisor实现AOP
基础知识 在 Spring AOP 中,有 3 个常用的概念,Advices . Pointcut . Advisor ,解释如下: Advices :表示一个 method 执行前或执行后的动作. ...
- 安装ik分词插件
下载IK安装包 https://github.com/medcl/elasticsearch-analysis-ik https://github.com/medcl/elasticsearch-an ...
- VFP 的 CursorAdapter 相关
VFP 的 CursorAdapter 是在VFP 8 中增加的最重要的新功能,它提供了一种采用统一接口的方式来访问远程数据源. 现在正值新冠肺炎期间,闲着也是闲着,在整理原理的资料时,发现十多年前的 ...
- jenkins SSH发布文件 Publish over SSH
jenkins 构建完成后需要一键发布,结构如下 A服务器 svn B服务器 jenkins C服务器 应用服务器 B从A拉取代码后打包成war,然后向C服务器拷贝war包 这里解决的就是远程拷贝问题 ...
- springmvc maven idea 多模块开发(四):建立Web子模块
先建立web的父模块,其他子web模块建立在该父模块之下,该模块打包方式选择为pom 建立实际web模块,右键点击web-parent,建立方法同上,打包方式为war 建立好后的目录结构如下: 手工建 ...
- Keras深度学习框架之损失函数
一.损失函数的使用 损失函数[也称目标函数或优化评分函数]是编译模型时所需的两个参数之一. model.compile(loss='mean_squared_error', optimizer='sg ...
- vim 快捷键方式
https://juejin.im/post/5ab1275d5188255588053e70#heading-14 安装方式 https://juejin.im/entry/57b281f72e95 ...
- RabbitMQ配置死信队列
死信队列 消息传输过程中难免会产生一些无法及时处理的消息,这些暂时无法处理的消息有时候也是需要被保留下来的,于是这些无法被及时处理的消息就变成了死信. 既然需要保留这些死信,那么就需要一个容器来存储它 ...
- CSS选择器有哪几种?举例轻松理解CSS选择器
CSS选择器汇总(清爽版) 1.元素选择器 标签名{ } 2.id选择器 #id属性值{ } 3.类选择器 ·class属性值{ } 4.选择器分组(并集选择器) 作用:通过它可以同时选中多个选择器对 ...
- SignalR—实例
本例子将讲述使用SignalR实现页面实时显示数据,而不是需要用户刷新页面或使用Ajax轮询才能实现实时显示数据. 1.使用NuGet安装SignalR. 2.创建Hub类,起名为testHub. 3 ...