第一次搞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) 补题记录的更多相关文章

  1. Codeforces Round #786 (Div. 3) 补题记录

    小结: A,B,F 切,C 没写 1ll 对照样例才发现,E,G 对照样例过,D 对照样例+看了其他人代码(主要急于看后面的题,能调出来的但偷懒了. CF1674A Number Transforma ...

  2. Codeforces Round #617 (Div. 3) 补题记录

    1296A - Array with Odd Sum 题意:可以改变数组中的一个数的值成另外一个数组中的数,问能不能使数组的和是个奇数 思路:签到,如果本来数组的和就是个奇数,那就OK 如果不是,就需 ...

  3. 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 ...

  4. Codeforces Round #585 (Div. 2) [补题]

    前言 2019.9.16 昨天下午就看了看D题,没有写对,因为要补作业,快点下机了,这周争取把题补完. 2019.9.17 这篇文章或者其他文章难免有错别字不被察觉,请读者还是要根据意思来读,不要纠结 ...

  5. Codeforces Round #429 (Div. 2) 补题

    A. Generous Kefa 题意:n个气球分给k个人,问每个人能否拿到的气球都不一样 解法:显然当某种气球的个数大于K的话,就GG了. #include <bits/stdc++.h> ...

  6. Codeforces Round #419 (Div. 1) 补题 CF 815 A-E

    A-C传送门 D Karen and Cards 技巧性很强的一道二分优化题 题意很简单 给定n个三元组,和三个维度的上限,问存在多少三元组,使得对于给定的n个三元组中的每一个,必有两个维度严格小于. ...

  7. Codeforces Round #590 (Div. 3)补题

    要想上2000分,先刷几百道2000+的题再说 ---某神 题目 E F 赛时是否尝试 × × tag math bitmask 难度 2000 2400 状态 ∅ √ 解 E 待定 F 传送门 第一 ...

  8. Codeforces Round #574 (Div. 2)补题

    A. Drinks Choosing 统计每种酒有多少人偏爱他们. ki 为每种酒的偏爱人数. 输出ans = (n + 1)/2 >  Σki / 2 ? (n + 1)/2 - Σki / ...

  9. Codeforces Round #378 (Div. 2) D题(data structure)解题报告

    题目地址 先简单的总结一下这次CF,前两道题非常的水,可是第一题又是因为自己想的不够周到而被Hack了一次(或许也应该感谢这个hack我的人,使我没有最后在赛后测试中WA).做到C题时看到题目情况非常 ...

随机推荐

  1. 前端jQuery日历控件报错 $("#datepicker").datepicker is not a function

    使用日历控件时,前端产生错误: $("#datepicker").datepicker is not a function 问题原因 前端在同一个页面,jQuery引入了两次. 解 ...

  2. Centos7更改屏幕显示率

    第一种,在虚拟机中安装VMwareTools,之后在虚拟机菜单栏"查看"这一项选择立即适应窗口. 第二种,修改/boot/grub2/grub.cfg配置文件,在终端输入su,输入 ...

  3. linux 下生成随机密码生成器

    [root@localhost ~]# yum -y install pwgen [root@localhost ~]# pwgen -ncCyB1 8 1 kei%b3Xa [root@localh ...

  4. 响应式Web设计:构建令人赞叹的Web应用程序的秘诀

    骨架屏(Skeleton Screen) 参考博客:https://medium.com/@owencm/reactive-web-design-the-secret-to-building-web- ...

  5. 使用Webpack的代码拆分在Vue中进行懒加载

    参考学习:https://alexjover.com/blog/lazy-load-in-vue-using-webpack-s-code-splitting/ 学习文案:https://webpac ...

  6. go程序基于阿里云CodePipeline的一次devops实践

    背景 最近朋友有个项目代码托管用的码云,测试服务器(阿里云ECS)只有一台,三四个人开发,于是想基于阿里云的CodePipeline快速打造一套自动化cicd的流程,使用docker来进行多套环境部署 ...

  7. redis教程-redis环境搭建安装(qq:1324981084)

    需要整套redis缓存高可用集群教学视频的加qq:1324981084,本套视频从安装到集群的搭建和源码的解析,从零基础讲解. 1.利用命令将redis下载到/usr/local/文件夹下: wget ...

  8. WPF 原生绑定和命令功能使用指南

    WPF 原生绑定和命令功能使用指南 魏刘宏 2020 年 2 月 21 日 如今,当谈到 WPF 时,我们言必称 MVVM.框架(如 Prism)等,似乎已经忘了不用这些的话该怎么使用 WPF 了.当 ...

  9. DOTNET Core MVC (一)

    以控台的形式,运行.net core mvc 代码, Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => ...

  10. jvm 内存结构

    jvm 内存结构 graph TB A(jvm)-->E(类加载器系统) A-->B(运行时数据区) A-->D(本地库接口) A-->C(执行引擎) B-->虚拟机栈 ...