Codeforces_828
A.模拟,注意单人的时候判断顺序。
#include<bits/stdc++.h>
using namespace std; int n,a,b; int main()
{
ios::sync_with_stdio();
cin >> n >> a >> b;
int b1 = b,b2 = ,ans = ;
for(int i = ;i <= n;i++)
{
int x;
cin >> x;
if(x == )
{
if(a) a--;
else if(b1)
{
b1--;
b2++;
}
else if(b2) b2--;
else ans++;
}
else
{
if(b1) b1--;
else ans += ;
}
}
cout << ans << endl;
return ;
}
B.对于每个B点,更新最极端边界,确定最后的长宽,注意不用涂和不成立的情况。
#include<bits/stdc++.h>
using namespace std; int n,m;
string s[]; int main()
{
ios::sync_with_stdio();
cin >> n >> m;
for(int i = ;i <= n;i++)
{
cin >> s[i];
s[i] = ' '+s[i];
}
int l = ,r = ,h = ,d = ,cnt = ;
for(int i = ;i <= n;i++)
{
for(int j = ;j <= m;j++)
{
if(s[i][j] == 'W') continue;
cnt++;
l = min(l,j);
r = max(r,j);
h = max(h,i);
d = min(d,i);
}
}
int ans = max(r-l+,h-d+);
if(ans <= )
{
cout << << endl;
return ;
}
if(ans > n || ans > m)
{
cout << - << endl;
return ;
}
cout << ans*ans-cnt << endl;
return ;
}
C.对于每一个串,选择更后面的起点更新。
#include<bits/stdc++.h>
using namespace std; char a[] = "";
int n; int main()
{
ios::sync_with_stdio();
cin >> n;
int len = ;
while(n--)
{
string s;
int x,now = ;
cin >> s >> x;
while(x--)
{
int xx;
cin >> xx;
int i = max(now,xx);
for(int j = i-xx;j < s.length();i++,j++)
{
len = max(len,i);
a[i] = s[j];
}
now = max(now,i);
}
}
for(int i = ;i <= len;i++)
{
if(a[i]) cout << a[i];
else cout << 'a';
}
cout << endl;
return ;
}
D.从一点个拉出k条链来,每条链长度尽可能相等。
#include<bits/stdc++.h>
using namespace std; int n,k; int main()
{
ios::sync_with_stdio();
cin >> n >> k;
int t = n-k-;
if(t%k == ) cout << +t/k* << endl;
else if(t%k == ) cout << +t/k*+ << endl;
else cout << +t/k*+ << endl;
int i;
for(i = n-;i >= max(n-k,);i--) cout << n << " " << i << endl;
for(;i >= ;i--) cout << i+k << " " << i << endl;
return ;
}
E.因为询问的串长最多为10,我们可以每个字母对应的长度都开个树状数组。
#include<bits/stdc++.h>
using namespace std; string s;
int q,tree[][][][] = {};
map<char,int> mp; inline int lowbit(int x)
{
return x&-x;
} void add(int x,int y,int z,int pos,int xx)
{
while(pos < s.length())
{
tree[x][y][z][pos] += xx;
pos += lowbit(pos);
}
} int getsum(int x,int y,int z,int pos)
{
int sum = ;
while(pos > )
{
sum += tree[x][y][z][pos];
pos -= lowbit(pos);
}
return sum;
} int main()
{
ios::sync_with_stdio();
cin >> s >> q;
s = ' '+s;
mp['A'] = ;
mp['G'] = ;
mp['C'] = ;
mp['T'] = ;
for(int i = ;i < s.length();i++)
{
for(int j = ;j <= ;j++) add(mp[s[i]],i%j,j,i,);
}
while(q--)
{
int x;
cin >> x;
if(x == )
{
string ss;
cin >> x >> ss;
for(int i = ;i <= ;i++) add(mp[s[x]],x%i,i,x,-);
for(int i = ;i <= ;i++) add(mp[ss[]],x%i,i,x,);
s[x] = ss[];
}
else
{
int l,r;
string ss;
cin >> l >> r >> ss;
int sum = ;
for(int i = ;i < ss.length()&&l+i <= r;i++) sum += getsum(mp[ss[i]],(l+i)%ss.length(),ss.length(),r)-getsum(mp[ss[i]],(l+i)%ss.length(),ss.length(),l-);
cout << sum << endl;
}
}
return ;
}
Codeforces_828的更多相关文章
随机推荐
- spring cloud微服务快速教程之(三)声明式访问Feign、负载均衡Ribbon
0-前言 eureka实际上已经集成了负载均衡调度框架Ribbon: 我们有了各个微服务了,那怎么来调用他们呢,一种方法是可以使用 RestTemplate(如:String str= restTem ...
- 为什么样本方差的分母是n-1?为什么它又叫做无偏估计?
为什么样本方差的分母是n-1?最简单的原因,是因为因为均值已经用了n个数的平均来做估计在求方差时,只有(n-1)个数和均值信息是不相关的.而你的第n个数已经可以由前(n-1)个数和均值 来唯一确定,实 ...
- 解决Maven项目中的无故报错的方法
解决Eclipse+maven中的无故报错 错误: One or more constraints have not been satisfied. Deployment Assembly跟java版 ...
- 【5min+】 秋名山的竞速。 ValueTask 和 Task
系列介绍 简介 [五分钟的dotnet]是一个利用您的碎片化时间来学习和丰富.net知识的博文系列.它所包含了.net体系中可能会涉及到的方方面面,比如C#的小细节,AspnetCore,微服务中的. ...
- P3369 【模板】普通平衡树 01Trie树
P3369 [模板]普通平衡树 题目描述 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作: 插入xx数 删除xx数(若有多个相同的数,因只删除一个) 查询xx数的排名(排名 ...
- 继承Exception⭐⭐
public class ECOrderException : Exception { //第一种类型: throw new ECOrderException { ErrorCode = " ...
- pycharm 连接mysql失败
1.下载与之对应的驱动 2.更改数据库的时区(问题大多数出现在这里) .查看时区 show variables like '%time_zone%'; .设置时区 set global time_zo ...
- mysql中更改字符集为utf8&&mysql中文输入不了问题解决
写给TT:对不起啦!! 嗯,输入不了中文,大多数问题是mysql的字符集设置的问题,当然,别的问题也有可能, 这里我们用两种方法设置mysql的字符集,图形化工具和命令行的方式(一种操作完即可) 一, ...
- docker创建mysql容器,并挂载数据+配置
新建:/my/mysql/my.cnf (准备挂载配置文件用) 将以下内容拷贝进去(或者启动一个docker的mysql,并且把/etc/mysql/my.cnf中的内容拷贝出来) # Copyrig ...
- Python通过win32 com接口实现offic自动化
最近几天通过Python做一些自动生成office报表的东东,比如解析.xml文件,导出.html/WORD/PPT等格式,html不足一提,只需要简单的html静态网页知识即可,这儿要说的是怎么生成 ...