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的更多相关文章
随机推荐
- HashMap,HashTable 区别,实现原理。
HashMap是HashTable 的轻量级,非线程安全的,都是实现了map接口 区别:hashmap 允许空键值对的存在,非线程安全,效率高于hashtable,因为hashtable 是synch ...
- 论Java中的抽象类与接口
目录 抽象类和抽象方法 定义 与普通类的区别以及注意点: 抽象类的作用 接口 定义 示例 注意 作用 最后:接口与抽象类的异同 使用场景 借鉴 抽象类和抽象方法 定义 抽象方法和抽象类都必须被abst ...
- 使用Java实现简单的Http服务器
在Java中可以使用HttpServer类来实现Http服务器,该类位于com.sun.net包下(rt.jar).实现代码如下: 主程序类 package bg.httpserver; import ...
- restapi-sql
身份验证,确定该成员是交过费的机构的成员,包含(用户名)和(密码) 各个表中的属性,有关timetemp等特殊类型,LocalDate等日期等具体格式. 引入了传输过程的不同的数据格式导致的两个错误, ...
- Qt Installer Framework翻译(5-0)
创建安装程序 创建离线和在线安装程序,需要执行以下步骤: 为可安装组件创建一个package文件夹.有关更多信息,请参见包文件夹章节. 在config文件夹中创建一个名为config.xml的配置文件 ...
- spring boot 的中文乱码
首先 自检IDEA的编码 配置文件加入设置http tomcat spring.http.encoding.force=true spring.http.encoding.charset=UTF-8 ...
- 到头来还是逃不开Java - Java13程序基础
java程序基础 没有特殊说明,我的所有学习笔记都是从廖老师那里摘抄过来的,侵删 引言 兜兜转转到了大四,学过了C,C++,C#,Java,Python,学一门丢一门,到了最后还是要把Java捡起来. ...
- Thematic002.字符串专题
目录 Trie字典树 KMP AC自动机 Manacher 回文自动机 后缀数组 后缀自动机 Trie字典树 概念 我们先来看看什么是Trie字典树 可以发现,这棵树的每一条边都有一个字符 有一些点是 ...
- FluentData -Micro ORM with a fluent API that makes it simple to query a database
Code samples Create and initialize a DbContextThe connection string on the DbContext class can be in ...
- WinSCP整合SecureCRT打开终端
使用WinSCP直接操作文件非常方便,但是如果用它来连入SSH进行指令交互就不方便了,使用XShell.SecureCRT.Putty等SSH终端软件敲指令却很不错,于是想能不能将两者结合起来使用.我 ...