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. JMeter之If Controller深究一

    1.背景 大家最近还好么,截止目前新型冠状病毒累计确诊病例已超7万4千多例,希望大家无论是在家办公还是单位办公,一定要注意自我防护.今天跟大家分享一下,最近一次真实生产压测遇到的问题,如题:if co ...

  2. 小白的springboot之路(十五)、mybatis的PageHelper分页插件使用

    0.前言 用mybatis,那么分页必不可少,基本都是用PageHelper这个分页插件,好用方便: 1.实现 1.1.添加依赖: <!-- 3.集成 mybatis pagehelper--& ...

  3. javascript 对象api

    // Object 构造函数的属性: Object.prototype//可以为所有 Object 类型的对象添加属性 class A extends B{ constructor(){ super( ...

  4. 20191225--python学习第二天笔记(补)

    1.内容回顾 学习计算机基础 安装解释器 2.语法 print/input 整型 int/字符串 str/布尔类型 boolen 条件语句 and运算符 变量 3.练习 评分规则:用户输入成绩,根据成 ...

  5. 【转】Android之四大组件、六大布局、五大存储

    文章来自:http://blog.csdn.net/shenggaofei/article/details/52450668 一.四大组件: Android四大组件分别为activity.servic ...

  6. SpringBoot基础篇-SpringBoot快速入门

    SpringBoot基础 学习目标: 能够理解Spring的优缺点 能够理解SpringBoot的特点 能够理解SpringBoot的核心功能 能够搭建SpringBoot的环境 能够完成applic ...

  7. centos输入正确密码后依旧无法登陆问题

    输入正确用户名和密码时依旧无法登录. 进入单用户模式重置密码: 开机启动时,按‘E’键(倒计时结束前)进入界面 选择第二项,按‘E’键再次进入 在最后一行添加‘ 1’(空格 1) 回车键保存,回到该界 ...

  8. JavaScript Math方法的基本使用

    1.Math.sin()方法 定义:返回一个数的正弦. 语法:Math.sin(x),x必须是一个数值. 实例: <!DOCTYPE html> <html lang="e ...

  9. 正规式与正规集,DFA与NFA

    词法分析器的设计 词法分析器的功能:输入源程序.输出单词符号 词法分析器的设计:给出程序设计语言的单词规范--单词表, 对照单词表设计识别该语言所有单词的状态转换图, 根据状态转换图编写词法分析程序 ...

  10. Mac搭建本地服务器并映射到外网

    最近在学习Html,小有进步变想着写一个浪漫的静态页面给女朋友浪漫一下,那么问题就来了,如何把我的网页让对网络一窍不通的女朋友看到,所以便想到了是用自己电脑作为服务器的想法.百度以后整理如下: 首先搭 ...