第一次搞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. 【Bullet引擎】刚体类 —— btRigidBody

    btRigidBody类主要用于刚体数据的计算. 在模拟刚体动画过程中,可以使用btRigidBody类获取所保存的刚体对象,进而控制刚体对象的旋转和位移.进行刚体模拟计算需要经常用到此类. API: ...

  2. 使用 Visual Studio 2015 + Python3.6 + tensorflow 构建神经网络时报错:'utf-8' codec can't decode byte 0xcc in position 78: invalid continuation byte

    使用 Visual Studio 2015 + Python3.6 + tensorflow 构建神经网络时报错:'utf-8' codec can't decode byte 0xcc in pos ...

  3. 动态主机配置协议-DHCP

    一.DHCP 概述 当局域网中有大量的PC时.如果我们逐个为每台PC去手动配置IP.那这就是一个吃力也未必讨好的办法 累死你 而DHCP 刚好可以解决这个问题.DHCP全称(动态主机配置协议).使用的 ...

  4. centos下利用phantomjs来完成网站页面快照截图

    最近研究了下phantomjs,感觉还是非常不错的. 首先到官网下载一个源码包 http://phantomjs.org/download.html 点击源码包下载如图: 然后在linux下将必要的一 ...

  5. Keras学习系列——神经网络层组件

    对Keras提供的对各种层的抽象进行相对全面的概括 1 基础常用层 名称 作用 原型参数 Dense 实现全连接层 Dense(units,activation,use_bias=True, kern ...

  6. Java生成微信分享海报【基础设计】

    前言 微信后台生成海报一般都是一个模板写死,然后就完事了,过了不久让修改个模板,就又要看半天,还要考虑是否重新复制一份改一改,越来越多的重复代码,全在一个图片类里,然后就越来越乱.这两天用设计模式处理 ...

  7. 使用mysqlfrm恢复frm表结构的方法

    1.mysqlfrm安装 由于mysqlfrm是mysql-utilities工具一部分,那么我们安装mysql-utilities即可,下载好对应的源码包,进行编译安装 shell> wget ...

  8. vsphere 客户机 使用光驱引导启动

    vsphere上的虚拟服务器 需要用光盘引导启动,用pe系统做维护.   第一部:光盘ios文件 存放的位置 可以直接放光盘 或者将ios文件放到数据存储中 或者将ios文件放到实体主机的存储内   ...

  9. SQLPLUS ed无法调出编辑面板 SP2-0107:无须保存

    现象: 重新启动oracle启动sqlplus,首先执行ed命令时出错,没有调出编辑命令的文件: SQL> edSP2-0107: 无须保存. 分析:出错的原因可能是临时编辑文件中没有需要执行的 ...

  10. python笔记23(面向对象课程五)

    今日内容 上节作业 单例模式 class Foo: pass obj1 = Foo() # 实例,对象 obj2 = Foo() # 实例,对象 日志模块(logging) 程序的目录结构 内容回顾 ...