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的更多相关文章
随机推荐
- linux installer os的驱动更新
installer os的驱动更新 linux系统可以简单的分为installer OS与运行时的OS,安装阶段识别不到硬件设备大概率因为installers OS版本较低,没有驱动来识别新的硬件,可 ...
- 【接口测试】使用httpClient获取cookies+携带获取的cookies访问get接口
数据准备 在本机或者远端机器安装部署moco-runner(参考:https://blog.csdn.net/qq_32706349/article/details/80472445) 这里我们只需要 ...
- 6.python在windows下用批处理文件在运行中输入程序名直接运行的方法
最近由于平时自由时间比较多,在看一本python入门书籍,在里面学习了一种用windows下的批处理文件在电脑运行界面中直接输入程序名称就可运行的方法,现将其详细说明如下: 1.首先编写一个教程上的程 ...
- 比特币学习笔记(二)---在windows下调试比特币源码
根据我一贯的学习经验,学习开源代码的话,单单看是不够的,必须一边看一边调试才能尽快理解,所以我们要想法搭建windows下bitcoin源码的调试环境. 紧接着昨天的进度,想要调试linux下的比特币 ...
- 【转】Eclipse快捷键指南
目录 1 编辑 2 查看 3 窗口 4 导航 5 搜索 6 文本编辑 7 文件 8 项目 9 源代码 10 运行 11 重构 12 修改快捷键 Eclipse快捷键,熟悉快捷键可以帮助开发事半功倍,节 ...
- 1z0-062 题库解析2
Examine the parameters for a database instance: NAME TYPE VALUE-------------------------------- ---- ...
- python条件判断语句
# 条件判断(if)语句: # 语法1: if 条件表达式 : 单行语句 # 语法2: if 条件表达式 : # 代码块(多行语句) # 执行的流程:if语句在执行时,会先对条件表达式进行求值判断, ...
- 基于 HTML5 WebGL 构建 3D 智能数字化城市全景
前言 自 2011 年我国城镇化率首次突破 50% 以来,<新型城镇化发展规划>将智慧城市列为我国城市发展的三大目标之一,并提出到 2020 年,建成一批特色鲜明的智慧城市.截至现今,全国 ...
- 最近发现Git的速度好慢
最近发现Git速度好慢,Git Bash要等5秒左右才能操作,网上查了查原因,说是火绒的问题,哎平时也用不到,看日志一个毒都没光顾过我电脑,火绒卸载! 卸了后果然快多了
- CheckStyle报错的常见问题及解决方式
CheckStyle报错的常见问题及解决方式 声明: 本文摘自百度文库.希望这篇文章提到的规范能对大家编程起到好的效果,此文不定期更新,将推出更加详尽的编程规范. 1 提示:Type is mis ...