https://codeforces.com/contest/1234/problem/A

A. Equalize Prices Again

 #include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main(){
int n,a;
int t;
cin>>t;
ll sum = ,ans;
while(t--){
cin>>n;sum = ;
for(int i = ;i < n;++i){
cin>>a;sum+=a;
}
ans = sum/n;
if(sum%n)ans+=;
cout<<ans<<endl;
}
}

AC代码

https://codeforces.com/contest/1234/problem/B1

B1. Social Network (easy version)

https://codeforces.com/contest/1234/problem/B2

B2. Social Network (hard version)

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll a;
int n ,k ,now=,fi=;
vector<ll>s;
map<ll,int>mp;
int main(){
cin>>n>>k;
for(int i = ;i < n;++i){
cin>>a;
if(mp[a]==){
mp[a]=;s.push_back(a);
if(now<k){
now++;
}
else if(now==k){
mp[s[fi]]=;fi++;
}
}
}
cout<<now<<endl;
int l =s.size()-;
int cnt=;
while(cnt<now&&l>=){
if(mp[s[l]])cnt++,cout<<s[l]<<" ";
l--;
}
cout<<endl; return ;
}

AC代码

https://codeforces.com/contest/1234/problem/C

C. Pipes

旋转一遍发现前两种其实是不同方向摆放的一种管道,后四个同理,也就是只有两个管道,一个是直流另一个会变向,然后问题就很简单了。

 #include<bits/stdc++.h>
using namespace std;
typedef long long ll; int main(){
int t,n;
cin>>t;
while(t--){
cin>>n;
string a[];cin>>a[]>>a[];
int now=,flag =;
for(int i = ;i <n;++i){
if(a[now][i]==''||a[now][i]=='')continue;
else{
now=-now;
if(a[now][i]==''||a[now][i]==''){
flag=;break;
}
}
}
if(flag==||now==)cout<<"no"<<endl;
else cout<<"yes"<<endl;
}
return ;
}

AC代码

https://codeforces.com/contest/1234/problem/D

D. Distinct Characters Queries

用线段树维护不同字母的个数orz学到了新东西,待会再看看set的做法?

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e5+;
int a[N],ans[];
int tree[*N][];
void build(int l,int r,int rt){
if(l==r){tree[rt][a[l]]++;return ;}
int mid=(l+r)/;
build(l,mid,rt*);
build(mid+,r,rt*+);
for(int i = ;i < ;++i)tree[rt][i]=tree[rt*][i]+tree[rt*+][i];
}
void f5(int l,int r,int rt,int x,int p,int f){
if(l==r){tree[rt][p]--;tree[rt][f]++;return ;}
int mid=(l+r)>>;
if(x<=mid)f5(l,mid,rt<<,x,p,f);
else f5(mid+,r,rt<<|,x,p,f);
for(int i = ;i < ;++i)tree[rt][i]=tree[rt<<][i]+tree[rt<<|][i];
}
void query(int l,int r,int rt,int ll,int rr){
if(r<=rr&&l>=ll){
for(int i = ;i < ;++i)ans[i]+=tree[rt][i]; return ;
}
int mid=(l+r)>>;
if(ll<=mid)query(l,mid,rt<<,ll,rr);
if(rr>mid)query(mid+,r,rt<<|,ll,rr);
}
int main()
{
ios::sync_with_stdio();
string s;cin>>s;int n = s.size();
for(int i = ;i < n;++i)a[i+]=s[i]-'a';
build(,n,);
int m;cin>>m;
while(m--){
int flag,x,l,r;char c;cin>>flag;
if(flag==){
cin>>x>>c;
f5(,n,,x,s[x-]-'a',c-'a');
s[x-]=c;
}
else{
cin>>l>>r;memset(ans,,sizeof(ans));
query(,n,,l,r);
int tot=;
for(int i = ;i < ;++i)if(ans[i])tot++;
cout<<tot<<endl;
}
}
return ;
}

AC代码

