A

题意:能否将数组里面的值用数组里面的值替换出一个和为奇数的数组

思路:1.和为奇数yes 2.和为偶数但有奇数yes 3.个数是奇数的,有奇数的yes 其他都是no

果然罚时全给了A

 #include<bits/stdc++.h>
using namespace std;
#define ll long long
#define il inline
#define it register int
#define lowbit(x) (x)&(-x)
#define mem(a,b) memset(a,b,sizeof(a))
#define mod 1000000007
const int maxn=1e5+;
int a,n,sum;
int main(){
int t;
scanf("%d",&t);
while(t--){
scanf("%d",&n);
sum=;
int f=,f2=;
for(it i=;i<n;i++){
scanf("%d",&a);
sum+=a;if(a&){f=;}
if(a%==){f2=;}
}
if(sum& || (f== && n&) || (sum%== &&f== && f2==)){
printf("YES\n");
}
else{
printf("NO\n");
}
}
return ;
}

B

题意:每花十元,可以得一元,问最多能花多少

思路:9的倍数特判(n-1)/9+n,其他 n/9+n就是答案

 #include<bits/stdc++.h>
using namespace std;
#define ll long long
#define il inline
#define it register int
#define lowbit(x) (x)&(-x)
#define mem(a,b) memset(a,b,sizeof(a))
#define mod 1000000007
const int maxn=1e5+;
int a,n,sum;
int main(){
int t;
scanf("%d",&t);
while(t--){
scanf("%d",&n);
if(n%==){
printf("%d\n",n+(n-)/);continue;
}
printf("%d\n",n+n/);
}
return ;
}

C

题意:如果有走过重复点,算出最小的步数的l和r值

思路:用map存点,模拟就行

 #include<bits/stdc++.h>
using namespace std;
#define ll long long
#define il inline
#define it register int
#define lowbit(x) (x)&(-x)
#define mem(a,b) memset(a,b,sizeof(a))
#define mod 1000000007
const int maxn=2e5+;
int n,t;
struct node{
int x,y;
friend bool operator<(const node a,const node b){
if(a.x==b.x){
return a.y<b.y;
}
return a.x<b.x;
}
node(){}
node(int xx,int yy):x(xx),y(yy){}
};
char s[maxn];
map<node,int>mp;
int main(){
scanf("%d",&t);
while(t--){
scanf("%d",&n);
scanf("%s",s+);mp.clear();
int x=,y=;
mp[node(,)]=;
int f=,l,r,minb=maxn;
for(it i=;i<=n;i++){
if(s[i]=='L'){
x--;
}
else if(s[i]=='R'){
x++;
}
else if(s[i]=='U'){
y++;
}
else if(s[i]=='D'){
y--; }
if(mp[node(x,y)]==){
int kkk=i-;
if(kkk<minb){l=;r=i;minb=kkk;}f=;mp[node(x,y)]=i;
}
else if(mp[node(x,y)]){
int kkk=i-mp[node(x,y)];
if(kkk<minb){l=i-kkk+;r=i;minb=kkk;}f=;mp[node(x,y)]=i;
}
else{
mp[node(x,y)]=i;
}
//cout<<x<<y<<i<<endl;
}
if(f){
printf("-1\n");
}
else{
printf("%d %d\n",l,r);
}
}
return ;
}

D

居然比c题开的快,因为c题题目读了半天,读不懂直接跳了

题意:a和b的攻击力,有n个h1~hn的血条怪,有k个使得b跳过技能的招数,问a有多少次可以杀死怪的最后一血

思路:h1~hn都余上(a+b)==sheng,sheng<=a,总值加一,sheng>a的部分求出需要的k==(sheng-1)/a,存下来排序求最大总值

 #include<bits/stdc++.h>
using namespace std;
#define ll long long
#define il inline
#define it register int
#define lowbit(x) (x)&(-x)
#define mem(a,b) memset(a,b,sizeof(a))
#define mod 1000000007
const int maxn=2e5+;
int n,a,b,k,h,s[maxn];
int main(){
scanf("%d%d%d%d",&n,&a,&b,&k);
//int kk=__gcd(a,b);
int c=a+b;
int sum=,t=;
for(int i=;i<n;i++){
scanf("%d",&h);
int sheng=h%c;
if(sheng==){sheng=c;}
//cout<<sheng<<endl;
if(sheng<=a){
sum++;
}
else{
s[t++]=(sheng-)/a;
}
}
sort(s,s+t);
for(it i=;i<t;i++){
if(k>=s[i]){
sum++;k-=s[i];
}
else{break;}
}
printf("%d\n",sum);
return ;
}

E1

我吐血了,死因s[i]>=s[j],多了等号,因为c题搞了半天,当时c题的读题和一直判不好(0,0)点导致时间没有,一看E1这么简单,暴力来,然后wa到比赛结束

然后看了数据,彻夜难眠……因为是暴力,所以代码就不放出来了,等补完了E2,直接放E2的代码。

upd:原来E2是多个颜色,数据扩大,那就还是贴一下E1的暴力代码了

 #include<bits/stdc++.h>
