Codeforces Round #617 (Div. 3)
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)的更多相关文章
- Codeforces Round #617 (Div. 3) String Coloring(E1.E2)
(easy version): 题目链接:http://codeforces.com/contest/1296/problem/E1 题目一句话就是说,两种颜色不同的字符可以相互换位, 问,对这字符串 ...
- Codeforces Round #617 (Div. 3)F. Berland Beauty
题意: 给一棵树,边权未知,现在给m组约束,每组约束给出从u到v路径中的最小值,现在让你给出一组边权,使得符合之前的约束,不能给出输出-1 思路: 因为n较小,对于每组约束我们可以直接暴力修改路径上的 ...
- Codeforces Round #617 (Div. 3) D. Fight with Monsters
D : Fight with Monsters 题目大意 : 有一组数,每个值对应着一个怪物的 hp 值,现在有两个人,一个自己一个对手,每个人有一个攻击值, 两个人轮流攻击怪物,如果是自己将怪物先打 ...
- Codeforces Round #617 (Div. 3) 补题记录
1296A - Array with Odd Sum 题意:可以改变数组中的一个数的值成另外一个数组中的数,问能不能使数组的和是个奇数 思路:签到,如果本来数组的和就是个奇数,那就OK 如果不是,就需 ...
- Codeforces Round #617 (Div. 3) 题解
又是隔了一年才来补题的我 A.B水题就不用说了 C - Yet Another Walking Robot C题我居然卡了一会,最后决定用map水,结果出来看了看题解,居然真的是map...没想到会出 ...
- 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 ...
- [CF百场计划]Codeforces Round #617 (Div. 3)
A. Array with Odd Sum Description You are given an array \(a\) consisting of \(n\) integers. In one ...
- 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 ...
- Codeforces Round #354 (Div. 2) ABCD
Codeforces Round #354 (Div. 2) Problems # Name A Nicholas and Permutation standard input/out ...
随机推荐
- opencv:形态学操作-开闭操作
#include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namespace st ...
- bugku 散乱密码
BugkuCTF_加密_散乱的密文 WriteUp image.png lf5{ag024c483549d7fd@@1} 一张纸条上凌乱的写着2 1 6 5 3 4 以前做过这种类型的 既然是凌乱 ...
- 【StarUML】用例图
用例图是在项目初期确认需求的时候,需要明确各个参与者之间的关系以及对应的功能,它可视化地展示了整个系统的功能以及功能之间.功能与参与者之间的关系. 1.元素 1.1 角色(actor) 角色不一定是人 ...
- drf三大组件之频率认证组件
复习 """ 1.认证组件:校验认证字符串,得到request.user 没有认证字符串,直接放回None,游客 有认证字符串,但认证失败抛异常,非法用户 有认证字符串, ...
- Panda的学习之路(1)——series 和 Dataframe
一.Series panda最基本的对象 # pandas的基础s=pd.Series([1,3,6,np.nan,44,1])#建立个简单的基本对象 类似一个一位数组print("建立个简 ...
- 【音乐欣赏】《99》 - MOB CHOIR
曲名:99 作者:MOB CHOIR [00:00.000] 作曲 : 佐々木淳一 [00:00.150] 作词 : 佐々木淳一 [00:00.450] [00:02.370]If everyone ...
- 南京邮电大学网络攻防平台(NCTF)-MD5-Writeup
南京邮电大学网络攻防平台-MD5-Writeup 题干如下: 分析: 遍历 TASC?O3RJMV?WDJKX?ZM(?替换为其他),找到md5为e9032???da???08????911513?0 ...
- 三大查找算法(Java实现)
三大查找算法 1.二分查找(Binary Search) public class BinarySearch { public static void main(String[] args) { in ...
- Django+Celery+redis kombu.exceptions.EncodeError:Object of type is not JSON serializable报错
在本文中例子中遇到问题的各种开发版本如下: Python3.6.8 Django==2.2 celery==4.4.0 kombu==4.6.7 redis==3.3.0 大概的报错如下截图: 是在开 ...
- Python开发五子棋游戏【新手必学】
五子棋源码,原创代码,仅供 python 开源项目学习.目前电脑走法笨笨的,下一期版本会提高电脑算法ps:另外很多人在学习Python的过程中,往往因为遇问题解决不了或者没好的教程从而导致自己放弃,为 ...