1296A - Array with Odd Sum

题意:可以改变数组中的一个数的值成另外一个数组中的数,问能不能使数组的和是个奇数

思路:签到,如果本来数组的和就是个奇数,那就OK

如果不是,就需要把数组中其中一个奇(偶)数改成偶(奇)数,相当于加一减一

所以测一下这个数组如果有个奇数并且还有个偶数就行

#include <cstdio>
#include <iostream>
#include <map>
#include <set>
#include <cstring>
#include <cmath>
#include <algorithm>
using namespace std;
int num[];
int main ()
{
int t,n,flag=;
scanf("%d",&t);
while (t--)
{
int all=;
int a1=,a2=;
scanf("%d",&n);
for (int i=;i<n;i++)
{
scanf("%d",&num[i]);
all=all+num[i];
if (num[i]%==)
a1=;
if (num[i]%==)
a2=;
}
if (all%==)
printf("YES\n");
else
{
if (a1&&a2)
printf("YES\n");
else
printf("NO\n");
}
}
return ;
}

1296B - Food Buying

题意:你有一些钱,每花10块可以反1块,最多能花多少?

思路:相当于9块值10块了,但如果直接输出/9*10就WA

因为只有9块的情况下是不能返钱的,记一下就行

#include <cstdio>
#include <iostream>
#include <map>
#include <set>
#include <cstring>
#include <cmath>
#include <algorithm>
using namespace std;
int main ()
{
int t,n;
scanf("%d",&t);
while (t--)
{
scanf("%d",&n);
long long all=(n/)*;
if (n%==)
printf("%d\n",all+n%-);
else
printf("%d\n",all+n%);
}
return ;
}

1296C - Yet Another Walking Robot

题意:有一个机器人,有一个字符串,机器人按照字符串里的字母移动

问能不能去掉一个最小的连续区间,使得机器人最终到达的目的地相同?

思路:我这个是真的没想出来,看题解之后才发现,只要有两次到了相同的地方,那么机器人在中间走的一段路就是多余的

再用一个map来储存经过的点,可以用map来检测是否经过同一个点,这样就行了

但是自己写的时候总是各种玄学问题,自定义的结构体放map里无法编译...改成pair之后cf又出个WA...最后改的和题解差不多才过...

#include <bits/stdc++.h>
using namespace std;
int main()
{
int t;
cin>>t;
while (t--)
{
int n;
char s;
cin>>n;
int l=-,r=n;
map<pair<int, int>,int> mm;
pair<int, int> cur={, };
mm[cur]=;
for (int i=;i<n;++i)
{
cin>>s;
if (s=='L')
--cur.first;
if (s=='R')
++cur.first;
if (s=='U')
++cur.second;
if (s=='D')
--cur.second;
if (mm.count(cur))
{
if (i-mm[cur]+<r-l+)
{
l=mm[cur];
r=i;
}
}
mm[cur]=i+;
}
if (l==-)
cout<<-<<endl;
else
cout<<l+<<" "<<r+<<endl;
}
return ;
}

1296D - Fight with Monsters

题意:你和你的对手去打怪,按着顺序从小怪1一直到小怪n

这样打怪:你先打一下,你对手再打一下,如果在你打的时候怪死了,你得一分,你对手打的时候怪死了不得分,但是你还有几次机会可以让你的对手这次不出招,问你最多能得多少分?

思路 :好不容易除了签到又做了一道简单题...

首先,先计算在最后一轮中(也就是你和你对手都打一下这怪就死了的那一次)小怪的血量。

假如说你这次攻击能直接把怪打死,那ok,设这个怪的.ci=-1

如果不能,还是要你先打一次,然后算要让对手不出招多少次才能打死这只小怪,记到ci里

最后对所有小怪按击倒所需次数排序,遍历一遍就Ok