using namespace std;
#define ll long long
#define il inline
#define it register int
#define lowbit(x) (x)&(-x)
#define mem(a,b) memset(a,b,sizeof(a))
#define mod 1000000007
const int maxn=2e5+;
int n,a[]={};
char s[];
int main(){
scanf("%d",&n);
scanf("%s",s);
a[]=;
int ff=;
for(it i=;i<n;i++){
for (int j=;j<i; j++) {
if (s[j]>s[i]) {
a[i]= ;
}
}
for (int k=i+;k<n; k++) {
if (s[i]>s[k] && a[i]==) {
ff = ;
break;
}
}
if(!ff){
break;
} }
if(ff){
printf("YES\n");
for(it i=;i<n;i++){
printf(i==n-?"%d\n":"%d",a[i]);
}
}
else{
printf("NO\n");
}
return ;
}

不知道为什么……现在打比赛开局总会爆炸

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

  1. Codeforces Round #617 (Div. 3) String Coloring(E1.E2)

    (easy version): 题目链接:http://codeforces.com/contest/1296/problem/E1 题目一句话就是说,两种颜色不同的字符可以相互换位, 问,对这字符串 ...

  2. Codeforces Round #617 (Div. 3)F. Berland Beauty

    题意: 给一棵树,边权未知,现在给m组约束,每组约束给出从u到v路径中的最小值,现在让你给出一组边权,使得符合之前的约束,不能给出输出-1 思路: 因为n较小,对于每组约束我们可以直接暴力修改路径上的 ...

  3. Codeforces Round #617 (Div. 3) D. Fight with Monsters

    D : Fight with Monsters 题目大意 : 有一组数,每个值对应着一个怪物的 hp 值,现在有两个人,一个自己一个对手,每个人有一个攻击值, 两个人轮流攻击怪物,如果是自己将怪物先打 ...

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

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

  5. Codeforces Round #617 (Div. 3) 题解

    又是隔了一年才来补题的我 A.B水题就不用说了 C - Yet Another Walking Robot C题我居然卡了一会,最后决定用map水,结果出来看了看题解,居然真的是map...没想到会出 ...

  6. Codeforces Round #617 (Div. 3)A. Array with Odd Sum(水题)

    You are given an array aa consisting of nn integers. In one move, you can choose two indices 1≤i,j≤n ...

  7. [CF百场计划]Codeforces Round #617 (Div. 3)

    A. Array with Odd Sum Description You are given an array \(a\) consisting of \(n\) integers. In one ...

  8. Codeforces Round #366 (Div. 2) ABC

    Codeforces Round #366 (Div. 2) A I hate that I love that I hate it水题 #I hate that I love that I hate ...

  9. Codeforces Round #354 (Div. 2) ABCD

    Codeforces Round #354 (Div. 2) Problems     # Name     A Nicholas and Permutation standard input/out ...

随机推荐

  1. 【C语言】已知三角形三边长,求三角形面积

    一. 数学基础: 已知三角形的三边,计算三角形面积,需要用到海伦公式: 即p=(a+b+c)/2 二. 算法: 输入三个边长,套用海伦公式计算面积,并输出. 可以先判断是否可以构成三角形,即任意两边之 ...

  2. noobSTL-1-配置器-2

    noobSTL-1-配置器-2 第一级配置器 1. 功能分析 第一级配置器以malloc(),free(),realloc()等C语言函数来执行实际的内存配置. 使用C语言函数是因为C++并未直接提供 ...

  3. noobSTL-1-配置器-0

    noobSTL-1-配置器-0 0.前言 STL的配置器(allocator),也叫内存分配器,负责空间配置与管理,简单地说,就是负责管理内存的. 从实现的角度来看,配置器是一个实现了动态空间配置.空 ...

  4. 如何开通linux机器的对外访问端口

    1.先查看是否已经开通 2.没有开通,去linux机器查看防火墙,确实没有开通 3.修改防火墙 vim /etc/sysconfig/iptables 4.重启防火墙之后重新查看已经可以看到8000端 ...

  5. Linux之Socket编程

    1.什么是Socket? socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,都可以用“打开open –> 读写write/read –> 关闭close”模 ...

  6. Reinforcement Learning,微信公众号:DRL学习

    欢迎大家关注微信公众号:DRL学习,我们一起来学习强化学习和深度强化学习的算法及现状应用问题. 强化学习简单说就是学习如何最大化未来奖励的预期总和,以及agent学会在环境中做出的行动序列,其中随机状 ...

  7. opencv:图像噪声

    常见噪声的类型: 椒盐噪声 高斯噪声 其他噪声...... 手动生成图像噪声: #include <opencv2/opencv.hpp> #include <iostream> ...

  8. Nuxt项目文件目录结构解释

    |-- .nuxt // Nuxt自动生成,临时的用于编辑的文件,build |-- assets // 用于组织未编译的静态资源入LESS.SASS 或 JavaScript |-- compone ...

  9. 微信小程序遮罩层覆盖input失效

    问题:微信小程序中,我们常使用遮罩层,如点击按钮弹出下拉框.弹框等等.若在遮罩层下存在input.textarea.canvas.camera.map.video等标签时,会出现遮罩层覆盖失效的问题. ...

  10. 在一个C程序中,main()函数可以放在哪?

    C语言规定,在一个C程序中,main()函数的位置(). A.必须在系统调用的库函数之后 B.必须在程序的开始 C.必须在程序的最后 D.可以在任意位置 答案:D [解析] 每个C程序有且只有一个主函 ...