CODE FESTIVAL 2017 Final题解】的更多相关文章

传送门 \(A\) 咕咕 const int N=55; const char to[]={"AKIHABARA"}; char s[N];int n; int main(){ scanf("%s",s),n=strlen(s); R int i=0,j=0; for(;i<n;){ while(j<9&&s[i]!=to[j]&&to[j]=='A')++j; if(j>=9||s[i]!=to[j])return…
◇赛时-IV◇ CODE FESTIVAL 2017 Final □唠叨□ ①--浓浓的 Festival 气氛 ②看到这个比赛比较特别,我就看了一看--看到粉粉的界面突然开心,所以就做了一下 `(*∩_∩*)′ ③没想到这是大佬才能做的比赛 QwQ ④我发现我读题读了20多分钟-- □题目&解析□ ◇居然有水题◇A - AKIBA [Atcoder CF2017 Final A] [翻译] 你得到了一个长度小于等于50的字符串S. 高桥(某主人物)能够在这个字符串S的任何位置插入'A'任意多次…
A - AKIBA 模拟即可 代码 #include <bits/stdc++.h> #define fi first #define se second #define pii pair<int,int> #define pdi pair<db,int> #define mp make_pair #define pb push_back #define enter putchar('\n') #define space putchar(' ') #define eps…
传送门 \(A\) 什么玩意儿-- const char c[]={"snuke"}; char s[15];int n,m; int main(){ scanf("%d%d",&n,&m); fp(i,1,n)fp(j,1,m){ scanf("%s",s); bool flag=1; fp(k,0,4)if(s[k]!=c[k]){flag=0;break;} if(flag)return printf("%c%d\…
目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定 N 个点,第 i 点有一个点权 Xi,再给定一棵边带权的树,第 i 条 (Ai, Bi) 边权为 Ci. 构建一个完全图,完全图中边 (i, j) 的边权为 dist(i, j) + Xi + Xj,其中 dist(i, j) 是点 i 与点 j 在树上的距离. 求该完全图的最小生成树. Constraints 2≤N≤200000; 1≤Xi≤10^9;…
CODE FESTIVAL 2017 qual B C - 3 Steps 题意:给定一个n个结点m条边的无向图,若两点间走三步可以到,那么两点间可以直接连一条边,已经有边的不能连,问一共最多能连多少条边. 题解:其实我不知道二分图的实际算法,网上有人说这可以看成是否是二分图来做.    有人给出了个性质(没发现>_<):相邻奇数长度的两个点一定能连边 二分图就是一个图的结点分别在两个不相交的集合S,T中,且每条边都在两个集合中.(不严谨说法)如果是二分图,那么能连的边数就是|S|*|T|-m…
CODE FESTIVAL 2017 qual B B - Problem Set 确实水题,但当时没想到map,用sort后逐个比较解决的,感觉麻烦些,虽然效率高很多.map确实好写点. 用map: #include<iostream> #include<cstdio> #include<cstdlib> #include<map> using namespace std; map<int,int>mp; int main() { int n,…
[Atcoder Code Festival 2017 QualB/At3575] 101 to 010 有一个01序列,每次可以选出一个101,使其变成010,问最优策略下能操作几次? 考虑像 1111101 或者 1011111 这样的东西,它们最多能被操作的次数为长度-2 设\(l[i]\) 表示 \(i\) 左边第一个 \(0\) 的位置 设 \(f[i]\) 表示前缀的最大操作数 对于每个 \(a[i]=1\) 的位置,我们考虑进行转移 对于 \([i-2,i]\) 为 101 的情况…
题目:https://atcoder.jp/contests/code-festival-2017-qualb/tasks/code_festival_2017_qualb_d 题意:给一个 01 串,每次可以把 101 换成 010,问最多能换多少次 . 题解: 令 \(dp_i\) 表示 \(1\sim i\) 最多换多少次,记录一个 \(l_i\) 表示 \(i\) 左边最接近的 \(0\),\(r_i\) 表示 \(i\) 右边最接近的 \(0\),从而: \[dp_i=\max\beg…
补一发A的题解. A - Snuke's favorite YAKINIKU 题意: 输入字符串S,如果以YAKI开头输出Yes,否则输出No. #include<bits/stdc++.h> using namespace std; int main() { char s[20];cin>>s; int n=strlen(s); if(n<4)puts("No"); else { if(s[0]=='Y'&&s[1]=='A'&&…