#include <bits/stdc++.h>
using namespace std;
struct mons
{
int ci;
int hp;
};
bool cmp (mons a,mons b)
{
return a.ci<b.ci;
}
mons mon[];
int main ()
{
int n,a,b,k,tem,fin=,i;
scanf("%d %d %d %d",&n,&a,&b,&k);
int all=a+b;
for (i=;i<n;i++)
{
scanf("%d",&tem);
mon[i].hp=tem%all;
if (mon[i].hp==)
mon[i].hp=all;
if (mon[i].hp<=a)
mon[i].ci=-;
else
{
mon[i].hp=mon[i].hp-a;
if (mon[i].hp%a==)
mon[i].ci=mon[i].hp/a;
else
mon[i].ci=mon[i].hp/a+;
}
}
sort(mon,mon+n,cmp);
for (int i=;i<n;i++)
{
if (mon[i].ci==-)
fin++;
else
{
if (k-mon[i].ci>=)
{
k=k-mon[i].ci;
fin++;
}
}
}
printf("%d\n",fin);
return ;
}

Codeforces Round #617 (Div. 3) 补题记录的更多相关文章

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

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

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

    第一次搞CF,结果惨不忍睹...还是太菜了 A:要用到全部的钱,所以总数必须是3的倍数,而且初始状态下任意一人的钱数不能超过总数除以3,否则没法分了 (也就这个签到算是在我能力范围之内了....) # ...

  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. 《Head first设计模式》之模版方法模式

    模板方法模式在一个方法中定义了一个算法的骨架,而将一些步骤延迟到子类中.模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤. 有些人没有咖啡就活不下去:有些人则离不开茶.两者共同的 ...

  2. Python3(九) 闭包

    一. 一切皆对象 函数式编程并没有标准定义,如果代码非常繁琐则考虑使用. 学习闭包的概念,不是python独有的. 其他大多数语言中的函数只是一段可执行的代码,并不是对象. python中的函数是对象 ...

  3. Transformer 和 Transformer-XL——从基础框架理解BERT与XLNet

    目录写在前面1. Transformer1.1 从哪里来?1.2 有什么不同?1.2.1 Scaled Dot-Product Attention1.2.2 Multi-Head Attention1 ...

  4. 永久关闭linux swap

    一般来说,Linux的虚拟内存会根据系统负载自动调整.内存页(page)swap到磁盘会显著的影响Kafka的性能,并且Kafka重度使用page cache,如果VM系统swap到磁盘,那说明没有足 ...

  5. Eclipse 无法引用到Maven 解决方法

    问题描述:打开Eclipse进入java EE视图下,发现原有的Maven Dependencies目录不存在,显示的是org.maven.ide.eclipse.MAVEN2_CLASSPATH_C ...

  6. Myeclipse maven项目转web项目

    右键点击项目,选择project facets,或者在properties选择,点“Convert to faceted from...” 勾选java和Dynamic Web Module 选项 接 ...

  7. SQL Server等待事件—PAGEIOLATCH_EX

    什么是PAGEIOLATCH_EX等待事件? 下面我们将对PAGEIOLATCH_EX等待事件的相关资料做一个简单的归纳.整理.关于PAGEIOLATCH_EX,官方文档的简单介绍如下: PAGEIO ...

  8. [20200129]子光标不共享BIND_EQUIV_FAILURE.txt

    [20200129]子光标不共享BIND_EQUIV_FAILURE.txt --//生产系统再次遇到大量BIND_EQUIV_FAILURE原因导致子光标的情况.我看了我以前测试遇到的情况.--// ...

  9. IDEA 修改编码

    IDEA: 一. 文件编码修改 IntelliJ IDEA可以在菜单中的File -> Settings -> Editor -> File Encoding下修改项目文件的编码 1 ...

  10. 【Java】Swing实现一个简单的计算器

    import javax.swing.*; import java.awt.*; /** * 计算器 * @author paul * 2019.11.25 21:43 * */ public cla ...