Codeforces 542A Place Your Ad Here】的更多相关文章

Place Your Ad Here 把没用的第一类区间去掉之后, 排序, 然后枚举第二类区间, 在上面死命二分就好了. #include<bits/stdc++.h> #define LL long long #define fi first #define se second #define mk make_pair #define PLL pair<LL, LL> #define PLI pair<LL, int> #define PII pair<int,…
[题目链接]:http://codeforces.com/contest/803/problem/D [题意] 给你一个字符串; 其中的空格和连字符表示可以折叠的部分 (就是说能在那个位置把字符串分成两部分,且和两部分分到两行去); 这个操作能够使得原字符串不断变小; 问你最后获得的所有字符串(可能分裂成了多个,所以是"所有")中最长的那个最短能够是多少; (这个操作最多只能操作k次) [题解] 二分答案; 枚举最后那个最长的长度是多少x; 现在,相当于让你最多切k-1刀; 使得k个部…
我凉了..感觉自己啥都不会做,搞不好起床就绿了啊 代码和反思起床补,今天要反了个大思的 A. Another One Bites The Dust 把所有的ab排在一起然后两边叉a和b #include<iostream> #include<cstdio> #include<algorithm> #include<cmath> #include<cstring> #include<string> #include<stack&g…
A. Vasya And Password 模拟题,将所缺的种类依次填入"出现次数$ >1 $"的位置,替换掉Ta即可. #include <iostream> #include <cstdio> #include <cstring> using namespace std; const int N = 110; char str[N]; int sum[3][N], n; int inline get(char x){ if(x <=…
A. Function Height 由于只能提升\(x\)为奇数的点,每个三角形的底一定为\(2\), 则要求我们求: \(2 * (h_1 + h_2 + - + h_n) / 2 = k\),使\(max(h_1, h_2-h_n)\)最小. 则应使每个\(h\)平摊重量,答案即为\(\lceil n/k \rceil\). #include <cstdio> #include <iostream> #include <cmath> typedef long lo…
A. Death Note 简单模拟,可用\(\%\)和 \(/\)来减少代码量 #include <iostream> #include <cstdio> using namespace std; const int N = 200010; int n, m, a[N], cnt = 0, tot = 0; int main(){ scanf("%d%d", &n, &m); for(int i = 1; i <= n; i++){ sc…
A. Inscribed Figures 分类讨论打表即可. PS:这道题翻译有歧义. 这样稍微翻转一下,就可以是\(7\)个交点呀...(大概是我没看英文题干导致的惨案) #include <cstdio> #include <iostream> using namespace std; const int N = 110; int n, a[N], ans = 0; int d[3][3]{ {-1, 3, 4}, {3, -1, -1}, {4, -1, -1} }; int…
A. Digits Sequence Dividing 注意特殊情况,在\(n = 2\)时除非\(str[1] >= str[2]\),否则可以把第一个数划分下来,剩下的数直接当成一组,一定满足条件. #include <cstdio> #include <iostream> #include <string> using namespace std; const int N = 310; int n; char s[N]; int main(){ int T;…
A. Find Divisible 符合条件的区间一定可以选择\(l, l * 2\). 证明\(l * 2 <= r\) 假设存在一组解,\(x, x * d (l <= x <= r, 2 <=d )\). 因为必定满足条件则:\(l * 2 <= l * d <= x * d <= r\). #include <cstdio> #include <iostream> using namespace std; int main(){ i…
A. Dice Rolling 把\(x\)分解为\(a * 6 + b\),其中\(a\)是满6数,\(b\)满足\(1 <= b < 6\),即可... #include <iostream> #include <cstdio> using namespace std; int main(){ int T; scanf("%d", &T); while(T--){ int x; scanf("%d", &x);…