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题时看到题目情况非常 ...
随机推荐
- 实现理论上无tps上限的分布式压测(基于Jmeter+InfluxDB+Grafana+Spring Boot)
JMeter自身带有Master-Slave压测框架,对于并发量不是很高的压力情况下(比如tps低于5000),该方案是可行的,并且使用起来非常方便,只要在配置文件或者命令行工具的参数做一些补充,即可 ...
- javascript 客户端webSocket示例
//html <script> // 初始化一个 WebSocket 对象 var ws = new WebSocket("ws://localhost:9998/echo&qu ...
- Zookeeper 应用实例
配置管理 程序总是需要配置的,如果程序分散部署在多台机器上,要逐个改变配置就变得困难.好吧,现在把这些配置全部放到zookeeper上去,保存在 Zookeeper 的某个目录节点中,然后所有相关应用 ...
- python随用随学20200118-函数的高级特性
高阶函数 话说当年C语言和Java里好像都有这么个东西...忘了 一句话说就是函数名本身就是一个引用. 可以作为变量传递. 一个简单的例子: def power_demo(x): return x* ...
- jenkins 参数化运行性能测试脚本
概述 我们用jenkins做持续集成的时候,常常需要跑不同的脚本,传不同的参数.尤其是性能基准测试,线程数和持续时间需要实时调整以满足我们的测试需求.那么是不是需求变了,我们 就需要重新准备一套脚本? ...
- python网络爬虫(二)requests库的基本介绍和使用
一.requests库的七个重要方法 (1)最常用方法:requests.get(url,params=None,**kwargs)//对应HTTP协议的GET()操作 (请求获得URL位置的资源) ...
- 封装好通用的reset.css base.css 样式重置css文件
一般是叫reset.css 我这边命名成base.css 哎呀无所谓…… @charset "UTF-8"; /*css reset*/ /*清除内外边距*/ body, h1, ...
- CMD命令下图片合成一句话木马命令
非常简单,我们只需要一张图片1.jpg一句话木马写好的php文件 1.php之后我们进入到命令行.注意:将php文件和图片文件放到同一目录下,cmd也要跳转到放文件的目录下之后执行命令 copy .j ...
- HTML连载66-过度模块的连写、弹性效果
一.过渡模块的连写 1.过渡连写格式: 过渡属性 过渡时长 运动速度 延迟时间: 2.过渡连写注意点: (1)和分开写一样,如果想要多个属性添加过渡效果,也是使用逗号来隔开即可. (2)连写的时 ...
- findContours()函数
函数原型 findContours(InputOutputArray image, OutputArrayOfArrays contours, OutputArray hierarchy, int m ...