Codeforces Beta Round #77 (Div. 2 Only)
Codeforces Beta Round #77 (Div. 2 Only)
http://codeforces.com/contest/96
A
#include<bits/stdc++.h>
using namespace std;
#define lson l,mid,rt<<1
#define rson mid+1,r,rt<<1|1
#define sqr(x) ((x)*(x))
#define pb push_back
#define eb emplace_back
#define maxn 13000005
#define eps 1e-8
#define pi acos(-1.0)
#define rep(k,i,j) for(int k=i;k<j;k++)
typedef long long ll;
typedef pair<int,int> pii;
typedef pair<char,int> pci;
typedef pair<pair<int,string>,pii> ppp;
typedef unsigned long long ull;
const long long MOD=1e9+;
/*#ifndef ONLINE_JUDGE
freopen("1.txt","r",stdin);
#endif */ int main(){
#ifndef ONLINE_JUDGE
// freopen("1.txt","r",stdin);
#endif
std::ios::sync_with_stdio(false);
string str;
cin>>str;
int co=;
vector<int>ve;
for(int i=;i<str.length();i++){
if(str[i]!=str[i-]){
ve.pb(co);
co=;
}
else{
co++;
}
}
ve.pb(co);
for(int i=;i<ve.size();i++){
if(ve[i]>=) {cout<<"YES"<<endl;return ;}
}
cout<<"NO"<<endl;
}
B
dfs+二分
#include<bits/stdc++.h>
using namespace std;
#define lson l,mid,rt<<1
#define rson mid+1,r,rt<<1|1
#define sqr(x) ((x)*(x))
#define pb push_back
#define eb emplace_back
#define maxn 13000005
#define eps 1e-8
#define pi acos(-1.0)
#define rep(k,i,j) for(int k=i;k<j;k++)
typedef long long ll;
typedef pair<int,int> pii;
typedef pair<char,int> pci;
typedef pair<pair<int,string>,pii> ppp;
typedef unsigned long long ull;
const long long MOD=1e9+;
/*#ifndef ONLINE_JUDGE
freopen("1.txt","r",stdin);
#endif */ ll n; set<ll>se;
map<ll,int>mp; void Check(ll num){
ll tmp=num;
int qi=,si=;
while(num){
if(num%==){
si++;
}
else if(num%==){
qi++;
}
num/=;
}
if(si==qi&&si>){
se.insert(tmp);
}
} void dfs(ll num){
if(num>n*||mp[num]) return;
mp[num]=;
Check(num);
dfs(num*+);
dfs(num*+);
} int main(){
#ifndef ONLINE_JUDGE
// freopen("1.txt","r",stdin);
#endif
std::ios::sync_with_stdio(false);
cin>>n;
dfs();
set<ll>::iterator it;
it=lower_bound(se.begin(),se.end(),n);
cout<<*it<<endl;
}
C
模拟
#include<bits/stdc++.h>
using namespace std;
#define lson l,mid,rt<<1
#define rson mid+1,r,rt<<1|1
#define sqr(x) ((x)*(x))
#define pb push_back
#define eb emplace_back
#define maxn 13000005
#define eps 1e-8
#define pi acos(-1.0)
#define rep(k,i,j) for(int k=i;k<j;k++)
typedef long long ll;
typedef pair<int,int> pii;
typedef pair<char,int> pci;
typedef pair<pair<int,string>,pii> ppp;
typedef unsigned long long ull;
const long long MOD=1e9+;
/*#ifndef ONLINE_JUDGE
freopen("1.txt","r",stdin);
#endif */
const int N = ;
string s[N], ss[N], w, ww;
bool vis[N];
char str;
string change(string x) {
for(int i = ; i < x.length(); i ++) {
if(x[i] >= 'A' && x[i] <= 'Z') x[i] += ;
}
return x;
} int main(){
#ifndef ONLINE_JUDGE
// freopen("1.txt","r",stdin);
#endif
std::ios::sync_with_stdio(false);
int n;
cin >> n;
for(int i = ; i < n; i ++) {
cin >> s[i];
ss[i] = change(s[i]);
}
cin >> w >> str;
ww = change(w);
if(str >= 'A' && str <= 'Z') str += ; int l = ww.length();
for(int i = ; i < l; i ++) {
for(int k = ; k < n; k ++) {
if(l-s[k].length() + >= i && ww.substr(i, ss[k].length()) == ss[k]) {
for(int j = i; j < i + ss[k].length(); j ++) vis[j] = ;
}
}
} for(int i = ; i < l; i ++) {
if(vis[i]) {
if(ww[i] == str) {
char tmp = 'a';
if(ww[i] == 'a') tmp = 'b'; if(w[i] >= 'A' && w[i] <= 'Z') w[i] = tmp - ;
else w[i] = tmp;
} else {
if(w[i] >= 'A' && w[i] <= 'Z') w[i] = str - ;
else w[i] = str;
}
}
}
cout << w << endl;
}
D
最短路 两次Dijstra 第一次构建以花费为权值的图,第二次跑最短路
#include<bits/stdc++.h>
using namespace std;
#define lson l,mid,rt<<1
#define rson mid+1,r,rt<<1|1
#define sqr(x) ((x)*(x))
#define pb push_back
#define eb emplace_back
#define maxn 13000005
#define eps 1e-8
#define pi acos(-1.0)
#define rep(k,i,j) for(int k=i;k<j;k++)
typedef long long ll;
typedef pair<int,int> pii;
typedef pair<long long,int>pli;
typedef pair<char,int> pci;
typedef pair<pair<int,string>,pii> ppp;
typedef unsigned long long ull;
const long long MOD=1e9+;
/*#ifndef ONLINE_JUDGE
freopen("1.txt","r",stdin);
#endif */ int n,m,s,t; vector<pli>G[],ve[];
vector<pli>a; long long dis[],vis[]; void dijstra1(int x){
for(int i=;i<=n;i++) dis[i]=0x3f3f3f3f3f3f3f3f,vis[i]=;
dis[x]=;
priority_queue<pli,vector<pli>,greater<pli>>Q;
Q.push({,x});
while(!Q.empty()){
pli p=Q.top();
Q.pop();
int v=p.second;
if(!vis[v]){
vis[v]=;
for(int i=;i<G[v].size();i++){
int vv=G[v][i].second;
long long dist=G[v][i].first+dis[v];
if(!vis[vv]&&dist<dis[vv]){
dis[vv]=dist;
Q.push({dis[vv],vv});
}
}
}
}
for(int i=;i<a.size();i++){
if(i!=x&&a[x].second>=dis[i]){
ve[x].pb({a[x].first,i});
}
}
} void dijstra2(int x,int t){
for(int i=;i<=n;i++) dis[i]=0x3f3f3f3f3f3f3f3f,vis[i]=;
dis[x]=;
priority_queue<pli,vector<pli>,greater<pli>>Q;
Q.push({,x});
while(!Q.empty()){
pli p=Q.top();
Q.pop();
int v=p.second;
if(!vis[v]){
vis[v]=;
for(int i=;i<ve[v].size();i++){
int vv=ve[v][i].second;
long long dist=ve[v][i].first+dis[v];
if(!vis[vv]&&dist<dis[vv]){
dis[vv]=dist;
Q.push({dis[vv],vv});
}
}
}
}
if(dis[t]==0x3f3f3f3f3f3f3f3f) cout<<-<<endl;
else cout<<dis[t]<<endl;
} int main(){
#ifndef ONLINE_JUDGE
// freopen("1.txt","r",stdin);
#endif
std::ios::sync_with_stdio(false);
cin>>n>>m>>s>>t;
int u,v;
long long c;
for(int i=;i<=m;i++){
cin>>u>>v>>c;
G[u].pb({c,v});
G[v].pb({c,u});
}
a.pb({,});
for(int i=;i<=n;i++){
cin>>u>>c;
a.pb({c,u});
}
for(int i=;i<=n;i++){
dijstra1(i);
}
dijstra2(s,t);
}
E
大数+数位DP
#include<bits/stdc++.h>
using namespace std;
#define lson l,mid,rt<<1
#define rson mid+1,r,rt<<1|1
#define sqr(x) ((x)*(x))
#define pb push_back
#define eb emplace_back
#define maxn 13000005
#define eps 1e-8
#define pi acos(-1.0)
#define rep(k,i,j) for(int k=i;k<j;k++)
typedef long long ll;
typedef pair<int,int> pii;
typedef pair<long long,int>pli;
typedef pair<char,int> pci;
typedef pair<pair<int,string>,pii> ppp;
typedef unsigned long long ull;
const long long mod=1e9+;
/*#ifndef ONLINE_JUDGE
freopen("1.txt","r",stdin);
#endif */
const int N=;
int digit[N];
ll dp[N][N][];
char l[N], r[N];
int k;
int dfs(int len, int p, bool flag, bool limit) {
if (len == ) return flag;
if (limit == && dp[len][p][flag] != -) return dp[len][p][flag];
int up = limit ? digit[len] : ;
int res = ;
rep(i, , up + ) {
if (i != && i != )
res = (res + dfs(len - , max(, p - ), flag, limit && i == up)) % mod;
else res = (res + dfs(len - , * k, flag || p, limit && i == up)) % mod;
}
if (!limit) dp[len][p][flag] = res;
return res;
}
void solve() {
int t;
memset(dp, -, sizeof dp);
scanf("%d%d", &t, &k);
while (t--) {
scanf("%s%s", l, r);
int len = strlen(r);
for(int i=len;i>=;i--) digit[i] = r[len - i] - '';
int ans = dfs(len, , , );
len = strlen(l);
for(int i=len;i>=;i--) digit[i] = l[len - i] - '';
digit[]--;
for (int i = ; digit[i] < ; i++) {
digit[i] += ;
digit[i + ]--;
}
if (digit[len] == ) len--;
ans = (ans - dfs(len, , , ) + mod) % mod;
printf("%d\n", ans);
}
} int main(){
#ifndef ONLINE_JUDGE
// freopen("1.txt","r",stdin);
#endif
std::ios::sync_with_stdio(false);
solve();
}
Codeforces Beta Round #77 (Div. 2 Only)的更多相关文章
- Codeforces Beta Round #77 (Div. 1 Only) C. Volleyball (最短路)
题目链接:http://codeforces.com/contest/95/problem/C 思路:首先dijkstra预处理出每个顶点到其他顶点的最短距离,然后如果该出租车到某个顶点的距离小于等于 ...
- codeforces水题100道 第二十三题 Codeforces Beta Round #77 (Div. 2 Only) A. Football (strings)
题目链接:http://www.codeforces.com/problemset/problem/96/A题意:判断一个0-1字符串中出现的最长的0字串或者1字串的长度是否大于等于7.C++代码: ...
- Codeforces Beta Round #77 (Div. 2 Only) A. Football【字符串/判断是否存在连续7个0或7个1】
A. Football time limit per test 2 seconds memory limit per test 256 megabytes input standard input o ...
- Codeforces Beta Round #80 (Div. 2 Only)【ABCD】
Codeforces Beta Round #80 (Div. 2 Only) A Blackjack1 题意 一共52张扑克,A代表1或者11,2-10表示自己的数字,其他都表示10 现在你已经有一 ...
- Codeforces Beta Round #83 (Div. 1 Only)题解【ABCD】
Codeforces Beta Round #83 (Div. 1 Only) A. Dorm Water Supply 题意 给你一个n点m边的图,保证每个点的入度和出度最多为1 如果这个点入度为0 ...
- Codeforces Beta Round #79 (Div. 2 Only)
Codeforces Beta Round #79 (Div. 2 Only) http://codeforces.com/contest/102 A #include<bits/stdc++. ...
- Codeforces Beta Round #76 (Div. 2 Only)
Codeforces Beta Round #76 (Div. 2 Only) http://codeforces.com/contest/94 A #include<bits/stdc++.h ...
- Codeforces Beta Round #75 (Div. 2 Only)
Codeforces Beta Round #75 (Div. 2 Only) http://codeforces.com/contest/92 A #include<iostream> ...
- Codeforces Beta Round #74 (Div. 2 Only)
Codeforces Beta Round #74 (Div. 2 Only) http://codeforces.com/contest/90 A #include<iostream> ...
随机推荐
- [转]講講 John Carmack 的快速反平方根演算法
講講 John Carmack 的快速反平方根演算法 原地址http://213style.blogspot.com/2014/07/john-carmack.html 本篇的主題很簡單,講講怎麼快 ...
- [转] golang socket
server.go package main import ( "net" "fmt" "io/ioutil" "time&quo ...
- 企业微信二次开发之-如何获取secret序列号
第一步:登录JEEWX后台,配置微信企业号账号信息(企业号.企业号应用) [1].配置企业微信信息 参数对应位置参考如下: [2].配置应用信息 必须四字段: 第二步: 登录企业微信后台,配置企业号应 ...
- android的特点有哪些
android拥有完善的应用程序框架,支持4大应用组件activity,service,contentProvider,broadcast,可以在任意层次上进行复用和更换: android中java字 ...
- netty ChannelOption
项目中用到很多netty,配置了各种不同的ChannelOption优化项,不同的配置对于在高并发情况下的性能有不小的影响 首先看下全部项目,参考下这篇文章,虽然不全 https://www.cnbl ...
- VULKAN学习资料收集
https://github.com/vinjn/awesome-vulkan 张静初 https://zhuanlan.zhihu.com/p/24798656 知乎 https://develop ...
- centos7下找不到iptables文件
最近在centos7下,搭建ftp服务,按照步骤一步一步来,发现 etc/sysconfig/iptables这个文件并不存在,然后去找解决方案, 原文地址:http://blog.csdn.net/ ...
- pip安装提示PermissionError: [WinError 5]错误问题解决
操作环境 Python3.6 + Winodws7 问题现象 新安装python3.6版本后使用pip安装第三方模块失败,报错信息如下: C:\Users\linyfeng>pip inst ...
- openvas开放式漏洞评估系统
OpenVAS是开放式漏洞评估系统,也可以说它是一个包含着相关工具的网络扫描器.其核心部件是一个服务器,包括一套网络漏洞测试程序,可以检测远程系统和应用程序中的安全问题. 用户需要一种自动测试的方法, ...
- JS计算滚动条的宽度
1.此方法检验成功 function getScrollbarWidth() { var oP = document.createElement('p'), styles = { width: '10 ...