2017-2018 ACM-ICPC Southeastern European Regional Programming Contest (SEERC 2017) 全靠 wxh的博客 补完这套.wxhtxdy! [A - Concerts] $f[i][k]$ 表示在第 $i$ 个位置刚好匹配了 $k$ 个字符.转移方程 $$ f[i][k] = \sum_{i - j > h[s[k - 1]]} f[j][k - 1] $$ 前缀和优化加滚动就行了. 好像可以直接用 $f[i][k]$ 表…
A:Concerts 题意:给出一个串T, 一个串S,求串S中有多少个串T,可以重复,但是两个字符间的距离要满足给出的数据要求 思路:先顺序统计第一个T中的字符在S中有多少个,然后对于第二位的以及后面的,我们从后面往前推,前缀和搞一搞,注意间距 #include<bits/stdc++.h> using namespace std; #define N 100010 typedef long long ll; ; ll sum[N]; char strN[N], strK[N]; int n,…
layout: post title: 2018-2019 ACM-ICPC Southeastern European Regional Programming Contest (SEERC 2018) author: "luowentaoaa" catalog: true tags: mathjax: true - codeforces B.Broken Watch 题解 先不考虑长度 长度不会影响会不会过中心. 如果长度相同 \(C_{n}^{3}\) 再减去不符合的再同一侧的.…
A. Numbers Unsolved. B. Broken Watch Solved. 题意: 一个圆盘上,有等分的n块区域,有三根指针,当三根指针分别位于两块区域的交界处时 指针的三点相连会形成一个三角形,求有多少个三角包含三指针的起点(即交汇处) 思路: #include<bits/stdc++.h> using namespace std; typedef unsigned long long ull; typedef long long ll; ll A, B, C, n; int…
题意:在二维坐标轴上给你一堆点,在x轴上找一个点,使得该点到其他点的最大距离最小. 题解:随便找几个点画个图,不难发现,答案具有凹凸性,有极小值,所以我们直接三分来找即可. 代码: int n; long double x[N],y[N]; long double check(long double s){ long double res=0; long double tmp; for(int i=1;i<=n;++i){ tmp=sqrt((s-x[i])*(s-x[i])+(y[i]*y[i…
题目链接  Codefores_Gym_101164 Solved  6/11 Penalty Problem A Problem B Problem C Problem D Problem E Problem F 预处理出一个pre数组 pre[i]表示i位字母数以内用掉多少个字母 然后就可以算出要计算的位置是第多少个字母数 最后就是转成26进制了 注意是没有0有26的26进制 #include<iostream> #include<cstdio> #include<cma…
A. Cakey McCakeFace 按题意模拟即可. #include<stdio.h> #include<iostream> #include<string.h> #include<string> #include<ctype.h> #include<math.h> #include<set> #include<map> #include<vector> #include<queue&g…
easy: I medium-easy: BDEGJ medium: F medium-hard: A A. B. 按 x 排序,\(dp[i][j][k]\) 表示考虑前 \(i\) 个物品,level 1 经验为 \(j\),level 2 经验为 \(j\) 最小花费时间. C. D. E. F. 考虑更 general 的情况. 给一个图,先手选择一个点删除之,然后轮流操作,每次删除一个和上一次删除的点相连的节点,不能操作的人输. 若存在完美匹配.先手必败,因为后手可以沿着完美匹配的边移…
A:Martadella Stikes Again 水. #include <bits/stdc++.h> using namespace std; #define ll long long int t; ll R, r; int main() { scanf("%d", &t); while (t--) { scanf("%lld%lld", &R, &r); if (R * R > 2ll * r * r) puts(&…
A. Within Arm's Reach 留坑. B. Bribing Eve 枚举经过$1$号点的所有直线,统计直线右侧的点数,旋转卡壳即可. 时间复杂度$O(n\log n)$. #include<cstdio> #include<algorithm> #include<cmath> using namespace std; const int N=2000010; const double eps=1e-7; int _,n,i,x,y,at_center,X,…