Codeforces Round #590 (Div. 3)(e、f待补的更多相关文章

  1. Codeforces Round #590 (Div. 3) Editorial

    Codeforces Round #590 (Div. 3) Editorial 题目链接 官方题解 不要因为走得太远,就忘记为什么出发! Problem A 题目大意:商店有n件商品,每件商品有不同 ...

  2. Codeforces Round #573 (Div. 1) 差F

    Codeforces Round #573 (Div. 1) E 题意:二维平面上有 n 个点,你可以放至多 m 条直线使得 (0,0) 与每个点的连线至少与一条直线相交.求原点与所有直线的距离最小值 ...

  3. Codeforces Round #575 (Div. 3) 昨天的div3 补题

    Codeforces Round #575 (Div. 3) 这个div3打的太差了,心态都崩了. B. Odd Sum Segments B 题我就想了很久,这个题目我是找的奇数的个数,因为奇数想分 ...

  4. Codeforces Round #590 (Div. 3) F

    传送门 题意: 给出一个只含前\(20\)个字符的字符串,现在可以选择一段区间进行翻转,问区间中字符各不相同时,最长长度为多少. 思路: 首先,容易将题意转换为选择两个字符各不相同的区间,然后长度相加 ...

  5. Codeforces Round #541 (Div. 2) (A~F)

    目录 Codeforces 1131 A.Sea Battle B.Draw! C.Birthday D.Gourmet choice(拓扑排序) E.String Multiplication(思路 ...

  6. Codeforces Round #532 (Div. 2):F. Ivan and Burgers(贪心+异或基)

    F. Ivan and Burgers 题目链接:https://codeforces.com/contest/1100/problem/F 题意: 给出n个数,然后有多个询问,每次回答询问所给出的区 ...

  7. Codeforces Round #590 (Div. 3) E. Special Permutations

    链接: https://codeforces.com/contest/1234/problem/E 题意: Let's define pi(n) as the following permutatio ...

  8. Codeforces Round #590 (Div. 3) D. Distinct Characters Queries(线段树, 位运算)

    链接: https://codeforces.com/contest/1234/problem/D 题意: You are given a string s consisting of lowerca ...

  9. Codeforces Round #600 (Div. 2)E F

    题:https://codeforces.com/contest/1253/problem/E 题意:给定n个信号源,俩个参数x和s,x代表这个信号源的位置,s代表这个信号源的波及长度,即这个信号源可 ...

随机推荐

  1. python基础--几个特性

    1.helloword程序的解释 #!/usr/bin/python3 print("Hello, World!") 关于脚本第一行的 #!/usr/bin/python 的解释, ...

  2. 2018 焦作网络赛 L Poor God Water ( AC自动机构造矩阵、BM求线性递推、手动构造矩阵、矩阵快速幂 )

    题目链接 题意 : 实际上可以转化一下题意 要求求出用三个不同元素的字符集例如 { 'A' .'B' .'C' } 构造出长度为 n 且不包含 AAA.BBB CCC.ACB BCA.CAC CBC ...

  3. CodeForces 557C Arthur and Table STL的使用

    题意:一个桌子有n条腿,每条腿有一定的长度l,和砍下的花费w,现在规定,桌子稳的条件是长度最长的腿(可多个)的数量大于长度小于它的桌子腿数量,且不存在比他还长的桌子腿,求让桌子腿稳定的最小的花费 #i ...

  4. 多态:JVM是如何进行方法调用的

    在我们平时的工作学习中写java代码时,如果我们在同一个类中定义了两个方法名和参数类型都相同的方法时,编译器会直接报错给我们.还有在代码运行的时候,如果子类定义了一个与父类完全相同的方法的时候,父类的 ...

  5. HDU 3507 [Print Article]DP斜率优化

    题目大意 给定一个长度为\(n(n \leqslant 500000)\)的数列,将其分割为连续的若干份,使得 $ \sum ((\sum_{i=j}^kC_i) +M) $ 最小.其中\(C_i\) ...

  6. Github 已经托管超过 1000 万个项目库

    2013 年对 Github 来说是不可思议和富有成效的一年,几天前 Github.com 上托管的项目已经超过 1000 万. 在此之前,首个 100 万项目用了将近 4 年时间,具体是 3 年 8 ...

  7. phpexcel 导出数字类型字段导出错误或者为空解决办法 (原)

    跟我们写excel时候一样,手机号或者较长的数字类型,或被科学计数法和谐,但是如果类型是字符串,长一些的数字就不受影响了. 解决导出被和谐的最简单易懂的,就是最前面拼接‘ ’ 空格,或者字母符号之类, ...

  8. python学习之路(8)

    定义函数 在Python中,定义一个函数要使用def语句,依次写出函数名.括号.括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回. 我们以自定义一个求绝对值的my_ ...

  9. pandas mean 返回 inf

    In [12]: np.finfo(np.float16).max Out[12]: 65500.0 In [15]: df['a']=np.array([656]*100) In [16]: df[ ...

  10. leetcode-easy-listnode-88 Merge Sorted Array-NO

    mycode 不会........... 参考 思路:从后往前计算,这样不会覆盖nums1中的有效值 由于 You may assume that nums1 has enough space (si ...