Educational Codeforces Round 95(A-C题解)
A. Buying Torches
题目:http://codeforces.com/contest/1418/problem/A
题解:计算一个公式:1+n*(x-1)=(y+1)*k,求满足该条件的n,很简单的一道题
代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll t,x,y,k;
int main()
{
ll i,j;
cin>>t;
while(t--)
{
cin>>x>>y>>k;
ll n;
n=((y+)*k-)/(x-)+(((y+)*k-)%(x-)==?:);
cout<<n+k<<endl;
}
return ;
}
B. Negative Prefixes
题目:http://codeforces.com/contest/1418/problem/B
题解:将可变的数单独拿出来进行排序,然后按照从大到小进行插入即可。因为本题求得的是最小的K,而K是重排后的序列中前缀和j最大的小于零的那个值。因此我们既然要满足K的最小,就要将可变的值从大到小依次插入,则求出的即为最小的。
代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=1e5+;
ll t,n,a[maxn];
ll f[maxn];
ll b[maxn]; int main()
{
ll i,j;
cin>>t;
while(t--)
{
cin>>n;
ll len=;
for(i=;i<=n;i++)
{
cin>>a[i];
}
for(i=;i<=n;i++)
{
cin>>f[i];
if(f[i]==)
b[len++]=a[i];
}
ll cnt=len-;
sort(b,b+len);
for(i=;i<=n;i++)
{
if(f[i]==)
cout<<a[i]<<" ";
else
cout<<b[cnt--]<<" ";
}
cout<<endl;
}
return ;
}
C. Mortal Kombat Tower
题目:http://codeforces.com/contest/1418/problem/C
题解:首先第一位要进行特判,若为1,则ans++;
还有111这种情况,我们可以干掉2个怪物,而朋友必须消灭一个,因此这类情况ans++
其余的,000,001,010,100,110,101,011,我们的朋友都是可以避免的,不用消耗
最终的答案就是:特判第一位+【2,n】位中有多少个111,就加多少个。
代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=2e5+;
ll t,n,a[maxn];
int main()
{
ll i,j;
cin>>t;
while(t--)
{
cin>>n;
for(i=;i<=n;i++)
cin>>a[i];
ll cnt=;
ll ans=;
if(a[]==)
ans++;
for(i=;i<=n;i++)
{
if(a[i]==)
cnt++;
else
cnt=;
if(cnt==)
{
ans++;
cnt=;
}
}
cout<<ans<<endl;
}
return ;
}
Educational Codeforces Round 95(A-C题解)的更多相关文章
- Educational Codeforces Round 95 (Rated for Div. 2)
CF的Educational Round (Div.2),质量还是蛮高的. A: 水题 #include<cstdio> #include<algorithm> typedef ...
- Educational Codeforces Round 37-E.Connected Components?题解
一.题目 二.题目链接 http://codeforces.com/contest/920/problem/E 三.题意 给定一个$N$和$M$.$N$表示有$N$个点,$M$表示,在一个$N$个点组 ...
- Educational Codeforces Round 80 A-E简要题解
contest链接:https://codeforces.com/contest/1288 A. Deadline 题意:略 思路:根据题意 x + [d/(x+1)] 需要找到一个x使得上式小于等于 ...
- Educational Codeforces Round 95 (Rated for Div. 2) C. Mortal Kombat Tower (DP)
题意:你和基友两人从左往右轮流打怪兽,强怪用\(1\)表示,垃圾用\(0\)表示,但基友比较弱,打不过强怪,碰到强怪需要用一次魔法,而你很强,无论什么怪都能乱杀,基友先打,每人每次至少杀一个怪兽,最多 ...
- Educational Codeforces Round 95 (Rated for Div. 2) B. Negative Prefixes (贪心,构造)
题意:给你一串长度为\(n\)的序列,有的位置被锁上了,你可以对没锁的位置上的元素任意排序,使得最后一个\(\le0\)的前缀和的位置最小,求重新排序后的序列. 题解:贪心,将所有能动的位置从大到小排 ...
- Educational Codeforces Round 95 (Rated for Div. 2) A. Buying Torches (数学)
题意:刚开始你有一个木棍,造一个火炬需要一个木根和一个煤块,现在你可以用一个木棍换取\(x\)个木棍,或者\(y\)根木棍换一个煤块,消耗一次操作,问最少需要操作多少次才能造出\(k\)把火炬. 题解 ...
- Educational Codeforces Round 132 (C,D) 题解 cf#1709
昨晚打了这把EDU,赛后看了dalao们的C题代码豁然开朗恍然大悟 实在是太巧妙了 这场来说,D题的通过率比C题高太多了(估计很多人都在C题卡了然后没做D 先放题目链接 题目链接 C - Recove ...
- Educational Codeforces Round 21 A-E题题解
A题 ............太水就不说了,贴下代码 #include<string> #include<iostream> #include<cstring& ...
- CF1132.Educational Codeforces Round 61(简单题解)
A .Regular Bracket Sequence 题意:给定“((” , “()” , “)(”, “))”四种,问是否可以组成合法括号匹配 思路:设四种是ABCD,B可以不用管,而C在A或 ...
随机推荐
- CSS动画实例:旋转的圆角正方形
在页面中放置一个类名为container的层作为效果呈现容器,在该层中再定义十个名为shape的层层嵌套的子层,HTML代码描述如下: <div class="container&qu ...
- 日记——递归or搜索?
好久没发博了,今天发一篇. 这两天学校功课比较紧,编程稍微放了放做题量. 抽空学了学深搜,感谢zah同学给我讲解dfs,浅显易懂,我很快就适应了. 做了几个基础题,没有想象中那么难(菜鸡BB,因为题简 ...
- 完了,这个硬件成精了,它竟然绕过了 CPU...
我们之前了解过了 Linux 的进程和线程.Linux 内存管理,那么下面我们就来认识一下 Linux 中的 I/O 管理. Linux 系统和其他 UNIX 系统一样,IO 管理比较直接和简洁.所有 ...
- SpringBoot---SpringMVC关于拦截器的一些问题总结
SpringBoot---SpringMVC关于拦截器的一些问题总结 环境: IDEA :2020.1 Maven:3.5.6 SpringBoot: 2.3.2 1.直接在地址栏输入 http:// ...
- git操作练习
github账号注册很久了,使用过idea的版本管理,但是命令行还不会.正好新写了一个小项目,练习一下如何上传到github. @ 目录 新建github仓库 安装git 上传项目 1.创建本地版本库 ...
- NameNode和SecondaryNameNode(面试开发重点)
NameNode和SecondaryNameNode(面试开发重点) 1 NN和2NN工作机制 思考:NameNode中的元数据是存储在哪里的? 首先,我们做个假设,如果存储在NameNode节点的磁 ...
- badger 一个高性能的LSM K/V store
原文:https://colobu.com/2017/10/11/badger-a-performant-k-v-store/ github地址:https://github.com/dgraph-i ...
- iptables 表与链的对应关系
1)filter表——三个链:INPUT.FORWARD.OUTPUT作用:过滤数据包 内核模块:iptables_filter. 2)Nat表——三个链:PREROUTING.POSTROUTING ...
- 谱聚类的python实现
什么是谱聚类? 就是找到一个合适的切割点将图进行切割,核心思想就是: 使得切割的边的权重和最小,对于无向图而言就是切割的边数最少,如上所示.但是,切割的时候可能会存在局部最优,有以下两种方法: (1) ...
- Python目录与文件操作
一.判断一个路径是否存在 os.path.exists(path) 如果路径存在则返回True,否则返回False. import os import getpass # 获取当前系统用户名 user ...